import type { NovaProverInput, NovaProverOutput, SingleTeleportArtifacts, SingleTeleportParams } from "../types.js"; import type { WasmRuntime } from "../wasm/index.js"; import { ZkpWorkerClient } from "./workerClient.js"; /** * High-level proof orchestration service. * @remarks * This service: * - Loads required prover artifacts * - Optionally runs jobs in a Web Worker (when available) * - Falls back to main-thread computation on worker failures * * Errors thrown by the underlying WASM prover are wrapped with a stable prefix for easier handling. */ export declare class ProofService { private readonly wasm; private readonly workerClient?; /** * Create a proof service bound to a {@link WasmRuntime}. * @param wasm - The WASM runtime for proof computation. * @param workerClient - Optional worker client for off-main-thread proof generation. * When omitted, proofs always run on the main thread. */ constructor(wasm: WasmRuntime, workerClient?: ZkpWorkerClient | undefined); /** * Create a single teleport (Groth16) proof for an eligible event. * @remarks * - Verifies global teleport proofs before proving. * - Uses a worker when available; falls back to main thread if the worker fails. * @throws If proof verification fails or the prover fails. */ createSingleTeleportProof(params: SingleTeleportParams): Promise; /** * Run the Nova batch prover to produce an IVC proof for multiple events. * @remarks * - Requires `events.length === proofs.length` and that each event/proof pair correspond by index. * - Uses a worker when available; falls back to main thread if the worker fails. * @throws If inputs are invalid, proof verification fails, or the prover fails. */ runNovaProver(params: NovaProverInput): Promise; private computeSingleTeleportProof; private computeNovaProof; } //# sourceMappingURL=proofService.d.ts.map