/**
 * Acquire an exclusive lock on a file path using a .lock sidecar file.
 * Returns a release function that must be called when done.
 *
 * The lock file contains a timestamp. If the lock is older than `staleMs`,
 * it is considered abandoned and will be forcibly acquired.
 */
export declare function acquireLock(filePath: string, timeout?: number): Promise<() => void>;
/**
 * Execute a function while holding an exclusive file lock.
 * The lock is automatically released when the function completes or throws.
 */
export declare function withLock<T>(filePath: string, fn: () => T | Promise<T>): Promise<T>;
