// This file is generated automatically by Next.js
// Do not edit this file manually
// This file validates that all pages and layouts export the correct types

import type { AppRoutes, LayoutRoutes, ParamMap, AppRouteHandlerRoutes } from "./routes.js"
import type { ResolvingMetadata, ResolvingViewport } from "next/types.js"
import type { NextRequest } from 'next/server.js'

type AppPageConfig<Route extends AppRoutes = AppRoutes> = {
  default: React.ComponentType<{ params: Promise<ParamMap[Route]> } & any> | ((props: { params: Promise<ParamMap[Route]> } & any) => React.ReactNode | Promise<React.ReactNode> | never | void | Promise<void>)
  generateStaticParams?: (props: { params: ParamMap[Route] }) => Promise<any[]> | any[]
  generateMetadata?: (
    props: { params: Promise<ParamMap[Route]> } & any,
    parent: ResolvingMetadata
  ) => Promise<any> | any
  generateViewport?: (
    props: { params: Promise<ParamMap[Route]> } & any,
    parent: ResolvingViewport
  ) => Promise<any> | any
  metadata?: any
  viewport?: any
}

type LayoutConfig<Route extends LayoutRoutes = LayoutRoutes> = {
  default: React.ComponentType<LayoutProps<Route>> | ((props: LayoutProps<Route>) => React.ReactNode | Promise<React.ReactNode> | never | void | Promise<void>)
  generateStaticParams?: (props: { params: ParamMap[Route] }) => Promise<any[]> | any[]
  generateMetadata?: (
    props: { params: Promise<ParamMap[Route]> } & any,
    parent: ResolvingMetadata
  ) => Promise<any> | any
  generateViewport?: (
    props: { params: Promise<ParamMap[Route]> } & any,
    parent: ResolvingViewport
  ) => Promise<any> | any
  metadata?: any
  viewport?: any
}

type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRoutes> = {
  GET?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
  POST?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
  PUT?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
  PATCH?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
  DELETE?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
  HEAD?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
  OPTIONS?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
}


// Validate ../../src/app/(dashboard)/corrections/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/corrections">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/corrections/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/dashboard/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/dashboard">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/dashboard/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/profile/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/profile">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/profile/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/results/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/results">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/results/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/tests/[id]/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/tests/[id]">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/tests/[id]/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/tests/[id]/summary/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/tests/[id]/summary">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/tests/[id]/summary/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/tests/ended/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/tests/ended">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/tests/ended/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/tests/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/tests">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/tests/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(auth)/login/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/login">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(auth)/login/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/classes/[id]/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/classes/[id]">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/classes/[id]/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/classes/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/classes">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/classes/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/courses/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/courses">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/courses/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/dashboard/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/dashboard">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/dashboard/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/exam/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/exam">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/exam/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/notifications/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/notifications">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/notifications/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/profile/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/profile">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/profile/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/questions/[id]/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/questions/[id]">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/questions/[id]/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/questions/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/questions">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/questions/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/results/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/results">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/results/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/settings/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/settings">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/settings/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/students/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/students">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/students/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/teachers/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/teachers">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/teachers/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/tests/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/tests">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/tests/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/attempt/[sessionId]/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/attempt/[sessionId]">> = Specific
  const handler = {} as typeof import("../../src/app/attempt/[sessionId]/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/attempt/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/attempt">> = Specific
  const handler = {} as typeof import("../../src/app/attempt/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/">> = Specific
  const handler = {} as typeof import("../../src/app/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/api/auth/logout/route.ts
{
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/auth/logout">> = Specific
  const handler = {} as typeof import("../../src/app/api/auth/logout/route.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/api/auth/set-auth-cookie/route.ts
{
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/auth/set-auth-cookie">> = Specific
  const handler = {} as typeof import("../../src/app/api/auth/set-auth-cookie/route.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/api/auth/status/route.ts
{
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/auth/status">> = Specific
  const handler = {} as typeof import("../../src/app/api/auth/status/route.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}





// Validate ../../src/app/(dashboard)/dashboard/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/dashboard">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/dashboard/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/profile/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/profile">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/profile/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/results/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/results">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/results/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/tests/[id]/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/tests/[id]">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/tests/[id]/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/tests/[id]/summary/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/tests/[id]/summary">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/tests/[id]/summary/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/(dashboard)/tests/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/tests">> = Specific
  const handler = {} as typeof import("../../src/app/(dashboard)/tests/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(auth)/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/admin">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(auth)/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/admin/(dashboard)/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/admin">> = Specific
  const handler = {} as typeof import("../../src/app/admin/(dashboard)/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/attempt/[sessionId]/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/attempt/[sessionId]">> = Specific
  const handler = {} as typeof import("../../src/app/attempt/[sessionId]/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/attempt/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/attempt">> = Specific
  const handler = {} as typeof import("../../src/app/attempt/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

// Validate ../../src/app/layout.tsx
{
  type __IsExpected<Specific extends LayoutConfig<"/">> = Specific
  const handler = {} as typeof import("../../src/app/layout.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}
