import { type HumanScopeBinding } from "../approval/human.js"; import { type MutationLock } from "../recovery/service.js"; import type { CoordinationClock } from "./clock.js"; import type { CoordinationCandidate, CoordinationCommitIntent, CoordinationTransport, CoordinationWriteResult, GitCoordinationStore } from "./store.js"; import type { CoordinationWriteIntent } from "./transport.js"; import { type SyntheticCandidate, type SyntheticWriteResult } from "./publication.js"; /** Fixed human-authorized qualification/takeover paths, not a general production write permission. */ export declare function humanCoordinationGuards(commonDir: string, approvalRef: string, observeBinding: () => HumanScopeBinding, refreshClock: () => CoordinationClock, held?: MutationLock, assertCandidate?: (intent: CoordinationCommitIntent) => void, scopeKind?: "qualification-run" | "takeover" | "production-enable"): { beforeCommit(intent: CoordinationCommitIntent): (head: string | null) => void; beforePush(candidate: CoordinationCandidate): ((result: CoordinationWriteResult | SyntheticWriteResult) => void) & { finish(): void; }; beforeSyntheticPush: (candidate: SyntheticCandidate) => ((result: CoordinationWriteResult | SyntheticWriteResult) => void) & { finish(): void; }; authorizeWrite(intent: CoordinationWriteIntent): void; }; /** Unknown writes are recovered from exact remote history, even after ticket expiry; never replayed. */ export declare function recoverHumanCoordinationWrite(commonDir: string, approvalRef: string, attemptId: string, store: GitCoordinationStore): import("./store.js").CoordinationApplied; /** Synthetic recovery consumes the original receipt and approved descriptor, never regenerates or pushes. */ export declare function recoverHumanSyntheticWrite(commonDir: string, approvalRef: string, attemptId: string, store: GitCoordinationStore, source: CoordinationTransport, held?: MutationLock): { status: "state-observed"; candidate: SyntheticCandidate; observedHead: string; } | { status: "applied"; candidate: SyntheticCandidate; observedHead: string; }; //# sourceMappingURL=authorization.d.ts.map