import type { ITransport, ITransportResponse } from '@cubejs-client/core'; declare class WebSocketTransportResult { protected readonly status: unknown; protected readonly result: unknown; constructor({ status, message }: { status: unknown; message: unknown; }); json(): Promise; clone(): this; text(): Promise; } type WebSocketTransportOptions = { authorization?: string; apiUrl: string; hearBeatInterval?: number; heartBeatInterval?: number; }; type Message = { messageId: number; requestId: any; method: string; params: Record; }; type Subscription = { message: Message; callback: (result: WebSocketTransportResult) => void; }; declare class WebSocketTransport implements ITransport { protected readonly apiUrl: string; protected readonly heartBeatInterval: number; protected token: string | undefined; protected ws: any; protected messageCounter: number; protected messageIdToSubscription: Record; protected messageQueue: Message[]; constructor({ authorization, apiUrl, heartBeatInterval, hearBeatInterval }: WebSocketTransportOptions); set authorization(token: string | undefined); close(): Promise; get authorization(): string | undefined; protected initSocket(): any; protected sendMessage(message: any): void; request(method: string, { baseRequestId, ...params }: Record): ITransportResponse; } export default WebSocketTransport; //# sourceMappingURL=index.d.ts.map