export interface BatchRequest { id: string; type: 'CREATE_ORDER' | 'CANCEL_ORDER' | 'MODIFY_ORDER'; params: any; timestamp: number; } export interface BatchResponse { id: string; success: boolean; result?: any; error?: string; timestamp: number; } export interface BatchConfig { maxBatchSize: number; maxWaitTime: number; flushInterval: number; } export declare class RequestBatcher { private batchProcessor; private config; private pendingRequests; private batchQueue; private flushTimer; private isProcessing; constructor(batchProcessor: (requests: BatchRequest[]) => Promise, config?: Partial); addRequest(type: 'CREATE_ORDER' | 'CANCEL_ORDER' | 'MODIFY_ORDER', params: any): Promise; private scheduleFlush; private flush; flushAll(): Promise; getStats(): { pendingRequests: number; batchQueue: number; isProcessing: boolean; }; destroy(): Promise; } export declare function createOrderBatcher(batchProcessor: (requests: BatchRequest[]) => Promise, options?: { maxBatchSize?: number; maxWaitTime?: number; flushInterval?: number; }): RequestBatcher; export declare function createHFTBatcher(batchProcessor: (requests: BatchRequest[]) => Promise): RequestBatcher; export declare function createGeneralBatcher(batchProcessor: (requests: BatchRequest[]) => Promise): RequestBatcher; //# sourceMappingURL=request-batcher.d.ts.map