export declare const LOCK_PATH: string; export type LockRole = 'manager'; export interface LockPayload { pid: number; role: LockRole; version: string; started_at: string; boot_id: string | null; boot_time_ms: number; pid_start_ticks: number | null; } export interface LockHandle { release(): void; path: string; payload: LockPayload; } export interface ParsedLock { pid: number; role?: string; started_at?: string; version?: string; boot_id?: string; boot_time_ms?: number; pid_start_ticks?: number; } interface AcquireOptions { role: LockRole; version: string; force?: boolean; } export type LockStaleReason = 'boot_id_mismatch' | 'boot_time_mismatch' | 'lock_predates_boot' | 'pid_dead' | 'pid_recycled'; export type LockOwnerVerdict = { stale: true; reason: LockStaleReason; detail: string; } | { stale: false; reason: 'owner_alive' | 'owner_unverifiable'; detail: string; }; export interface LockOwnerFacts { bootId: string | null; bootTimeMs: number; pidPresence: 'dead' | 'present'; pidStartTicks: number | null; pidStartedAtMs: number | null; } export declare function judgeLockOwner(lock: ParsedLock, facts: LockOwnerFacts): LockOwnerVerdict; export declare function probeLockOwner(lock: ParsedLock): LockOwnerFacts; export interface RecoveryGuardFacts { owner: ParsedLock | null; ownerFacts: LockOwnerFacts | null; guardMtimeMs: number | null; bootTimeMs: number; nowMs: number; } export type RecoveryGuardVerdict = { reclaim: true; reason: 'guard_gone' | 'owner_stale' | 'guard_predates_boot' | 'guard_expired'; detail: string; } | { reclaim: false; detail: string; }; export declare function judgeRecoveryGuard(facts: RecoveryGuardFacts): RecoveryGuardVerdict; export declare function acquireAgentLock(opts: AcquireOptions): Promise; export declare function isTransientLockRaceCode(code: unknown): boolean; export declare function resolveLostCreateRace(read: () => ParsedLock | null, alive: (pid: number) => boolean): { outcome: 'locked'; owner: ParsedLock; } | { outcome: 'retry'; }; export declare function inspectAgentLock(): ParsedLock | null; export {};