import type { AnyKoiTool } from "./pi-tools.types.js"; /** Remember that a file's contents were actually looked at. */ export declare function noteFileRead(filePath: string, cwd: string): void; /** Test seam — a fresh process starts with no reads, so tests must too. */ export declare function resetReadTrackingForTests(): void; export type WriteGuardVerdict = { ok: true; } | { ok: false; reason: string; }; /** * The decision itself, separated from the tool plumbing so it can be tested * directly and reused anywhere else a whole-file write happens. */ export declare function checkWrite(filePath: string, content: string, cwd: string): Promise; /** Wrap a write tool so both rules apply before anything touches the disk. */ export declare function wrapWriteGuard(tool: AnyKoiTool, cwd: string): AnyKoiTool; /** Wrap read/edit so they record that the file's contents are now known. */ export declare function wrapReadTracking(tool: AnyKoiTool, cwd: string): AnyKoiTool;