import type Web3 from "web3"; import type { Client } from "../client"; import type { NightfallZkpKeys } from "../nightfall/types"; import type { TransactionResult } from "./types"; /** * Handle the flow for withdrawal transaction (tx) * * @async * @function createWithdrawalTx * @param {*} token An instance of Token holding token data such as contract address * @param {string} ownerEthAddress Eth address sending the contents of the withdrawal * @param {undefined | string} ownerEthPrivateKey Eth private key of the sender to sign the tx * @param {NightfallZkpKeys} ownerZkpKeys Sender's set of Zero-knowledge proof keys * @param {string} shieldContractAddress Address of the Shield smart contract * @param {Web3} web3 web3js instance * @param {Client} client An instance of Client to interact with the API * @param {string} value The amount in Wei of the token to be withdrawn * @param {string} tokenId The id of the ERC721 to be withdrawn * @param {string} fee Proposer payment in Wei for the tx in L2 * @param {string} recipientEthAddress Recipient Eth address * @param {boolean} isOffChain If true, tx will be sent to the proposer's API (handled off-chain) * @param {string[] | []} [providedCommitments] Commitments to be withdrawn * @param {string[] | []} [providedCommitmentsFee] Commitments to be used to pay fee * @throws {NightfallSdkError} Error while broadcasting on-chain tx * @returns {Promise} */ export declare function createWithdrawalTx(token: any, ownerAddress: string, ownerEthPrivateKey: undefined | string, ownerZkpKeys: NightfallZkpKeys, shieldContractAddress: string, web3: Web3, client: Client, value: string, tokenId: string, fee: string, recipientEthAddress: string, isOffChain: boolean, providedCommitments?: string[] | [], providedCommitmentsFee?: string[] | []): Promise;