export declare const COMPARISON_SNAPSHOT_PATHS: string[]; export type ComparisonCandidate = { candidateId: string; label: string; root: string; concept: string; previewUrl?: string; sourceHash: string; buildHash: string; previewReady: boolean; missingRoutes: string[]; }; export type ComparisonManifest = { version: 2; mode: "calibration" | "design-selection"; revision: string; runId?: string; createdAt: string; hash: string; candidates: ComparisonCandidate[]; labels?: Record; }; export type SectionRecord = { sectionId: string; semanticRole?: string; component?: string; screenshotAnchor?: string; factIds: string[]; assetIds: string[]; action?: { label: string; destination: string; behavior: string; } | null; }; export type SectionIndex = { candidateId: string; buildHash: string; routes: { path: string; purpose?: string; sections: SectionRecord[]; missing?: boolean; }[]; }; export declare function snapshotTree(root: string, dest: string, paths: string[]): void; export declare function buildSectionIndex(root: string, candidateId: string): SectionIndex; export declare function snapshotCandidates(opts: { runId: string; revision: string; dest: string; sites: { candidateId: string; label: string; root: string; concept: string; previewReady: boolean; previewUrl?: string; }[]; }): ComparisonManifest; export declare function loadComparison(dest: string): ComparisonManifest; export declare function loadSectionIndexes(dest: string, comparison: ComparisonManifest): Record; export declare function resolveDisplayLabel(comparison: ComparisonManifest, value: string): string | undefined;