import type { NovaProverInput, NovaProverOutput, SingleTeleportArtifacts, SingleTeleportParams } from "../types.js"; import type { BatchTeleportWasmArtifacts, SingleTeleportWasmArtifacts } from "../wasm/artifacts.js"; /** * Message types for the ZKP proof Web Worker. * @remarks * These types must remain compatible between: * - `src/zkp/workerClient.ts` (main thread) * - `src/zkp/worker.ts` (worker implementation) * * Requests and responses are correlated by numeric `id`. */ export type ProofWorkerJobType = "singleTeleport" | "nova"; /** * Per-job payload types. */ export interface ProofWorkerPayloads { singleTeleport: { params: SingleTeleportParams; artifacts: SingleTeleportWasmArtifacts; }; nova: { params: NovaProverInput; artifacts: BatchTeleportWasmArtifacts; }; } /** * Per-job result types. */ export interface ProofWorkerResults { singleTeleport: SingleTeleportArtifacts; nova: NovaProverOutput; } /** * Request message sent to the worker. */ export type ProofWorkerRequest = T extends ProofWorkerJobType ? { id: number; type: T; payload: ProofWorkerPayloads[T]; } : never; /** * Successful response message from the worker. */ export type ProofWorkerResultMessage = T extends ProofWorkerJobType ? { id: number; type: "result"; result: ProofWorkerResults[T]; } : never; /** * Error response message from the worker. */ export interface ProofWorkerErrorMessage { id: number; type: "error"; error: { message: string; stack?: string; }; } /** * Union of all possible worker responses. */ export type ProofWorkerResponse = ProofWorkerResultMessage | ProofWorkerErrorMessage; //# sourceMappingURL=workerTypes.d.ts.map