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

type AppRoutes = "/" | "/auth/login" | "/auth/login/callback" | "/auth/register" | "/dashboard" | "/dashboard/[...not-found]" | "/dashboard/administrasi-guru" | "/dashboard/administrasi-guru/cp-fase" | "/dashboard/administrasi-guru/cp-fase/[cpFaseId]/elements" | "/dashboard/administrasi-guru/cp-fase/[cpFaseId]/elements/[elementId]/tp" | "/dashboard/administrasi-guru/cp-fase/[cpFaseId]/elements/[elementId]/tp/[tpId]/atp" | "/dashboard/guru" | "/dashboard/guru/materi" | "/dashboard/guru/materi/[id]/edit" | "/dashboard/guru/materi/create" | "/dashboard/guru/penilaian" | "/dashboard/guru/penilaian/[id]" | "/dashboard/jadwal-mengajar" | "/dashboard/jurusan" | "/dashboard/mapel" | "/dashboard/mutasi-siswa" | "/dashboard/pengumuman" | "/dashboard/pengumuman/create" | "/dashboard/profile" | "/dashboard/rombel" | "/dashboard/setting-sekolah" | "/dashboard/siswa" | "/dashboard/siswa/absensi" | "/dashboard/siswa/ijin" | "/dashboard/siswa/materi" | "/dashboard/siswa/materi/[id]" | "/dashboard/siswa/nilai" | "/dashboard/skl" | "/dashboard/users" | "/dashboard/walikelas" | "/pengumuman" | "/print/skl/[id]" | "/skl"
type AppRouteHandlerRoutes = "/api/absensi" | "/api/administrasi-guru/atp" | "/api/administrasi-guru/atp/[id]" | "/api/administrasi-guru/cp-element" | "/api/administrasi-guru/cp-element/[id]" | "/api/administrasi-guru/cp-fase" | "/api/administrasi-guru/cp-fase/[id]" | "/api/administrasi-guru/tp" | "/api/administrasi-guru/tp/[id]" | "/api/auth/change-password" | "/api/auth/login" | "/api/auth/logout" | "/api/auth/register" | "/api/auth/verify" | "/api/dashboard/guru" | "/api/dashboard/stats" | "/api/ekbm/alur-tp" | "/api/ekbm/alur-tp/[id]" | "/api/ekbm/asesmen" | "/api/ekbm/asesmen/[id]" | "/api/ekbm/capaian-pembelajaran" | "/api/ekbm/capaian-pembelajaran/[id]" | "/api/ekbm/modul-ajar" | "/api/ekbm/modul-ajar/[id]" | "/api/ekbm/p5/kelompok" | "/api/ekbm/p5/projek" | "/api/ekbm/p5/projek/[id]" | "/api/ekbm/p5/tema" | "/api/ekbm/tujuan-pembelajaran" | "/api/ekbm/tujuan-pembelajaran/[id]" | "/api/guru" | "/api/guru/[id]" | "/api/guru/[id]/generate-account" | "/api/guru/import" | "/api/guru/materi" | "/api/guru/materi/[id]" | "/api/guru/penilaian" | "/api/guru/penilaian/[id]" | "/api/guru/penilaian/[id]/nilai" | "/api/jadwal-mengajar" | "/api/jadwal-mengajar/[id]" | "/api/jurusan" | "/api/jurusan/[id]" | "/api/jurusan/import" | "/api/kelas" | "/api/mapel" | "/api/mapel/[id]" | "/api/mapel/import" | "/api/me/siswa" | "/api/rombel" | "/api/rombel/[id]" | "/api/rombel/import" | "/api/rombel/tingkat" | "/api/school" | "/api/setting-sekolah" | "/api/siswa" | "/api/siswa/[id]" | "/api/siswa/absensi" | "/api/siswa/export" | "/api/siswa/import" | "/api/siswa/materi" | "/api/siswa/materi/[id]" | "/api/siswa/mutasi" | "/api/siswa/nilai-harian" | "/api/siswa/schedule" | "/api/skl/settings" | "/api/skl/students" | "/api/skl/upload" | "/api/upload" | "/api/users" | "/api/users/[id]" | "/api/users/generate-siswa" | "/api/walikelas"
type PageRoutes = never
type LayoutRoutes = "/" | "/auth" | "/dashboard"
type RedirectRoutes = never
type RewriteRoutes = never
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes


