import type { Account, Address, BaseUnits, ControlFlowOptions, NativeUnits } from '../../../types.js'; import type { Chain } from '../index.js'; import type { Abi, FeeValuesEIP1559, Client } from 'viem'; export type DepositForBurnParams = { /** The amount to be deposited. */ amount: BaseUnits | NativeUnits; /** The domain of the destination chain. */ destinationDomain: number; /** The address of the account or contract that will receive the minted tokens. */ mintRecipient: Address; /** The address of the token to be burned */ burnToken: Address | { address: Address; abi?: Abi; }; /** The blockchain network on which the transaction will be executed. */ chain?: Chain; /** The address or account that will execute the transaction. */ account: Address | Account; /** The gas limit for the transaction. */ gas?: bigint; /** The fee values for the transaction */ fees?: FeeValuesEIP1559; }; /** * Executes the `depositForBurn` function of the Token Messenger contract for CCTP. * * @param client - The client instance to use for the operation. * @returns Returns the transaction hash of the contract execution */ export declare function depositForBurn(client: Client, params: DepositForBurnParams & ControlFlowOptions): Promise<`0x${string}`>;