import type { Hex } from 'viem'; import type { SignAuthorizationReturnType } from 'viem/accounts'; import type { EvmGaslessChainDeps, SignedSponsoredTransaction, SponsoredTransactionCall } from '../types'; type SendWithCallsParams = { /** 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, nonce * generation (and its on-chain check) is skipped and the supplied value is * used as-is. Useful for mutually-exclusive / cancel-replace intents. */ nonce?: bigint; /** How long the signed intent remains valid, in seconds. Defaults to 600. */ validForSeconds?: number; }; type SendWithSignedTxParams = { /** A pre-signed sponsored transaction payload from `signSponsoredTransaction`. */ signedTransaction: SignedSponsoredTransaction; }; type SendSponsoredTransactionParams = SendWithCallsParams | SendWithSignedTxParams; /** * Sends a sponsored EVM transaction and waits for on-chain inclusion. * * Composes `relaySponsoredTransaction` (signs + submits to the relay) and * `waitForSponsoredTransaction` (polls relay status). Returns the on-chain * transaction hash once the relay reports inclusion. */ export declare const sendSponsoredTransaction: (params: SendSponsoredTransactionParams, deps: EvmGaslessChainDeps) => Promise<{ transactionHash: Hex; }>; export {};