import type { EcoPagesAppConfig, RouteKind } from '../../types/internal-types.js'; export type RouteParams = Record; export type RouteQuery = Record; export type TemplateRoute = { readonly pathname: string; readonly kind: RouteKind; readonly filePath: string; readonly paramNames: readonly string[]; }; export type RouteMatch = { readonly requestedPathname: string; readonly templateRoute: TemplateRoute; readonly params: RouteParams; readonly query: RouteQuery; }; export type StaticPathExpansion = { readonly pathname: string; readonly templateRoute: TemplateRoute; readonly params: RouteParams; }; export type StaticGenerationRoute = { readonly requestUrl: string; readonly pathname: string; readonly templateRoute: TemplateRoute; readonly params: RouteParams; }; export type StaticPathsContext = { readonly appConfig: EcoPagesAppConfig; readonly runtimeOrigin: string; }; export type RouteRegistryPageModule = { readonly staticPaths?: (context: StaticPathsContext) => Promise<{ paths: Array<{ params: RouteParams; }>; }>; readonly staticProps?: unknown; }; export interface RouteRegistryPageModuleAdapter { loadPageModule(filePath: string): Promise; } export type RouteRegistryOptions = { pagesDir: string; appConfig: EcoPagesAppConfig; origin: string; templatesExt: readonly string[]; buildMode: boolean; pageModuleAdapter: RouteRegistryPageModuleAdapter; }; export declare class RouteRegistry { readonly origin: string; readonly appConfig: EcoPagesAppConfig; readonly pagesDir: string; readonly templatesExt: readonly string[]; readonly buildMode: boolean; private readonly pageModuleAdapter; private templateRouteList; private readonly reloadListeners; constructor(options: RouteRegistryOptions); get templateRoutes(): readonly TemplateRoute[]; init(): Promise; reload(): Promise; onReload(listener: () => void): () => void; matchRequest(requestUrl: string): RouteMatch | null; listStaticPathExpansions(input: { runtimeOrigin: string; }): Promise; listStaticGenerationRoutes(input: { runtimeOrigin: string; }): Promise; private scanTemplateRoutes; private getRoutePath; private classifyRouteKind; private getParamNames; private tryExtractParams; private getSearchParams; private resolveTemplatePath; }