export declare const OWNER_BIND_HANDOFF_TIMEOUT_MS = 5000; export interface OwnerBinderDeps { now?(): number; sleep?(ms: number): Promise; alive?(pid: number): boolean; processMarker?(pid: number): string | undefined; /** Test seam for synchronizing contenders after stale-owner validation. */ beforeReclaim?(): Promise; } export interface OwnerBinderLease { /** True only when a prior binder for this exact role and identity was observed. */ inherited: boolean; release(): void; } export declare class OwnerBinderConflictError extends Error { } export declare class OwnerBinderHandoffTimeoutError extends Error { } /** * Serialize the one supervisor-owned binder for a role. A live matching holder * is an overlapping predecessor and gets a bounded handoff window. A holder * for any other role/identity, or unverifiable metadata, remains fail-closed. */ export declare function acquireOwnerBinderLease(stateDir: string, role: string, identity: string, deps?: OwnerBinderDeps, timeoutMs?: number): Promise;