import { Plugin, SendRequestPluginArgs, SendResponsePluginArgs } from '@socket-mesh/core'; export interface BatchingPluginOptions { batchInterval?: number; batchOnHandshakeDuration?: false | number; type: TType; } export declare abstract class BatchingPlugin implements Plugin { private _batchingIntervalId; private _handshakeTimeoutId; private _isBatching; batchInterval: number; batchOnHandshakeDuration: boolean | number; type: TType; constructor(options: BatchingPluginOptions); cancelBatching(): void; protected abstract flush(): void; get isBatching(): boolean; onDisconnected(): void; onReady(): void; private start; startBatching(): void; private stop; stopBatching(): void; } export declare class RequestBatchingPlugin extends BatchingPlugin<'requestBatching'> { private _continue; private _requests; constructor(options?: Omit); cancelBatching(): void; protected flush(): void; sendRequest({ cont, requests }: SendRequestPluginArgs): void; } export declare class ResponseBatchingPlugin extends BatchingPlugin<'responseBatching'> { private _continue; private _responses; constructor(options?: Omit); protected flush(): void; sendResponse({ cont, responses }: SendResponsePluginArgs): void; }