import { MessageType, SocketMessageMap } from './messages'; import { SocketEventMap } from './events'; import RestClient from '../../lib/RestClient'; import { SupernetType } from './types'; import { Logger } from '../../lib/DefaultLogger'; import AuthManager from '../../lib/AuthManager'; declare class WebSocketClient extends RestClient { appId: string; baseUrl: string; private socket; private _supernetType; private _pingInterval; constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, agent?: any); get supernetType(): SupernetType; get isConnected(): boolean; connect(): Promise; disconnect(): void; private startPing; private stopPing; switchNetwork(supernetType: SupernetType): Promise; /** * Ensure the WebSocket connection is open, waiting if necessary and throwing an error if it fails * @private */ private waitForConnection; private handleOpen; private handleClose; private handleError; private handleMessage; send(messageType: T, data: SocketMessageMap[T]): Promise; } export default WebSocketClient;