export interface FileOperation { /** Absolute resolved path to the file. */ path: string; /** File content before the operation. Null if the file did not exist. */ beforeContent: string | null; /** File content after the operation. */ afterContent: string; /** Human-readable label, e.g. "write" or "edit". */ tool: 'write' | 'edit'; /** ISO timestamp of the operation. */ timestamp: string; } export declare class FileUndoManager { private undoStack; private redoStack; /** * Record a completed file operation for potential undo/redo. * beforeContent is null when the file was newly created. */ snapshot(op: Omit): void; /** * Revert the most recent file operation. * Returns `{ path }` on success, or `null` if nothing to undo. */ undo(): { path: string; tool: string; } | null; /** * Re-apply the most recently undone file operation. * Returns `{ path }` on success, or `null` if nothing to redo. */ redo(): { path: string; tool: string; } | null; /** Number of operations that can be undone. */ undoDepth(): number; /** Number of operations that can be redone. */ redoDepth(): number; /** Peek at the most recent undoable operation without popping. */ peekUndo(): FileOperation | undefined; /** Clear both stacks (e.g., on session reset). */ clear(): void; } //# sourceMappingURL=file-undo.d.ts.map