import type { HttpDeciderClient } from "../decider/prover.js"; import type { NovaProverInput, NovaProverOutput, SingleTeleportArtifacts, SingleTeleportParams } from "../types.js"; import type { WasmRuntimeOptions } from "../wasm/index.js"; import { WasmRuntime } from "../wasm/index.js"; import { ProofService } from "../zkp/proofService.js"; import { ZkpWorkerClient } from "../zkp/workerClient.js"; type WasmInit = WasmRuntime | WasmRuntimeOptions | undefined; type ProofServiceInit = ProofService | undefined; export interface TeleportProofClientOptions { /** Optional WASM runtime instance or configuration. */ wasm?: WasmInit; /** Optional proof service (useful for testing or custom wiring). */ proofs?: ProofServiceInit; /** Optional worker client for off-main-thread proof generation. Defaults to a new ZkpWorkerClient. */ workerClient?: ZkpWorkerClient; } /** * High-level proof client for teleport operations. * * Uses `ProofService` to generate proofs (single Groth16, batch Nova), and calls the decider service for batch proofs. */ export declare class TeleportProofClient { private readonly proofs; constructor(proofs: ProofService); /** * Create a single teleport proof (Groth16). */ createSingleTeleportProof(params: SingleTeleportParams): Promise; /** * Run the Nova prover to produce an IVC proof. */ createNovaProof(params: NovaProverInput): Promise; /** * Request a Groth16 decider proof from the decider service. */ requestDeciderProof(decider: HttpDeciderClient, ivcProof: Uint8Array): Promise; } /** * Create a TeleportProofClient with optional custom WASM runtime and proof service. */ export declare function createTeleportProofClient(options?: TeleportProofClientOptions): TeleportProofClient; export {}; //# sourceMappingURL=teleportProof.d.ts.map