import Big from 'big.js'; import { Blockchain, Asset, AppConfig } from '../types/config.js'; import { JsonRpcApiProvider, TransactionRequest } from 'ethers'; import { WrapStatus, TxHash } from './models.js'; type TransferAssetEVMParams = { currentBlockchain: Blockchain.AVALANCHE | Blockchain.ETHEREUM; amount: Big; account: string; asset: Asset; avalancheProvider: JsonRpcApiProvider; ethereumProvider: JsonRpcApiProvider; config: AppConfig; onStatusChange: (status: WrapStatus) => void; onTxHashChange: (txHash: string) => void; signAndSendEVM?: (txData: TransactionRequest) => Promise; }; /** * Transfer an ERC20 asset. * When currentBlockchain is Avalanche the asset will be transferred to * Ethereum and vice versa. * * @param signAndSendEVM Required when the provider for the currentBlockchain * does not support signing transactions. */ declare function transferAssetEVM({ currentBlockchain, amount, account, asset, avalancheProvider, ethereumProvider, config, onStatusChange, onTxHashChange, signAndSendEVM, }: TransferAssetEVMParams): Promise; export { TransferAssetEVMParams, transferAssetEVM };