import { type Group } from '../../../shared/lib/router/utils/route-regex'; import type { NextConfigComplete } from '../../config-shared'; import type { RouteInfo, SlotInfo } from '../../../build/file-classifier'; interface ManifestRouteInfo { path: string; groups: { [groupName: string]: Group; }; } export interface RouteTypesManifest { appRoutes: Record; pageRoutes: Record; layoutRoutes: Record; appRouteHandlerRoutes: Record; /** Map of redirect source => ManifestRouteInfo */ redirectRoutes: Record; /** Map of rewrite source => ManifestRouteInfo */ rewriteRoutes: Record; /** File paths for validation */ appPagePaths: Set; pagesRouterPagePaths: Set; layoutPaths: Set; appRouteHandlers: Set; pageApiRoutes: Set; /** Direct mapping from file paths to routes for validation */ filePathToRoute: Map; } export declare function convertCustomRouteSource(source: string): string[]; /** * Extracts route parameters from a route pattern */ export declare function extractRouteParams(route: string): { [groupName: string]: Group; }; /** * Creates a route types manifest from processed route data * (used for both build and dev) */ export declare function createRouteTypesManifest({ dir, pageRoutes, appRoutes, appRouteHandlers, pageApiRoutes, layoutRoutes, slots, redirects, rewrites, validatorFilePath, }: { dir: string; pageRoutes: RouteInfo[]; appRoutes: RouteInfo[]; appRouteHandlers: RouteInfo[]; pageApiRoutes: RouteInfo[]; layoutRoutes: RouteInfo[]; slots: SlotInfo[]; redirects?: NextConfigComplete['redirects']; rewrites?: NextConfigComplete['rewrites']; validatorFilePath?: string; }): Promise; export declare function writeRouteTypesManifest(manifest: RouteTypesManifest, filePath: string, config: NextConfigComplete): Promise; export declare function writeValidatorFile(manifest: RouteTypesManifest, filePath: string, strict: boolean): Promise; /** * Writes the entry file at {distDirRoot}/types/routes.d.ts that re-exports * from the actual type files. This ensures next-env.d.ts has a consistent * import path in development and production. * * @param entryFilePath - Path to the entry file (e.g., .next/types/routes.d.ts) * @param actualTypesDir - Path to the actual types directory (e.g., .next/types or .next/dev/types) * @param options - Configuration options for what to include */ export declare function writeRouteTypesEntryFile(entryFilePath: string, actualTypesDir: string, options: { strictRouteTypes: boolean; typedRoutes: boolean; }): Promise; export {};