import type { Abi, AbiStateMutability, Account, Address, Chain, Client, ContractFunctionArgs, ContractFunctionName, DeriveChain, FormattedTransactionRequest, GetChainParameter, Hash, Transport, UnionOmit } from 'viem'; import type { GetAccountParameter, UnionEvaluate } from '../types/utils.js'; export type BaseWriteContractActionParameters> = UnionEvaluate, 'blobs' | 'data' | 'from' | 'gas' | 'maxFeePerBlobGas' | 'gasPrice' | 'to' | 'type'>> & GetAccountParameter & GetChainParameter & { /** Gas limit for transaction execution on the L1. `null` to skip gas estimation & defer calculation to signer. */ gas?: bigint | null | undefined; }; export type ContractParameters = { abi: Abi; contractAddress: Address; contractFunctionName: ContractFunctionName; contractArgs: ContractFunctionArgs>; }; export declare function baseWriteAction>(client: Client, contractParameters: ContractParameters, parameters: BaseWriteContractActionParameters): Promise;