import { type WalletClient } from 'viem'; import type { Execute } from '../types/Execute.js'; import type { BatchExecutorConfig } from '../types/BatchExecutor.js'; export type GaslessBatchProgress = { status: 'signing_authorization' | 'signing_batch' | 'submitting' | 'polling' | 'success' | 'failure'; requestId?: string; details?: any; }; export type ExecuteGaslessBatchParameters = { /** The quote obtained from getQuote() */ quote: Execute; /** viem WalletClient with an account attached */ walletClient: WalletClient; /** Batch executor config — defaults to Calibur */ executor?: BatchExecutorConfig; /** Whether the sponsor pays all fees (default: false) */ subsidizeFees?: boolean; /** Gas overhead for the origin chain gasless transaction. * Overrides the executor's default if provided (Calibur default: 80,000). */ originGasOverhead?: number; /** Progress callback for each stage of the flow */ onProgress?: (data: GaslessBatchProgress) => void; }; export type GaslessBatchResult = { requestId: string; }; /** * Execute a gasless batch swap using EIP-7702 delegation. * * Takes a quote from getQuote(), delegates the user's EOA to a batch executor * (defaults to Calibur), batches the quote's transaction steps atomically, * and submits via Relay's /execute API with the sponsor covering gas costs. * * @example * ```ts * const quote = await getQuote({ ... }) * const result = await executeGaslessBatch({ quote, walletClient }) * console.log(result.requestId) * ``` * * @param parameters - {@link ExecuteGaslessBatchParameters} */ export declare function executeGaslessBatch(parameters: ExecuteGaslessBatchParameters): Promise; //# sourceMappingURL=gaslessBatch.d.ts.map