import type { ToolOperations } from "./operations.js"; export interface ReadEntry { mtimeMs: number; hash: string; } export type ReadTracker = Map; export declare function hashContent(content: string): string; export declare function recordRead(tracker: ReadTracker | undefined, resolvedPath: string, content: string, mtimeMs: number): void; export declare function recordWrite(tracker: ReadTracker | undefined, resolvedPath: string, content: string, ops: ToolOperations): Promise; /** * Verify the file hasn't been modified since it was last read. * Throws if unread, or if mtime AND hash differ from the recorded value. * mtime alone is not sufficient — some filesystems have low resolution and * formatters can rewrite a file with the same mtime; we re-hash on mtime miss. */ export declare function assertFresh(tracker: ReadTracker | undefined, resolvedPath: string, ops: ToolOperations): Promise; //# sourceMappingURL=read-tracker.d.ts.map