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

type AppRoutes = "/" | "/admin" | "/admin-dashboard" | "/admin-dashboard/manager/[id]" | "/admin-dashboard/managers" | "/admin-dashboard/managers/[id]" | "/admin-dashboard/managers/new" | "/admin/alerts" | "/admin/avatars" | "/admin/badge" | "/admin/bar-chart" | "/admin/basic-tables" | "/admin/blank" | "/admin/buttons" | "/admin/calendar" | "/admin/chat" | "/admin/clients/[id]/edit" | "/admin/clients/new" | "/admin/deadlines" | "/admin/documents" | "/admin/documents/[id]" | "/admin/documents/[id]/edit" | "/admin/documents/new" | "/admin/folders" | "/admin/folders/[id]" | "/admin/folders/[id]/edit" | "/admin/form-elements" | "/admin/form-layout" | "/admin/identity" | "/admin/images" | "/admin/journal" | "/admin/journal/new" | "/admin/line-chart" | "/admin/managers" | "/admin/modals" | "/admin/newspapers" | "/admin/profile" | "/admin/tasks" | "/admin/tasks/[id]" | "/admin/tasks/[id]/edit" | "/admin/tasks/add" | "/admin/tasks/new" | "/admin/videos" | "/api/impersonate/success" | "/calendar" | "/chat" | "/clients" | "/clients/[id]" | "/clients/[id]/documents" | "/clients/new" | "/dashboard" | "/documents" | "/error-404" | "/factures" | "/factures/[type]" | "/factures/[type]/edit/[id]" | "/factures/[type]/new" | "/identity" | "/invoices" | "/journal" | "/login" | "/newspapers" | "/notifications" | "/partners" | "/partners/[id]" | "/partners/[id]/add-event" | "/partners/new" | "/profile" | "/sign-in" | "/signin" | "/signup" | "/tasks" | "/test-auth" | "/test-basic" | "/test-header" | "/test-layout" | "/test-notifications" | "/test-session" | "/test-simple"
type AppRouteHandlerRoutes = "/admin/images/api" | "/api/activity-logs" | "/api/auth/[...nextauth]" | "/api/auth/login" | "/api/auth/logout" | "/api/auth/reset-password" | "/api/auth/session" | "/api/auth/verify-identity" | "/api/authentication/login" | "/api/authentication/register" | "/api/clients" | "/api/clients/[id]" | "/api/clients/[id]/assign-manager" | "/api/clients/[id]/documents" | "/api/clients/[id]/documents/[docId]/download" | "/api/clients/[id]/identity-documents" | "/api/clients/[id]/remove-manager" | "/api/clients/assign-manager" | "/api/clients/upload" | "/api/communications" | "/api/communications/[id]" | "/api/documents" | "/api/documents/[id]" | "/api/factures" | "/api/factures/[id]" | "/api/factures/[id]/download" | "/api/folders" | "/api/folders/[id]" | "/api/folders/recents" | "/api/impersonate" | "/api/impersonate/revert" | "/api/invoices" | "/api/invoices/received" | "/api/manager-data" | "/api/managers" | "/api/managers/[id]/stats" | "/api/managers/list" | "/api/managers/stats" | "/api/messages" | "/api/messages/[id]/delete-file" | "/api/messages/mark-read" | "/api/messages/unread-counts" | "/api/newspapers" | "/api/newspapers/[id]" | "/api/notifications" | "/api/notifications/[id]/read" | "/api/notifications/mark-all-read" | "/api/notifications/test" | "/api/partners" | "/api/partners/[id]" | "/api/partners/[id]/events" | "/api/reset-password" | "/api/revert-impersonation" | "/api/socket" | "/api/tasks" | "/api/tasks/[id]" | "/api/tasks/[id]/collaborators" | "/api/transfer" | "/api/upload" | "/api/user-data" | "/api/users" | "/api/users/[id]"
type PageRoutes = never
type LayoutRoutes = "/" | "/admin" | "/clients" | "/sign-in" | "/test-layout"
type RedirectRoutes = never
type RewriteRoutes = never
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes


