import type { ArchitectsDb, ArchitectsProviders, ConstructionLock, WorkItemStatus } from '../types.js';
export declare function acquireConstructionLock(operativeId: string, workItemId: string, db: ArchitectsDb, providers: ArchitectsProviders, options?: {
    leaseDurationMs?: number;
    now?: number;
}): Promise<ConstructionLock | null>;
export declare function renewConstructionLock(operativeId: string, workItemId: string, db: ArchitectsDb, options?: {
    leaseDurationMs?: number;
    now?: number;
}): Promise<ConstructionLock | null>;
export declare function releaseConstructionLock(operativeId: string, workItemId: string, db: ArchitectsDb, finalStatus: WorkItemStatus): Promise<void>;
export declare function getConstructionLockState(db: ArchitectsDb, workItemId: string): {
    workItemId: string;
    locked: boolean;
    operativeId: string | null;
    leaseExpiresAt: number | null;
    leaseRenewedAt: number | null;
};
