import { type Abi, type Account, type Address, type Chain, type ContractFunctionArgs, type ContractFunctionName, type Transport, type WalletClient, type WriteContractParameters, type WriteContractReturnType } from 'viem'; import { type RawOrContractAddress } from '../../../types/addresses.js'; export type WriteContractDepositParameters = ContractFunctionName, TArgs extends ContractFunctionArgs = ContractFunctionArgs, TChain extends Chain | undefined = Chain, TAccount extends Account | undefined = Account | undefined, TChainOverride extends Chain | undefined = Chain | undefined, _chainId = TChain extends Chain ? TChain['id'] : number> = { account: TAccount | Address; l2GasLimit: bigint; l2MsgValue?: bigint; strict?: boolean; portal: RawOrContractAddress<_chainId>; } & Omit, // NOTE(Wilson): // NOTE(Wilson): 'value' | 'account'>; /** * A L1 -> L2 version of Viem's writeContract. Can be used to create an arbitrary L2 transaction from L1. * NOTE: If caller is a smart contract wallet, msg.sender on the L2 transaction will be an alias of the L1 address. * Must set `strict` = false to allow calling from smart contract wallet. * * @param parameters - {@link WriteContractDepositParameters} * @returns A [Transaction Hash](https://viem.sh/docs/glossary/terms.html#hash). {@link WriteContractReturnType} */ export declare function writeContractDeposit, TArgs extends ContractFunctionArgs, TChainOverride extends Chain | undefined>(client: WalletClient, { abi, account: account_, address, args, functionName, l2GasLimit, l2MsgValue, portal, strict, ...request }: WriteContractDepositParameters): Promise; //# sourceMappingURL=writeContractDeposit.d.ts.map