/// <reference types="node" resolution-mode="require"/>
import { GrumpkinAddress } from '@polyaztec/barretenberg/address';
import { BridgeCallData } from '@polyaztec/barretenberg/bridge_call_data';
import { ProofId } from '@polyaztec/barretenberg/client_proofs';
import { TxId } from '@polyaztec/barretenberg/tx_id';
export declare class CoreDefiTx {
    readonly txId: TxId;
    readonly userId: GrumpkinAddress;
    readonly bridgeCallData: BridgeCallData;
    readonly depositValue: bigint;
    readonly txFee: bigint;
    readonly txRefNo: number;
    readonly created: Date;
    readonly partialState: Buffer;
    readonly partialStateSecret: Buffer;
    nullifier?: Buffer | undefined;
    settled?: Date | undefined;
    interactionNonce?: number | undefined;
    isAsync?: boolean | undefined;
    success?: boolean | undefined;
    outputValueA?: bigint | undefined;
    outputValueB?: bigint | undefined;
    finalised?: Date | undefined;
    claimSettled?: Date | undefined;
    claimTxId?: TxId | undefined;
    readonly proofId = ProofId.DEFI_DEPOSIT;
    constructor(txId: TxId, userId: GrumpkinAddress, bridgeCallData: BridgeCallData, depositValue: bigint, txFee: bigint, txRefNo: number, created: Date, partialState: Buffer, partialStateSecret: Buffer, nullifier?: Buffer | undefined, settled?: Date | undefined, interactionNonce?: number | undefined, isAsync?: boolean | undefined, success?: boolean | undefined, outputValueA?: bigint | undefined, outputValueB?: bigint | undefined, finalised?: Date | undefined, claimSettled?: Date | undefined, claimTxId?: TxId | undefined);
}
export interface CoreDefiTxJson {
    proofId: number;
    txId: string;
    userId: string;
    bridgeCallData: string;
    depositValue: string;
    txFee: string;
    txRefNo: number;
    created: Date;
    partialState: string;
    partialStateSecret: string;
    nullifier?: string;
    settled?: Date;
    interactionNonce?: number;
    isAsync?: boolean;
    success?: boolean;
    outputValueA?: string;
    outputValueB?: string;
    finalised?: Date;
    claimSettled?: Date;
    claimTxId?: string;
}
export declare const coreDefiTxToJson: (tx: CoreDefiTx) => CoreDefiTxJson;
export declare const coreDefiTxFromJson: (json: CoreDefiTxJson) => CoreDefiTx;
//# sourceMappingURL=core_defi_tx.d.ts.map