import { z } from "zod"; export declare const clientCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodEnum<["step", "prepare", "dispatch", "recover-rejected"]>; nonce: z.ZodString; stepId: z.ZodString; }, "strict", z.ZodTypeAny, { type: "step" | "prepare" | "dispatch" | "recover-rejected"; stepId: string; nonce: string; }, { type: "step" | "prepare" | "dispatch" | "recover-rejected"; stepId: string; nonce: string; }>, z.ZodObject<{ type: z.ZodLiteral<"stop">; nonce: z.ZodString; }, "strict", z.ZodTypeAny, { type: "stop"; nonce: string; }, { type: "stop"; nonce: string; }>, z.ZodObject<{ type: z.ZodLiteral<"abort-stop">; nonce: z.ZodString; }, "strict", z.ZodTypeAny, { type: "abort-stop"; nonce: string; }, { type: "abort-stop"; nonce: string; }>, z.ZodObject<{ type: z.ZodLiteral<"exit">; nonce: z.ZodString; }, "strict", z.ZodTypeAny, { type: "exit"; nonce: string; }, { type: "exit"; nonce: string; }>]>; type Member = { pid: number; parent: number; group: number; started: string; }; export type ClientProcess = Readonly<{ kind: "native-qualification-client"; }>; export type ClientLaunch = { projectRoot: string; approvalRef: string; manifestHash: string; clientId: string; bindingHash: string; role?: "writer" | "rejected-recovery"; attemptId?: string; }; /** No executable/argv/Provider seam: only this package's fixed worker can be launched by the native runner. */ export declare function startClientProcess(launch: ClientLaunch): Promise; export declare function runClientStep(handle: ClientProcess, stepId: string, action?: "step" | "prepare" | "dispatch" | "recover-rejected"): Promise; export declare function settleClientProcess(handle: ClientProcess, mode?: "complete" | "abort"): Promise; export declare function readClientSettlement(handle: ClientProcess): { leader: Member; finalMembers: Member[]; executionStatus: "completed" | "aborted"; operationError: string | null; launch: ClientLaunch; nonce: string; }; /** Cooperative disconnect only. Unknown/reused numeric PID/PGID is never a target, and abandonment never attests drain. */ export declare function abandonClientProcess(handle: ClientProcess): void; export {}; //# sourceMappingURL=client_process.d.ts.map