import { type RootIdentity } from './filesystem.js'; export interface InstallerOperationLock { readonly status: 'acquired'; readonly token: string; readonly rootIdentity: RootIdentity; readonly path: string; assertOwnership(token?: string): Promise; release(): Promise; } export type InstallerLockResult = InstallerOperationLock | { readonly status: 'busy'; readonly reasonCode: 'INSTALLER_BUSY'; }; export declare function acquireInstallerOperationLock(location: string, options?: { readonly timeoutMs?: number; readonly now?: () => string; }): Promise; export declare function inspectInstallerLock(location: string): Promise<'absent' | 'active' | 'stale' | 'invalid'>;