import type { ConversionUnit, GeneratedConversionUnit } from "../../workflows/types.ts"; /** Extensions that participate in combined TypeScript program validation. */ export declare const PROJECT_VALIDATION_EXTENSIONS: Set; export interface CandidateOverlayFile { /** Project-relative POSIX path of the candidate file. */ path: string; /** Absolute path used as the TypeScript program file name. */ absolutePath: string; /** Complete candidate content (baseline plus replacements, or the new file). */ content: string; /** True when the path does not exist in the working tree yet. */ created: boolean; /** The generated units contributing to this candidate file. */ units: ConversionUnit[]; } export interface CandidateOverlay { root: string; /** Overlay files keyed by {@link overlayPathKey} of their absolute path. */ files: Map; /** Units that could not enter the overlay, with the fail-closed reason. */ excluded: Array<{ unit: ConversionUnit; reason: string; }>; } /** Canonical map key for absolute paths, honoring platform case sensitivity. */ export declare function overlayPathKey(path: string): string; /** True when this generated unit belongs in the combined JS/TS overlay. */ export declare function unitParticipatesInProjectValidation(item: GeneratedConversionUnit): boolean; /** * Build the combined in-memory candidate state for all successful JS/TS units. * The working tree is never modified; stale inline markers and already-existing * whole-file targets are excluded fail-closed instead of guessed around. */ export declare function buildCandidateOverlay(root: string, generated: readonly GeneratedConversionUnit[], options?: { allowExistingTargets?: ReadonlySet; }): Promise; //# sourceMappingURL=candidate-overlay.d.ts.map