export interface PrepareOptions { /** * Where to archive the existing target dir before wiping. If unset, * the wipe still happens but no archive is taken — only do this when * you have an external recovery path. */ archiveDir?: string; /** How many archives to retain. Defaults to 3. */ archiveKeep?: number; } export interface PrepareResult { /** True when the existing target dir was wiped. */ wiped: boolean; /** Path to the archive snapshot, when one was taken. */ archivePath?: string; /** Reason wiping was skipped (when applicable). */ skipped?: 'no-existing-tree' | 'empty-manifest'; } /** * Archive then wipe the target dir, in preparation for a fresh write. * * `manifest` is the full set of paths the compiler intends to write * (relative to outputDir). It's used as a sanity check — if the * manifest contains *no* files under targetDir we treat that as a * compile bug and skip the destructive step. * * The wipe itself is a single fs.rm({recursive:true}) — fast, total, * and matches the documented contract that src/ is compiler-owned. */ export declare function prepareGeneratedDir(outputDir: string, targetDir: string, manifest: Iterable, options?: PrepareOptions): Promise; export declare function archiveDirectory(srcDir: string, archiveBase: string, prefix: string): Promise; export declare function pruneArchives(archiveBase: string, prefix: string, keep: number): Promise; //# sourceMappingURL=prepare-output.d.ts.map