import type { Snapshot } from "./types.js"; export interface SnapshotFileOps { readText(path: string): Promise; } export declare class Recorder { private ops; private pending; private touched; private turn; constructor(ops: SnapshotFileOps); startTurn(turn: number): void; captureBefore(path: string): Promise; markTouched(path: string): void; /** * Build the snapshot for the current turn and reset pending state. * Returns undefined when nothing was successfully modified. * All changes are stored as unified diffs; new files diff against empty content. */ flush(leafEntryId: string | null | undefined): Promise; }