import type { SignAuthorizationReturnType } from 'viem/accounts'; import type { EvmGaslessChainDeps, SignedSponsoredTransaction, SponsoredTransactionCall } from '../types'; type RelayWithCallsParams = { /** 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 RelayWithSignedTxParams = { /** A pre-signed sponsored transaction payload from `signSponsoredTransaction`. */ signedTransaction: SignedSponsoredTransaction; }; type RelaySponsoredTransactionParams = RelayWithCallsParams | RelayWithSignedTxParams; /** * Relays a signed sponsored transaction to the Dynamic backend. * * Accepts either an already-signed payload from `signSponsoredTransaction` * or unsigned calls (in which case signing is performed first). Returns the * `requestId` the relay backend uses to identify the broadcast attempt — use * this with `waitForSponsoredTransaction` to await on-chain inclusion. */ export declare const relaySponsoredTransaction: (params: RelaySponsoredTransactionParams, deps: EvmGaslessChainDeps) => Promise<{ requestId: string; }>; export {};