/** @module sendSuperchainERC20 */ import type { Account, Address, Chain, Client, ContractFunctionReturnType, DeriveChain, EstimateContractGasErrorType, Hash, Transport, WriteContractErrorType } from 'viem'; import { superchainTokenBridgeAbi } from '../../abis/index.js'; import type { BaseWriteContractActionParameters } from '../../core/baseWriteAction.js'; import type { ErrorType } from '../../types/utils.js'; /** * @category Types */ export type SendSuperchainERC20Parameters> = BaseWriteContractActionParameters & { /** Token to send. */ tokenAddress: Address; /** Address to send tokens to. */ to: Address; /** Amount of tokens to send. */ amount: bigint; /** Chain ID of the destination chain. */ chainId: number; }; /** * @category Types */ export type SendSuperchainERC20ReturnType = Hash; /** * @category Types */ export type SendSuperchainERC20ContractReturnType = ContractFunctionReturnType; /** * @category Types */ export type SendSuperchainERC20ErrorType = EstimateContractGasErrorType | WriteContractErrorType | ErrorType; /** * Sends tokens to a target address on another chain. Used in the interop flow. * @category Actions * @param client - L2 Client * @param parameters - {@link SendSuperchainERC20Parameters} * @returns transaction hash - {@link SendSuperchainERC20ReturnType} */ export declare function sendSuperchainERC20(client: Client, parameters: SendSuperchainERC20Parameters): Promise; /** * Estimates gas for {@link sendSuperchainERC20} * @category Actions * @param client - L2 Client * @param parameters - {@link SendSuperchainERC20Parameters} * @returns estimated gas value. */ export declare function estimateSendSuperchainERC20Gas(client: Client, parameters: SendSuperchainERC20Parameters): Promise; /** * Simulate contract call for {@link sendSuperchainERC20} * @category Actions * @param client - L2 Client * @param parameters - {@link SendSuperchainERC20Parameters} * @returns contract return value - {@link SendSuperchainERC20ContractReturnType} */ export declare function simulateSendSuperchainERC20(client: Client, parameters: SendSuperchainERC20Parameters): Promise;