export interface SweepOptions {
    /**
     * If set, copy the target dir into `<archiveDir>/<targetBasename>-<ISO>/`
     * before deleting anything. No-op when no orphans are found.
     */
    archiveDir?: string;
    /** How many archives to retain. Defaults to 3. */
    archiveKeep?: number;
    /** Subtrees (relative to outputDir) to skip — e.g. SPA asset dirs that already get a hard wipe upstream. */
    skipPrefixes?: Iterable<string>;
}
export interface SweepResult {
    /** Files deleted because they were stale orphans. */
    deleted: string[];
    /** Files NOT deleted despite being missing from the manifest — they lacked the generated-header marker. */
    preserved: string[];
    /** Path to the archive created before deletion (undefined when nothing was deleted or archiveDir wasn't set). */
    archivePath?: string;
}
/**
 * Sweep stale generated files under `targetDir`. Paths in `manifest` are
 * relative to `outputDir` (matching the wire shape the compiler returns).
 */
export declare function sweepStaleGeneratedFiles(outputDir: string, targetDir: string, manifest: Iterable<string>, options?: SweepOptions): Promise<SweepResult>;
//# sourceMappingURL=sweep-stale.d.ts.map