import { type HumanScopeBinding } from "../approval/human.js"; import { type MutationLock } from "../recovery/service.js"; import { type RepositoryContext } from "../repository/git.js"; import { GitHubCoordinationReader } from "./github.js"; import { CoordinationLifecycleService } from "./service.js"; import { GitCoordinationStore } from "./store.js"; import type { ManagedWriteContext } from "./writer.js"; /** Non-secret observation; all identity comes from the actual checkout, approved host binding and running artifact. */ export declare function observeCoordinationBinding(projectRoot: string, remote: string, repositoryId: string, credentialId: string): HumanScopeBinding; export declare function nativeCoordinationObservers(context: RepositoryContext, approved: HumanScopeBinding): { remote: string; observeBinding: () => { 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; }; binding: { 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; }; provider: GitHubCoordinationReader; }; /** No production-enabled flag or injected Provider: the bounded ticket alone authorizes the first qualification write. */ export declare function createQualificationRuntime(projectRoot: string, approvalRef: string, controlRef: string, held?: MutationLock): { context: RepositoryContext; binding: { 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; }; store: GitCoordinationStore; provider: GitHubCoordinationReader; writer: ManagedWriteContext; prepareBootstrap: () => Readonly<{ kind: "prepared-synthetic-publication"; }>; bootstrap: () => import("./publication.js").SyntheticApplied; sourceFixture: (fixtureId: string) => import("./publication.js").SyntheticApplied; recoverSynthetic: (attemptId: string) => { status: "state-observed"; candidate: import("./publication.js").SyntheticCandidate; observedHead: string; } | { status: "applied"; candidate: import("./publication.js").SyntheticCandidate; observedHead: string; }; lifecycle: CoordinationLifecycleService; }; /** Exact isolated takeover sub-ticket. Production will additionally consume its adopted configuration, never this ticket alone. */ export declare function createTakeoverRuntime(projectRoot: string, approvalRef: string, held: MutationLock): { context: RepositoryContext; binding: { 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; }; store: GitCoordinationStore; provider: GitHubCoordinationReader; takeover(): import("./types.js").CoordinationRecord; }; //# sourceMappingURL=runtime.d.ts.map