import type { SignAuthorizationReturnType } from 'viem/accounts'; import type { EvmGaslessChainDeps, SignedSponsoredTransaction, SponsoredTransactionCall } from '../types'; type SignSponsoredTransactionParams = { /** Pre-signed EIP-7702 authorization. Takes priority over autoDelegate. */ authorization?: SignAuthorizationReturnType; /** Whether to automatically sign 7702 authorization if not delegated. Defaults to true. */ autoDelegate?: boolean; /** The batch of calls to execute. */ calls: SponsoredTransactionCall[]; /** * Optional bitmap nonce to sign the intent with. When provided, intent nonce * generation is skipped entirely (no on-chain `isNonceUsed` check) and the * supplied value is used as-is. Matches the `nonce` field returned on the * signed-transaction result so callers can reuse it. Useful for * mutually-exclusive / cancel-replace intents: signing multiple intents with * the same nonce so at most one can ever land on-chain. */ nonce?: bigint; /** How long the signed intent remains valid, in seconds. Defaults to 600 (10 minutes). */ validForSeconds?: number; }; /** * Signs a sponsored transaction as an EIP-712 `AuthorizedExecutions` intent. * * Orchestrates the full signing flow: resolves the (optional) EIP-7702 * authorization, generates a bitmap nonce, fetches the relay address for * the target chain, and signs the typed-data payload with the wallet client * provided in `deps`. */ export declare const signSponsoredTransaction: ({ authorization, autoDelegate, calls, nonce: providedNonce, validForSeconds, }: SignSponsoredTransactionParams, deps: EvmGaslessChainDeps) => Promise; export {};