interface ParamMap {
  "/": {}
  "/api/absensi": {}
  "/api/administrasi-guru/atp": {}
  "/api/administrasi-guru/atp/[id]": { "id": string; }
  "/api/administrasi-guru/cp-element": {}
  "/api/administrasi-guru/cp-element/[id]": { "id": string; }
  "/api/administrasi-guru/cp-fase": {}
  "/api/administrasi-guru/cp-fase/[id]": { "id": string; }
  "/api/administrasi-guru/tp": {}
  "/api/administrasi-guru/tp/[id]": { "id": string; }
  "/api/auth/change-password": {}
  "/api/auth/login": {}
  "/api/auth/logout": {}
  "/api/auth/register": {}
  "/api/auth/verify": {}
  "/api/dashboard/guru": {}
  "/api/dashboard/stats": {}
  "/api/ekbm/alur-tp": {}
  "/api/ekbm/alur-tp/[id]": { "id": string; }
  "/api/ekbm/asesmen": {}
  "/api/ekbm/asesmen/[id]": { "id": string; }
  "/api/ekbm/capaian-pembelajaran": {}
  "/api/ekbm/capaian-pembelajaran/[id]": { "id": string; }
  "/api/ekbm/modul-ajar": {}
  "/api/ekbm/modul-ajar/[id]": { "id": string; }
  "/api/ekbm/p5/kelompok": {}
  "/api/ekbm/p5/projek": {}
  "/api/ekbm/p5/projek/[id]": { "id": string; }
  "/api/ekbm/p5/tema": {}
  "/api/ekbm/tujuan-pembelajaran": {}
  "/api/ekbm/tujuan-pembelajaran/[id]": { "id": string; }
  "/api/guru": {}
  "/api/guru/[id]": { "id": string; }
  "/api/guru/[id]/generate-account": { "id": string; }
  "/api/guru/import": {}
  "/api/guru/materi": {}
  "/api/guru/materi/[id]": { "id": string; }
  "/api/guru/penilaian": {}
  "/api/guru/penilaian/[id]": { "id": string; }
  "/api/guru/penilaian/[id]/nilai": { "id": string; }
  "/api/jadwal-mengajar": {}
  "/api/jadwal-mengajar/[id]": { "id": string; }
  "/api/jurusan": {}
  "/api/jurusan/[id]": { "id": string; }
  "/api/jurusan/import": {}
  "/api/kelas": {}
  "/api/mapel": {}
  "/api/mapel/[id]": { "id": string; }
  "/api/mapel/import": {}
  "/api/me/siswa": {}
  "/api/rombel": {}
  "/api/rombel/[id]": { "id": string; }
  "/api/rombel/import": {}
  "/api/rombel/tingkat": {}
  "/api/school": {}
  "/api/setting-sekolah": {}
  "/api/siswa": {}
  "/api/siswa/[id]": { "id": string; }
  "/api/siswa/absensi": {}
  "/api/siswa/export": {}
  "/api/siswa/import": {}
  "/api/siswa/materi": {}
  "/api/siswa/materi/[id]": { "id": string; }
  "/api/siswa/mutasi": {}
  "/api/siswa/nilai-harian": {}
  "/api/siswa/schedule": {}
  "/api/skl/settings": {}
  "/api/skl/students": {}
  "/api/skl/upload": {}
  "/api/upload": {}
  "/api/users": {}
  "/api/users/[id]": { "id": string; }
  "/api/users/generate-siswa": {}
  "/api/walikelas": {}
  "/auth": {}
  "/auth/login": {}
  "/auth/login/callback": {}
  "/auth/register": {}
  "/dashboard": {}
  "/dashboard/[...not-found]": { "not-found": string[]; }
  "/dashboard/administrasi-guru": {}
  "/dashboard/administrasi-guru/cp-fase": {}
  "/dashboard/administrasi-guru/cp-fase/[cpFaseId]/elements": { "cpFaseId": string; }
  "/dashboard/administrasi-guru/cp-fase/[cpFaseId]/elements/[elementId]/tp": { "cpFaseId": string; "elementId": string; }
  "/dashboard/administrasi-guru/cp-fase/[cpFaseId]/elements/[elementId]/tp/[tpId]/atp": { "cpFaseId": string; "elementId": string; "tpId": string; }
  "/dashboard/guru": {}
  "/dashboard/guru/materi": {}
  "/dashboard/guru/materi/[id]/edit": { "id": string; }
  "/dashboard/guru/materi/create": {}
  "/dashboard/guru/penilaian": {}
  "/dashboard/guru/penilaian/[id]": { "id": string; }
  "/dashboard/jadwal-mengajar": {}
  "/dashboard/jurusan": {}
  "/dashboard/mapel": {}
  "/dashboard/mutasi-siswa": {}
  "/dashboard/pengumuman": {}
  "/dashboard/pengumuman/create": {}
  "/dashboard/profile": {}
  "/dashboard/rombel": {}
  "/dashboard/setting-sekolah": {}
  "/dashboard/siswa": {}
  "/dashboard/siswa/absensi": {}
  "/dashboard/siswa/ijin": {}
  "/dashboard/siswa/materi": {}
  "/dashboard/siswa/materi/[id]": { "id": string; }
  "/dashboard/siswa/nilai": {}
  "/dashboard/skl": {}
  "/dashboard/users": {}
  "/dashboard/walikelas": {}
  "/pengumuman": {}
  "/print/skl/[id]": { "id": string; }
  "/skl": {}
}


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

interface LayoutSlotMap {
  "/": never
  "/auth": never
  "/dashboard": 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]>
  }
}
