import { type MutationLock } from "../recovery/service.js"; import { type QualificationManifest } from "./manifest.js"; declare function readFamily(commonDir: string, approvalRef: string): { chains: { receipts: import("../receipt/service.js").ReceiptEvent[]; approvalRef: string; state: import("../approval/human.js").HumanAuthorization; }[]; lkg: import("../receipt/service.js").LkgRecord[]; heads: { lkg: string | null; receipts: { [k: string]: string; }; }; }; type ClientFacts = ReturnType & { projectRoot: string; approvalRef: string; manifestHash: string; clientId: string; observedAt: string; origin: { kind: "native-local-loader"; pid: number; platform: string; arch: string; node: string; hostId: string; }; }; export type VerifiedClientEvidence = Readonly<{ kind: "native-local-client-evidence"; }>; export type EvidenceLock = { clientId: string; lock: MutationLock; }; /** Actual native binding and full local receipt/LKG validation. This does not attest process drain or GitHub qualification. */ export declare function collectClientEvidence(projectRoot: string, approvalRef: string, held?: MutationLock): VerifiedClientEvidence; /** A serialized projection is useful evidence, but cannot be imported as a verified handle. */ export declare function readVerifiedClientEvidence(handle: VerifiedClientEvidence): ClientFacts; /** Re-observe under the existing lock before consuming previously collected facts. No tail repair or new authority. */ export declare function recheckClientEvidence(handle: VerifiedClientEvidence, held?: MutationLock): void; /** Aggregates observed facts only; absent clients and missing execution evidence are never normalized to zero/PASS. */ export declare function evaluateQualificationRun(input: QualificationManifest, evidence: VerifiedClientEvidence[], held?: EvidenceLock): { manifestHash: string; status: "incomplete"; qualified: boolean; topology: "LOCAL"; observedClients: string[]; counts: { commits: number; writeAttempts: number; cleanupAttempts: number; }; countsComplete: boolean; requiredCases: import("./qualification_cases.js").QualificationCase[]; blockers: { code: string; clientId?: string; approvalRef?: string; attemptId?: string; candidateId?: string; }[]; }; export {}; //# sourceMappingURL=evidence.d.ts.map