import { BigNumber, BigNumberish } from 'ethers'; export * from '@sismo-core/crypto'; declare type PrivateInputs = { secret: BigInt; value: BigInt; commitmentReceipt: [BigInt, BigInt, BigInt]; }; declare type PublicInputs = { destinationIdentifier: BigInt; chainId: BigInt; commitmentSignerPubKey: [BigInt, BigInt]; groupId: BigInt; ticketIdentifier: BigInt; userTicket: BigInt; claimedValue: BigInt; isStrict: boolean; }; declare type Inputs = { privateInputs: PrivateInputs; publicInputs: PublicInputs; }; declare type ProofGroth16 = { pi_a: [BigNumber, BigNumber]; pi_b: [[BigNumber, BigNumber], [BigNumber, BigNumber]]; pi_c: [BigNumber, BigNumber]; }; declare class SnarkProof { input: BigNumber[]; a: [BigNumber, BigNumber]; b: [[BigNumber, BigNumber], [BigNumber, BigNumber]]; c: [BigNumber, BigNumber]; constructor(input: BigNumber[], proof: ProofGroth16); toBytes(): string; } declare type CircuitPath = { wasmPath: string; zkeyPath: string; } | null; declare type UserParams = { secret: BigNumberish; value: BigNumberish; destinationIdentifier: BigNumberish; chainId: BigNumberish; commitmentReceipt: [BigNumberish, BigNumberish, BigNumberish]; commitmentSignerPubKey: [BigNumberish, BigNumberish]; groupId: BigNumberish; ticketIdentifier: BigNumberish; claimedValue: BigNumberish; isStrict: boolean; }; declare class Pythia1Prover { private esmOverrideCircuitPath; constructor(esmOverrideCircuitPath?: CircuitPath); generateInputs({ secret, value, destinationIdentifier, chainId, commitmentReceipt, groupId, commitmentSignerPubKey, ticketIdentifier, claimedValue, isStrict, }: UserParams): Promise; userParamsValidation({ secret, value, destinationIdentifier, chainId, commitmentReceipt, commitmentSignerPubKey, groupId, ticketIdentifier, claimedValue, isStrict, }: UserParams): Promise; generateSnarkProof({ secret, value, destinationIdentifier, chainId, commitmentReceipt, commitmentSignerPubKey, groupId, ticketIdentifier, claimedValue, isStrict, }: UserParams): Promise; } declare const zkeyPath: string | null; declare const wasmPath: string | null; declare class Pythia1Verifier { static verifyProof(a: BigNumber[], b: BigNumber[][], c: BigNumber[], input: BigNumber[]): Promise; } export { CircuitPath, Inputs, PrivateInputs, PublicInputs, Pythia1Prover, Pythia1Verifier, SnarkProof, UserParams, wasmPath, zkeyPath };