/** * 原子写:先写临时文件再 rename,避免读端拿到撕裂的 JSON。 * * 采用 src/tracker.ts 的完整版语义:出错 re-throw、finally 清理。 * 调用方(如 tracker.ts persist、grep-counter.ts writeGrepCounterState)外层 * 均有 try/catch 兜底,re-throw 不会改变外部可观测行为。 * * 临时文件名带 pid + 随机后缀:同进程/跨进程并发写同一目标文件时, * 两个写者各自使用唯一 .tmp 名,rename 是原子的,后完成者整体覆盖先完成者, * 不再互相覆盖对方未写完的临时文件。 */ export declare function writeFileAtomic(filePath: string, data: string): void; /** 将 data 序列化为 JSON 后原子写入文件。 */ export declare function writeJsonFileAtomic(filePath: string, data: unknown): void; //# sourceMappingURL=fs-atomic.d.ts.map