import { z } from "zod"; import { type EvidenceLock, type VerifiedClientEvidence } from "./evidence.js"; import { type QualificationManifest } from "./manifest.js"; declare const targetSchema: z.ZodObject<{ clientId: z.ZodString; projectRoot: z.ZodString; approvalRef: z.ZodString; }, "strict", z.ZodTypeAny, { clientId: string; approvalRef: string; projectRoot: string; }, { clientId: string; approvalRef: string; projectRoot: string; }>; export type QualificationClientTarget = z.infer; export type SettledQualification = Readonly<{ kind: "settled-local-qualification"; }>; export declare function readSettledQualification(handle: SettledQualification): { manifestHash: string; instances: { leader: { pid: number; parent: number; group: number; started: string; }; finalMembers: { pid: number; parent: number; group: number; started: string; }[]; executionStatus: "completed" | "aborted"; operationError: string | null; launch: import("./client_process.js").ClientLaunch; nonce: string; }[]; steps: { stepId: string; resultHash: string; }[]; evidence: Readonly<{ kind: "native-local-client-evidence"; }>[]; executionStatus: "aborted" | "completed"; executionError: string | null; }; /** Settlement fixes the closed run prefix, not a permanently frozen LKG head that its own cleanup would advance. */ export declare function collectSettledEvidence(handle: SettledQualification, held?: EvidenceLock): VerifiedClientEvidence[]; /** Fixed finite publications only; native bindings and pristine authorizations are checked for all clients before spawning. */ export declare function runLocalQualification(input: QualificationManifest, inputTargets: QualificationClientTarget[]): Promise<{ settled: Readonly<{ kind: "settled-local-qualification"; }>; evidence: Readonly<{ kind: "native-local-client-evidence"; }>[]; report: { execution: { kind: "local-synthetic-publication/1" | "local-same-sha-publication/1"; steps: { stepId: string; resultHash: string; }[]; instances: { leader: { pid: number; parent: number; group: number; started: string; }; finalMembers: { pid: number; parent: number; group: number; started: string; }[]; executionStatus: "completed" | "aborted"; operationError: string | null; launch: import("./client_process.js").ClientLaunch; nonce: string; }[]; drainCoverage: string; }; blockers: { code: string; clientId?: string; approvalRef?: string; attemptId?: string; candidateId?: string; }[]; 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[]; }; }>; export {}; //# sourceMappingURL=qualification.d.ts.map