interface ParamMap {
  "/": {}
  "/admin": {}
  "/admin-dashboard": {}
  "/admin-dashboard/manager/[id]": { "id": string; }
  "/admin-dashboard/managers": {}
  "/admin-dashboard/managers/[id]": { "id": string; }
  "/admin-dashboard/managers/new": {}
  "/admin/alerts": {}
  "/admin/avatars": {}
  "/admin/badge": {}
  "/admin/bar-chart": {}
  "/admin/basic-tables": {}
  "/admin/blank": {}
  "/admin/buttons": {}
  "/admin/calendar": {}
  "/admin/chat": {}
  "/admin/clients/[id]/edit": { "id": string; }
  "/admin/clients/new": {}
  "/admin/deadlines": {}
  "/admin/documents": {}
  "/admin/documents/[id]": { "id": string; }
  "/admin/documents/[id]/edit": { "id": string; }
  "/admin/documents/new": {}
  "/admin/folders": {}
  "/admin/folders/[id]": { "id": string; }
  "/admin/folders/[id]/edit": { "id": string; }
  "/admin/form-elements": {}
  "/admin/form-layout": {}
  "/admin/identity": {}
  "/admin/images": {}
  "/admin/images/api": {}
  "/admin/journal": {}
  "/admin/journal/new": {}
  "/admin/line-chart": {}
  "/admin/managers": {}
  "/admin/modals": {}
  "/admin/newspapers": {}
  "/admin/profile": {}
  "/admin/tasks": {}
  "/admin/tasks/[id]": { "id": string; }
  "/admin/tasks/[id]/edit": { "id": string; }
  "/admin/tasks/add": {}
  "/admin/tasks/new": {}
  "/admin/videos": {}
  "/api/activity-logs": {}
  "/api/auth/[...nextauth]": { "nextauth": string[]; }
  "/api/auth/login": {}
  "/api/auth/logout": {}
  "/api/auth/reset-password": {}
  "/api/auth/session": {}
  "/api/auth/verify-identity": {}
  "/api/authentication/login": {}
  "/api/authentication/register": {}
  "/api/clients": {}
  "/api/clients/[id]": { "id": string; }
  "/api/clients/[id]/assign-manager": { "id": string; }
  "/api/clients/[id]/documents": { "id": string; }
  "/api/clients/[id]/documents/[docId]/download": { "id": string; "docId": string; }
  "/api/clients/[id]/identity-documents": { "id": string; }
  "/api/clients/[id]/remove-manager": { "id": string; }
  "/api/clients/assign-manager": {}
  "/api/clients/upload": {}
  "/api/communications": {}
  "/api/communications/[id]": { "id": string; }
  "/api/documents": {}
  "/api/documents/[id]": { "id": string; }
  "/api/factures": {}
  "/api/factures/[id]": { "id": string; }
  "/api/factures/[id]/download": { "id": string; }
  "/api/folders": {}
  "/api/folders/[id]": { "id": string; }
  "/api/folders/recents": {}
  "/api/impersonate": {}
  "/api/impersonate/revert": {}
  "/api/impersonate/success": {}
  "/api/invoices": {}
  "/api/invoices/received": {}
  "/api/manager-data": {}
  "/api/managers": {}
  "/api/managers/[id]/stats": { "id": string; }
  "/api/managers/list": {}
  "/api/managers/stats": {}
  "/api/messages": {}
  "/api/messages/[id]/delete-file": { "id": string; }
  "/api/messages/mark-read": {}
  "/api/messages/unread-counts": {}
  "/api/newspapers": {}
  "/api/newspapers/[id]": { "id": string; }
  "/api/notifications": {}
  "/api/notifications/[id]/read": { "id": string; }
  "/api/notifications/mark-all-read": {}
  "/api/notifications/test": {}
  "/api/partners": {}
  "/api/partners/[id]": { "id": string; }
  "/api/partners/[id]/events": { "id": string; }
  "/api/reset-password": {}
  "/api/revert-impersonation": {}
  "/api/socket": {}
  "/api/tasks": {}
  "/api/tasks/[id]": { "id": string; }
  "/api/tasks/[id]/collaborators": { "id": string; }
  "/api/transfer": {}
  "/api/upload": {}
  "/api/user-data": {}
  "/api/users": {}
  "/api/users/[id]": { "id": string; }
  "/calendar": {}
  "/chat": {}
  "/clients": {}
  "/clients/[id]": { "id": string; }
  "/clients/[id]/documents": { "id": string; }
  "/clients/new": {}
  "/dashboard": {}
  "/documents": {}
  "/error-404": {}
  "/factures": {}
  "/factures/[type]": { "type": string; }
  "/factures/[type]/edit/[id]": { "type": string; "id": string; }
  "/factures/[type]/new": { "type": string; }
  "/identity": {}
  "/invoices": {}
  "/journal": {}
  "/login": {}
  "/newspapers": {}
  "/notifications": {}
  "/partners": {}
  "/partners/[id]": { "id": string; }
  "/partners/[id]/add-event": { "id": string; }
  "/partners/new": {}
  "/profile": {}
  "/sign-in": {}
  "/signin": {}
  "/signup": {}
  "/tasks": {}
  "/test-auth": {}
  "/test-basic": {}
  "/test-header": {}
  "/test-layout": {}
  "/test-notifications": {}
  "/test-session": {}
  "/test-simple": {}
}


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

interface LayoutSlotMap {
  "/": never
  "/admin": never
  "/clients": never
  "/sign-in": never
  "/test-layout": 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]>
  }
}
