import { CashoutProofWitness, DepositWitness, JoinSplitWitness, WithdrawWitness } from './types.cjs'; declare const ARTIFACTS: { readonly deposit: { readonly wasm: "deposit.wasm"; readonly zkey: "deposit.zkey"; }; readonly withdraw: { readonly wasm: "withdraw.wasm"; readonly zkey: "withdraw.zkey"; }; readonly joinsplit: { readonly wasm: "joinsplit2x2.wasm"; readonly zkey: "joinsplit2x2.zkey"; }; readonly cashoutproof: { readonly wasm: "cashoutproof.wasm"; readonly zkey: "cashoutproof.zkey"; }; }; type CircuitName = keyof typeof ARTIFACTS; type ProveResult = { proofBytes: Uint8Array; publicSignals: string[]; proveMs: number; }; type ProveOptions = { artifactBaseUrl?: string; }; declare function proveDeposit(witness: DepositWitness, options?: ProveOptions): Promise; declare function proveWithdraw(witness: WithdrawWitness, options?: ProveOptions): Promise; declare function proveJoinSplit(witness: JoinSplitWitness, options?: ProveOptions): Promise; declare function proveCashoutProof(witness: CashoutProofWitness, options?: ProveOptions): Promise; declare function proveAny(circuit: CircuitName, witness: Record, options?: ProveOptions): Promise; declare function proofPreview(bytes: Uint8Array): string; export { type CircuitName, type ProveOptions, type ProveResult, proofPreview, proveAny, proveCashoutProof, proveDeposit, proveJoinSplit, proveWithdraw };