import { type Abi, type Account, type Client, type ContractFunctionArgs, type ContractFunctionName, type PublicClient, type Transport, type WalletClient, type WriteContractParameters, type WriteContractReturnType } from "viem";
import type { ChainEIP712 } from "viem/zksync";
import type { SessionConfig } from "../sessions.js";
import type { CustomPaymasterHandler } from "../types/customPaymaster.js";
export declare function writeContractForSession<chain extends ChainEIP712 | undefined, account extends Account | undefined, const abi extends Abi | readonly unknown[], functionName extends ContractFunctionName<abi, "nonpayable" | "payable">, args extends ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ChainEIP712 | undefined>(client: Client<Transport, ChainEIP712, Account>, signerClient: WalletClient<Transport, ChainEIP712, Account>, publicClient: PublicClient<Transport, ChainEIP712>, parameters: WriteContractParameters<abi, functionName, args, chain, account, chainOverride>, session: SessionConfig, customPaymasterHandler?: CustomPaymasterHandler | undefined): Promise<WriteContractReturnType>;
//# sourceMappingURL=writeContractForSession.d.ts.map