import { Proof, Caller } from "../../wasmClient"; import { Scalar } from "../../crypto/scalar"; import * as singleThreadedWasm from "../../crates/shielder-wasm/pkg/pkg-web-singlethreaded/shielder_wasm.js"; import * as multiThreadedWasm from "../../crates/shielder-wasm/pkg/pkg-web-multithreaded/shielder_wasm.js"; import { Hasher } from "../../crypto/hasher"; interface PubInputs { hNote: Scalar; hId: Scalar; initialDeposit: Scalar; } export interface NewAccountReturn { proof: Proof; pubInputs: PubInputs; } export interface NewAccountValues { id: Scalar; nullifier: Scalar; trapdoor: Scalar; initialDeposit: Scalar; } export declare class NewAccount { #private; newAccountCircuit: singleThreadedWasm.NewAccountCircuit | multiThreadedWasm.NewAccountCircuit | undefined; caller: Caller; hasher: Hasher; constructor(caller: Caller); prove(values: NewAccountValues): NewAccountReturn; verify(proof: Proof, pubInputs: PubInputs): void; proveAndVerify(values: NewAccountValues): NewAccountReturn; } export {};