import type { ServerWebSocket } from 'bun'; import type { ChannelManager } from './channels'; import type { WebSocketData } from './types'; export declare interface BatchConfig { enabled?: boolean maxBatchSize?: number debounceMs?: number } export declare interface BatchSubscribeRequest { channels: string[] channelData?: Record } export declare interface BatchSubscribeResult { succeeded: string[] failed: Record } export declare interface BatchBroadcastRequest { channels: string[] event: string data: unknown excludeSocketId?: string } export declare class BatchOperationsManager { constructor(config?: BatchConfig | undefined, channelManager: ChannelManager); batchSubscribe(ws: ServerWebSocket, request: BatchSubscribeRequest): Promise; batchUnsubscribe(ws: ServerWebSocket, channels: string[]): { succeeded: string[], failed: Record }; batchBroadcast(broadcast: (channel: string, event: string, data: unknown, excludeSocketId?: string) => void, request: BatchBroadcastRequest): { succeeded: string[], failed: Record }; }