// 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 ../../app/admin/articles/[id]/edit/page.tsx
{
  type __IsExpected<Specific extends AppPageConfig<"/admin/articles/[id]/edit">> = Specific
  const handler = {} as typeof import("../../app/admin/articles/[id]/edit/page.js")
  type __Check = __IsExpected<typeof handler>
  // @ts-ignore
  type __Unused = __Check
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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





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