/// <reference types="node" resolution-mode="require"/>
import { GrumpkinAddress } from '@polyaztec/barretenberg/address';
import { AccountTx } from '@polyaztec/barretenberg/client_proofs';
import { ViewingKey } from '@polyaztec/barretenberg/viewing_key';
import { JoinSplitTxInput, JoinSplitTxInputJson } from './join_split_tx_input.js';
export { AccountTx } from '@polyaztec/barretenberg/client_proofs';
export interface AccountProofInput {
    tx: AccountTx;
    signingData: Buffer;
}
export interface AccountProofInputJson {
    tx: Uint8Array;
    signingData: Uint8Array;
}
export declare const accountProofInputToJson: ({ tx, signingData }: AccountProofInput) => AccountProofInputJson;
export declare const accountProofInputFromJson: ({ tx, signingData }: AccountProofInputJson) => AccountProofInput;
export interface PaymentProofInput {
    tx: JoinSplitTxInput;
    viewingKeys: ViewingKey[];
    signingData: Buffer;
}
export interface PaymentProofInputJson {
    tx: JoinSplitTxInputJson;
    viewingKeys: string[];
    signingData: Uint8Array;
}
export declare const paymentProofInputToJson: ({ tx, viewingKeys, signingData, }: PaymentProofInput) => PaymentProofInputJson;
export declare const paymentProofInputFromJson: ({ tx, viewingKeys, signingData, }: PaymentProofInputJson) => PaymentProofInput;
export interface DefiProofInput {
    tx: JoinSplitTxInput;
    viewingKey: ViewingKey;
    partialStateSecretEphPubKey: GrumpkinAddress;
    signingData: Buffer;
}
export interface DefiProofInputJson {
    tx: JoinSplitTxInputJson;
    viewingKey: string;
    partialStateSecretEphPubKey: string;
    signingData: Uint8Array;
}
export declare const defiProofInputToJson: ({ tx, viewingKey, partialStateSecretEphPubKey, signingData, }: DefiProofInput) => DefiProofInputJson;
export declare const defiProofInputFromJson: ({ tx, viewingKey, partialStateSecretEphPubKey, signingData, }: DefiProofInputJson) => DefiProofInput;
export declare type ProofInput = AccountProofInput | PaymentProofInput | DefiProofInput;
//# sourceMappingURL=proof_input.d.ts.map