// This file is generated automatically by Next.js
// Do not edit this file manually

type AppRoutes = "/" | "/about" | "/admin" | "/admin/admission-requests" | "/admin/blog" | "/admin/centers" | "/admin/colleges" | "/admin/dashboard" | "/admin/events" | "/admin/faculty" | "/admin/faq" | "/admin/media" | "/admin/news" | "/admin/offers" | "/admin/pages" | "/admin/partners" | "/admin/projects" | "/admin/roles" | "/admin/settings" | "/admin/users" | "/admission" | "/alumni" | "/blog" | "/blog/[id]" | "/campus-life" | "/campus-life/[slug]" | "/centers" | "/centers/[id]" | "/colleges" | "/colleges/[id]" | "/colleges/[id]/programs/[programId]" | "/contact" | "/doctor-dashboard" | "/e-learning" | "/email-request" | "/events" | "/events/[slug]" | "/faculty" | "/faculty/[id]" | "/forgot-password" | "/links" | "/login" | "/news" | "/news/[slug]" | "/offers" | "/offers/[id]" | "/partners" | "/projects-studio" | "/projects-studio/[slug]" | "/research" | "/research/articles" | "/research/articles/[id]" | "/research/journal" | "/search" | "/student-dashboard"
type AppRouteHandlerRoutes = "/api/blog" | "/api/blog/[id]" | "/api/centers" | "/api/centers/[id]" | "/api/colleges" | "/api/colleges/[id]" | "/api/colleges/[id]/programs/[programId]" | "/api/contact" | "/api/events" | "/api/events/[slug]" | "/api/faculty" | "/api/faculty/[id]" | "/api/health" | "/api/home" | "/api/news" | "/api/news/[slug]" | "/api/offers" | "/api/offers/[id]" | "/api/search" | "/api/smartchat"
type PageRoutes = never
type LayoutRoutes = "/" | "/admin"
type RedirectRoutes = never
type RewriteRoutes = never
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes


interface ParamMap {
  "/": {}
  "/about": {}
  "/admin": {}
  "/admin/admission-requests": {}
  "/admin/blog": {}
  "/admin/centers": {}
  "/admin/colleges": {}
  "/admin/dashboard": {}
  "/admin/events": {}
  "/admin/faculty": {}
  "/admin/faq": {}
  "/admin/media": {}
  "/admin/news": {}
  "/admin/offers": {}
  "/admin/pages": {}
  "/admin/partners": {}
  "/admin/projects": {}
  "/admin/roles": {}
  "/admin/settings": {}
  "/admin/users": {}
  "/admission": {}
  "/alumni": {}
  "/api/blog": {}
  "/api/blog/[id]": { "id": string; }
  "/api/centers": {}
  "/api/centers/[id]": { "id": string; }
  "/api/colleges": {}
  "/api/colleges/[id]": { "id": string; }
  "/api/colleges/[id]/programs/[programId]": { "id": string; "programId": string; }
  "/api/contact": {}
  "/api/events": {}
  "/api/events/[slug]": { "slug": string; }
  "/api/faculty": {}
  "/api/faculty/[id]": { "id": string; }
  "/api/health": {}
  "/api/home": {}
  "/api/news": {}
  "/api/news/[slug]": { "slug": string; }
  "/api/offers": {}
  "/api/offers/[id]": { "id": string; }
  "/api/search": {}
  "/api/smartchat": {}
  "/blog": {}
  "/blog/[id]": { "id": string; }
  "/campus-life": {}
  "/campus-life/[slug]": { "slug": string; }
  "/centers": {}
  "/centers/[id]": { "id": string; }
  "/colleges": {}
  "/colleges/[id]": { "id": string; }
  "/colleges/[id]/programs/[programId]": { "id": string; "programId": string; }
  "/contact": {}
  "/doctor-dashboard": {}
  "/e-learning": {}
  "/email-request": {}
  "/events": {}
  "/events/[slug]": { "slug": string; }
  "/faculty": {}
  "/faculty/[id]": { "id": string; }
  "/forgot-password": {}
  "/links": {}
  "/login": {}
  "/news": {}
  "/news/[slug]": { "slug": string; }
  "/offers": {}
  "/offers/[id]": { "id": string; }
  "/partners": {}
  "/projects-studio": {}
  "/projects-studio/[slug]": { "slug": string; }
  "/research": {}
  "/research/articles": {}
  "/research/articles/[id]": { "id": string; }
  "/research/journal": {}
  "/search": {}
  "/student-dashboard": {}
}


export type ParamsOf<Route extends Routes> = ParamMap[Route]

interface LayoutSlotMap {
  "/": never
  "/admin": never
}


export type { AppRoutes, PageRoutes, LayoutRoutes, RedirectRoutes, RewriteRoutes, ParamMap, AppRouteHandlerRoutes }

declare global {
  /**
   * Props for Next.js App Router page components
   * @example
   * ```tsx
   * export default function Page(props: PageProps<'/blog/[slug]'>) {
   *   const { slug } = await props.params
   *   return <div>Blog post: {slug}</div>
   * }
   * ```
   */
  interface PageProps<AppRoute extends AppRoutes> {
    params: Promise<ParamMap[AppRoute]>
    searchParams: Promise<Record<string, string | string[] | undefined>>
  }

  /**
   * Props for Next.js App Router layout components
   * @example
   * ```tsx
   * export default function Layout(props: LayoutProps<'/dashboard'>) {
   *   return <div>{props.children}</div>
   * }
   * ```
   */
  type LayoutProps<LayoutRoute extends LayoutRoutes> = {
    params: Promise<ParamMap[LayoutRoute]>
    children: React.ReactNode
  } & {
    [K in LayoutSlotMap[LayoutRoute]]: React.ReactNode
  }

  /**
   * Context for Next.js App Router route handlers
   * @example
   * ```tsx
   * export async function GET(request: NextRequest, context: RouteContext<'/api/users/[id]'>) {
   *   const { id } = await context.params
   *   return Response.json({ id })
   * }
   * ```
   */
  interface RouteContext<AppRouteHandlerRoute extends AppRouteHandlerRoutes> {
    params: Promise<ParamMap[AppRouteHandlerRoute]>
  }
}
