import { type RemoteFile } from "../s3.js"; export declare function collectRemoteAncestors(files: Iterable): Set; export interface SpooledRemoteFiles { files: Iterable; remoteKeysWithChildren: ReadonlySet; dispose(): void; } /** * Preserve one LIST snapshot without retaining every row in memory. Deferring * only directory collisions cannot preserve the journal freshness contract: * an intent for ANY earlier row can arrive on the last page. Replay after the * caller refreshes its journal, with complete overlay evidence and no remote * second pass. Disk cost is one JSONL write and read per row (metadata only). */ export declare function spoolRemoteFiles(source: AsyncIterable): Promise; //# sourceMappingURL=remote-file-spool.d.ts.map