import type { FileMutexLockHandle as LockHandle } from '../../types/safety.js';
/**
 * Acquires a file-based lock for a named resource.
 * Polls until the lock is available or timeout expires.
 * Stale locks (old timestamp or dead PID) are auto-released.
 */
export declare function acquireLock(resource: string, timeoutMs?: number): Promise<LockHandle>;
/**
 * Releases a previously acquired lock.
 * No-op if the lock file was already removed.
 */
export declare function releaseLock(handle: LockHandle): Promise<void>;
//# sourceMappingURL=file-mutex.d.ts.map