///
///
import WebSocket from 'ws';
import { CancelableInterval } from '@cubejs-backend/shared';
import type { CubejsServerCore } from '@cubejs-backend/server-core';
import type http from 'http';
import type https from 'https';
import type { SubscriptionServer } from '@cubejs-backend/api-gateway';
export interface WebSocketServerOptions {
processSubscriptionsInterval?: number;
webSocketsBasePath?: string;
}
export declare class WebSocketServer {
protected readonly serverCore: CubejsServerCore;
protected readonly options: WebSocketServerOptions;
protected subscriptionsTimer: CancelableInterval | null;
protected wsServer: WebSocket.Server | null;
protected subscriptionServer: SubscriptionServer | null;
constructor(serverCore: CubejsServerCore, options?: WebSocketServerOptions);
initServer(server: http.Server | https.Server): void;
close(): Promise;
}
//# sourceMappingURL=websocket-server.d.ts.map