export interface MetadataLock { readonly path: string; release(): Promise; } export interface MetadataLockOptions { timeoutMs?: number; retryMs?: number; staleLockMs?: number; onCompromised?: (error: Error) => void; } export declare function acquireMetadataLock(targetPath: string, lockPath: string, options?: MetadataLockOptions): Promise;