import type { RouteMetadata, VextOpenAPIDocsKind } from "../openapi/types.js"; import type { VextRouteFreshnessIdentity, VextRouteLayoutIdentity, VextRouteSchemaContractV1 } from "../../frontend/contract/types.js"; export interface DevRouteManifestPayload { schemaVersion: 1; kind: "routes-manifest"; target: "routes"; source: "runtime-collector"; routeFileCount: number; routeCount: number; summary: { publicRoutes: number; hiddenRoutes: number; explicitOperationIds: number; inferredOperationIds: number; missingDocsSummary: number; missingTags: number; duplicateRoutes: number; }; routes: Array<{ fileRelativePath: string; source: string; docsKind: VextOpenAPIDocsKind; prefix: string; method: string; path: string; docsSummary: string | null; summary: string | null; routeId: string; operationId: string; operationIdSource: "explicit" | "inferred"; tags: string[]; hidden: boolean; schema: VextRouteSchemaContractV1; freshness: VextRouteFreshnessIdentity; layout: VextRouteLayoutIdentity; }>; } export declare function writeDevRouteManifest(rootDir: string, routes: RouteMetadata[]): Promise; export declare function buildDevRouteManifestPayload(rootDir: string, routes: RouteMetadata[]): DevRouteManifestPayload;