/** * Per-file async mutation lock. * * Serializes concurrent mutations (Edit, Write) that target the same file * while allowing mutations on different files to proceed in parallel. * * Uses promise chaining rather than OS mutexes: each `acquire()` appends * a new link to the per-path chain. The caller awaits the previous link * (serialization) and receives a `release` callback that resolves the * current link so the next waiter can proceed. */ export declare class FileMutationLock { private chains; /** * Acquire exclusive mutation access for a file path. * Returns a release function that MUST be called when done (use try/finally). */ acquire(filePath: string): Promise<() => void>; /** Clear all chains. Safe to call between agentic loops. */ clear(): void; } //# sourceMappingURL=file-mutation-lock.d.ts.map