import { type Account, type Client, type PublicClient, type SendTransactionRequest, type Transport, type WalletClient } from "viem";
import type { ChainEIP712, SendEip712TransactionParameters, SignEip712TransactionParameters, SignTransactionReturnType } from "viem/zksync";
import { type SessionConfig } from "../sessions.js";
import type { CustomPaymasterHandler } from "../types/customPaymaster.js";
export interface SendTransactionForSessionParameters<chain extends ChainEIP712 | undefined = ChainEIP712 | undefined, account extends Account | undefined = Account | undefined, chainOverride extends ChainEIP712 | undefined = ChainEIP712 | undefined, request extends SendTransactionRequest<chain, chainOverride> = SendTransactionRequest<chain, chainOverride>> {
    parameters: SendEip712TransactionParameters<chain, account, chainOverride, request>;
    session: SessionConfig;
}
export declare function signTransactionForSession<chain extends ChainEIP712 | undefined = ChainEIP712 | undefined, account extends Account | undefined = Account | undefined, chainOverride extends ChainEIP712 | undefined = ChainEIP712 | undefined>(client: Client<Transport, ChainEIP712, Account>, signerClient: WalletClient<Transport, ChainEIP712, Account>, publicClient: PublicClient<Transport, ChainEIP712>, parameters: SignEip712TransactionParameters<chain, account, chainOverride>, session: SessionConfig, customPaymasterHandler?: CustomPaymasterHandler | undefined): Promise<SignTransactionReturnType>;
//# sourceMappingURL=signTransactionForSession.d.ts.map