import { KyofuucObject } from "../helper"; import { Config, WsConfig, WsConnection, WsConnector } from "../types"; export declare enum WsState { IDLE = "IDLE", READY = "READY", CONNECTED = "READY", CONNECTING = "CONNECTING", DISCONNECTED = "DISCONNECTED", RECONNECTING = "RECONNECTING", DISCONNECTING = "DISCONNECTING", PROCESSING_OUTGOING_MESSAGE = "PROCESSING_OUTGOING_MESSAGE", PROCESSING_INCOMING_MESSAGE = "PROCESSING_INCOMING_MESSAGE" } export interface IWs { close(): void; getState(): WsState; getConfig(): WsConfig; getBufferedAmount(): number; getUrl(config?: Config): string; sendMessage(message: any): void; getLastReconnectionCount(): number; getBinaryType(): string | undefined; setBinaryType(binaryType: string): void; reconnect(connector?: WsConnector): IWs; getConnection(): WsConnection | undefined; updateConfig(newConfig: WsConfig, merge?: boolean): void; connect(urlOrConfig: string | WsConfig, config?: WsConfig): IWs; onOpen(cb: (ws: IWs, event: any, options?: KyofuucObject) => void, options?: KyofuucObject): void; onError(cb: (ws: IWs, error: Error, options?: KyofuucObject) => void, options?: KyofuucObject): void; onStateChange(cb: (ws: IWs, state: WsState, options?: KyofuucObject) => void, options?: KyofuucObject): void; onMessage(cb: (ws: IWs, event: any, message: any, options?: KyofuucObject) => void, options?: KyofuucObject): void; onClose(cb: (ws: IWs, event: any, options?: KyofuucObject) => void, options?: KyofuucObject, always?: boolean): void; } export declare class Ws implements IWs { private _state; private _config?; private _baseConfig; protected static instance: Ws; private _connectorName?; private _connection?; private _reconnectionCount; private _nextReconnectionDelay; private _lastReconnectionCount; private _cachedInterceptor?; private _messageInterceptor?; constructor(baseConfig?: WsConfig); static getInstance(baseConfig?: WsConfig): Ws; static ws(config: WsConfig): IWs; getConfig(): WsConfig; updateConfig(newConfig: WsConfig, merge?: boolean): void; getUrl(config?: Config): string; connect(urlOrConfig?: string | WsConfig, config?: WsConfig | undefined): IWs; reconnect(connector?: WsConnector | undefined): IWs; sendMessage(message: any): void; close(): void; getConnection(): WsConnection | undefined; getBinaryType(): string | undefined; getBufferedAmount(): number; getState(): WsState; getLastReconnectionCount(): number; setBinaryType(binaryType: string): void; onOpen(cb: (ws: IWs, event: any, options?: KyofuucObject) => void, options?: KyofuucObject): void; onClose(cb: (ws: IWs, event: any, options?: KyofuucObject) => void, options?: KyofuucObject, always?: boolean): void; onError(cb: (ws: IWs, error: Error, options?: KyofuucObject) => void, options?: KyofuucObject): void; onStateChange(cb: (ws: IWs, state: WsState, options?: KyofuucObject) => void, options?: KyofuucObject): void; onMessage(cb: (ws: IWs, event: any, message: any, options?: KyofuucObject) => void, options?: KyofuucObject): void; private _isConnected; private _registerInterceptors; }