import { ethers } from 'ethers';
import { ERC20Token } from '../../types';
import { FeeStructure } from '../../types/hinkal.types';
import { HookDataType } from '../../types/circom-data.types';
import { Utxo } from '../utxo/Utxo';
import { IHinkal } from './IHinkal';
interface PrepareOptions {
    hookData?: HookDataType;
}
export declare const prepareDepositOnChainUtxosZkProof: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, recipientAmounts: bigint[], feeStructure: FeeStructure, options?: PrepareOptions) => Promise<{
    zkCallData: import('../..').NewZkCallDataType;
    circomData: import('../..').CircomDataType;
    dimData: import('../..').DimDataType;
    utxoAmounts: bigint[];
    totalAmount: bigint;
    hinkalWrapperAddress: string;
    depositOnChainUtxosExternalActionAddress: string;
    hinkalWrapperABI: ethers.InterfaceAbi;
    depositOnChainUtxosExternalActionABI: ethers.InterfaceAbi;
    inputUtxosArray: Utxo[][];
}>;
export {};
