import type { PublicForm } from '../forms/config.ts'; export type PreserveLaunch = { mode?: "redesign" | "preserve"; sourceUrl?: string; backendOrigin?: string; slug?: string; forms?: PublicForm[]; previewDisabledTransactions?: boolean; }; export declare function preserveConfig(root: string): PreserveLaunch; export declare const isPreserveSite: (root: string) => boolean; export declare const PRESERVE_WIDTHS: readonly [1440, 390]; export declare const PRESERVE_HEIGHT = 1000; export declare const SUPPORTED_REACT_BLOCKS: Set; /** Resolve only known static block support added after an immutable capture. */ export declare function unresolvedCaptureBlockers(manifest: PreserveManifest, staticComponents?: Map>, resolvedNavigationAssets?: Set, reactComponents?: Map>, repairedNavigation?: Set): string[]; export type PreservePage = { url: string; path: string; file: string; references: Array<{ width: number; file: string; sha256: string; }>; sourceFailure?: { status: number; kind: 'http-404' | 'soft-404'; responseFile: string; responseSha256: string; }; }; export type PreserveManifest = { version: 1; adapter: "vitris-v1" | "vitris-v2"; sourceUrl: string; capturedAt: string; pages: PreservePage[]; assets: Array<{ url: string; file: string; sha256: string; originalSha256?: string; referenceFile?: string; captureError?: string; }>; serviceMode: "preview-only" | "vitris-forms"; warnings: string[]; /** Diagnostic captures retain independent work but cannot pass release gates. */ blockers?: string[]; }; /** Reject ambiguous/unsafe routes rather than flattening them into another page. */ export declare function pageFile(path: string): string;