import { DataItem, BatchSubmissionResult } from '../types/contract.types.js'; import { SubmitConfig } from '../config/submit.config.js'; export declare class TransactionBatcherService { private wallet; private contract; private config; private nonce; private gasPrice; private maxFeePerGas?; private maxPriorityFeePerGas?; constructor(rpcUrl: string, submitContractAddress: string, privateKey: string, configOverrides?: Partial, gasPrice?: string | number, maxFeePerGas?: string | number, maxPriorityFeePerGas?: string | number); /** * Prepares DataItem for contract call by converting CIDs to hashes. */ private prepareDataItemForContract; /** * Manages nonce for transactions. Fetches initial nonce if not set. */ private getNonce; /** * Detects if an error is related to nonce issues */ private isNonceError; /** * Synchronizes nonce with current blockchain state */ private synchronizeNonce; /** * Implements transaction batching logic (Task 11.2). * Groups items into batches of configured size. */ groupItemsIntoBatches(items: DataItem[]): DataItem[][]; /** * Implements single batch submission (Task 11.3). * Submits one batch of items to the contract. * Includes gas estimation and retry logic. */ submitBatch(batchItems: DataItem[]): Promise; /** * Implements multi-batch submission (Task 11.4). * Submits all items by breaking them into batches and submitting each one. * Uses an async generator to yield results for each batch. */ submitAll(allItems: DataItem[]): AsyncGenerator; } //# sourceMappingURL=transaction-batcher.service.d.ts.map