import { type EvidenceLock } from "./evidence.js"; import { type SettledQualification } from "./qualification.js"; import { type QualificationCase } from "./qualification_cases.js"; type Winner = { clientId: string; approvalRef: string; candidateId: string; attemptId: string; transactionId: string; }; type Observation = { ref: string; head: string | null; ancestry: string[]; winner: Winner | null; }; export type QualificationRemoteEvidence = Readonly<{ kind: "native-qualification-remote-evidence"; }>; /** Read-only native observation. No injected transport, caller-supplied result or imported process proof. */ export declare function observeQualificationRemote(settlement: SettledQualification, held?: EvidenceLock): QualificationRemoteEvidence; /** Reports are projections, never importable authority. Keep the original private handles for the native cleanup boundary. */ export declare function readQualificationRemote(handle: QualificationRemoteEvidence): { manifest: { schemaVersion: "qualification-run-manifest/1"; expiresAt: string; repository: string; endpointHash: string; repositoryId: string; runId: string; maxCommits: number; maxWriteAttempts: number; cleanupExpiresAt: string; refs: string[]; maxCleanupAttempts: number; synthetic: { objects: { schemaVersion: "synthetic-object/1"; kind: "control-genesis" | "source-fixture"; objectPlanHash: string; objectFormat: "sha1"; metadata: { runId: string; objectId: string; seconds: number; }; parents: string[]; treeSha: string; commitText: string; commitSha: string; commitBytesSha256: string; }[]; controls: { fixtureId: string; ref: string; }[]; publications: { expected: string | null; transactionId: string; fixtureId: string; ref: string; }[]; }; manifestHash: string; requiredCases: ("dg01-identity-scope" | "dg01-cas" | "dg01-acquire-contention" | "dg01-objects-history" | "dg01-time-renew" | "dg01-late-renew" | "dg01-recovery" | "dg01-handoff" | "dg01-drain" | "dg01-terminal" | "dg01-cli-gates" | "dg01-human-budget")[]; clients: { scope: { kind: "qualification-run"; operations: ("create" | "cas")[]; expiresAt: 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; }; runId: string; maxCommits: number; maxWriteAttempts: number; cleanupExpiresAt: string; refs: string[]; maxCleanupAttempts: number; synthetic: { objects: { schemaVersion: "synthetic-object/1"; kind: "control-genesis" | "source-fixture"; objectPlanHash: string; objectFormat: "sha1"; metadata: { runId: string; objectId: string; seconds: number; }; parents: string[]; treeSha: string; commitText: string; commitSha: string; commitBytesSha256: string; }[]; controls: { fixtureId: string; ref: string; }[]; publications: { expected: string | null; transactionId: string; fixtureId: string; ref: string; }[]; }; takeoverAllocations?: { sourceRef: string; workItem: string; controlRef: string; allocationId: string; genesisSha: string; maxCommits: number; maxWriteAttempts: number; }[] | undefined; localResources?: { expiresAt: string; commonDir: string; configHash: string; authorityRoot: string; hostBindingHash: string; cleanupExpiresAt: string; maxConcurrent: number; items: { path: string; operations: ["import-source", "create-once", "observe", "close-exact"]; branch: string; fixtureId: string; resourceId: string; clientId: string; sourceSha: string; }[]; } | undefined; }; clientId: string; }[]; cleanupClientId: string; sameShaPublicationNegativeControl?: { expected: string | null; fixtureId: string; ref: string; publications: { transactionId: string; clientId: string; }[]; caseId: "dg01-cas"; } | undefined; acquireContention?: { controlRef: string; caseId: "dg01-acquire-contention"; contenders: { transactionId: string; clientId: string; }[]; } | undefined; execution?: { kind: "local-synthetic-publication/1"; steps: { transactionId: string; fixtureId: string; operation: "bootstrap" | "publish-source"; clientId: string; stepId: string; }[]; resourceStep?: { clientId: string; stepId: string; } | undefined; } | { kind: "local-acquire-contention/1"; steps: { transactionId: string; fixtureId: string; operation: "bootstrap" | "publish-source"; clientId: string; stepId: string; }[]; resourceStep?: { clientId: string; stepId: string; } | undefined; } | { kind: "local-same-sha-publication/1"; } | undefined; }; observations: Observation[]; evidence: Readonly<{ kind: "native-local-client-evidence"; }>[]; settled: Readonly<{ kind: "settled-local-qualification"; }>; evidenceHash: string; }; /** Partial case evidence requires actual native settlement, original receipts and current approved remote history. */ export declare function observedQualificationCases(handle: QualificationRemoteEvidence): QualificationCase[]; export {}; //# sourceMappingURL=qualification_remote.d.ts.map