import type { Execute } from '../types/Execute.js'; /** * Returns true when the step sequence can be collapsed into a single atomic * batch transaction. * * Supported shapes: * [approve, swap | deposit] // standard 2-step flow * [approve, approve, swap | deposit] // zero-reset flow (e.g. USDT on Ethereum) * [approve, ..., approve, swap | deposit] // N leading approvals + terminal * * Every item in every step must be incomplete — any already-executed item * means we're in the middle of a partial run and should not re-batch. */ export declare function canBatchTransactions(steps: Execute['steps']): boolean; /** * Flattens N approval steps + terminal (swap|deposit) step into a single * batched step whose items will be submitted together via EIP-5792 * `wallet_sendCalls`. * * The first item stays `incomplete` so the executeSteps iterator picks it as * the active step item; all subsequent items are pre-marked `complete` so the * iterator doesn't try to execute them again as separate transactions after * the batch lands. */ export declare function prepareBatchTransaction(steps: Execute['steps']): { id: any; action: string; description: string; kind: "transaction"; items: { status: "complete" | "incomplete"; receipt?: import("viem").TransactionReceipt | import("../index.js").SvmReceipt | import("../index.js").SuiReceipt | import("../index.js").TronReceipt | import("../index.js").LvmReceipt | undefined; checkStatus?: "failure" | "pending" | "success" | "refund" | "waiting" | "submitted" | "unknown" | undefined; progressState?: "confirming" | "validating" | "complete" | "signing" | "posting" | undefined; data?: any; check?: { endpoint?: string | undefined; method?: string | undefined; } | undefined; orderIndexes?: number[] | undefined; orderIds?: string[] | undefined; error?: string | undefined; txHashes?: { txHash: string; chainId: number; isBatchTx?: boolean | undefined; }[] | undefined; internalTxHashes?: { txHash: string; chainId: number; isBatchTx?: boolean | undefined; }[] | undefined; errorData?: any; orderData?: { crossPostingOrderId?: string | undefined; orderId: string; orderIndex: string; }[] | undefined; isValidatingSignature?: boolean | undefined; }[]; requestId: string | undefined; }; //# sourceMappingURL=prepareBatchTransaction.d.ts.map