import { CoordinationClock } from "./clock.js"; import type { CoordinationExpected, CoordinationRecord, RenewalProof } from "./types.js"; export declare function requireWriteLease(record: CoordinationRecord, expected: CoordinationExpected, clock: CoordinationClock): void; export declare function nextLease(args: { repository: string; repositoryId: string; workItem: string; branch: string; sourceRepositoryId: string; owner: string; machine: string; sessionRef?: string; controlEpochDigest: string; head: string; ttlMs: number; transactionId?: string; }, clock: CoordinationClock): CoordinationRecord; export declare function reserveRenewal(record: CoordinationRecord, expected: CoordinationExpected, ttlMs: number, clock: CoordinationClock, transactionId?: `${string}-${string}-${string}-${string}-${string}`): CoordinationRecord; /** Called only after fresh exact record readback; CLI never accepts caller-supplied time proof. */ export declare function observeRenewal(record: CoordinationRecord, controlSha: string, clock: CoordinationClock): RenewalProof; export declare function confirmRenewal(record: CoordinationRecord, expected: CoordinationExpected, proof: RenewalProof, clock: CoordinationClock): CoordinationRecord; export declare function rebindLease(record: CoordinationRecord, expected: CoordinationExpected, sessionRef: string | undefined, head: string, clock: CoordinationClock, transactionId?: `${string}-${string}-${string}-${string}-${string}`): CoordinationRecord; //# sourceMappingURL=leases.d.ts.map