import { type MutationLock } from "../recovery/service.js"; import { type RepositoryContext } from "../repository/git.js"; import type { HumanScopeBinding } from "../approval/human.js"; import type { CoordinationClock } from "./clock.js"; import type { CoordinationTransport } from "./store.js"; import type { CoordinationRecord } from "./types.js"; import type { HandoffSourceProof, HandoffTargetAcceptance } from "./handoff_record.js"; /** Native composition only. CLI supplies intent, never facts, coverage booleans or a source path. */ export declare function handoffObservers(context: RepositoryContext, held: MutationLock | undefined, source: Pick, observeBinding: () => HumanScopeBinding, refreshClock: () => CoordinationClock, observeCoverage?: (record: CoordinationRecord, lock: MutationLock) => HandoffSourceProof["coverage"]): { beforeFreeze(record: CoordinationRecord): void; sourceProof(record: CoordinationRecord): HandoffSourceProof; targetAcceptance(record: CoordinationRecord): HandoffTargetAcceptance; check: (record: CoordinationRecord) => { repository: string; endpointHash: string; commonDir: string; hostId: string; credentialBindingHash: string; repositoryId: string; credentialRef: string; credentialPurpose: "git-transport"; actor: string; configHash: string; controlEpoch: { schemaVersion: "coordination-epoch/1"; mode: "isolated-qualification" | "production"; protocol: "github-coordination/1.0"; coordinationConfigDigest: string; policy: { kind: "none"; } | { kind: "harness-policy-file"; sha256: string; }; }; implementation: { kind: "source"; head: string; tree: string; artifactDigest: string; } | { kind: "package"; artifactDigest: string; }; runnerHash: string; }; requireLock: () => void; }; export type HandoffObservers = ReturnType; //# sourceMappingURL=handoff.d.ts.map