import { LoggerService } from '../logger.service'; import { Protocol, Url } from './protocol'; export declare class WebSocketProtocol extends Protocol { private url; private protocols; private static readonly AVAILABLE_FOR_USER_WS_CLOSE_STATUS; private socket; private sendQueue; private readyStateConstants; private normalCloseCode; private reconnectableStatusCodes; private dataStream; private internalConnectionState; private reconnectIfNotNormalClose; constructor(url: Url, loggerService: LoggerService, config?: WebSocketConfig, protocols?: Array); connect(force?: boolean): void; send(data: any): Promise; fireQueue(): void; close(force: boolean): WebSocketProtocol; setInternalState(state: any): void; /** * Could be -1 if not initzialized yet * @returns {number} */ getReadyState(): number; start(): void; destroy(): void; } export interface WebSocketConfig { initialTimeout?: number; maxTimeout?: number; reconnectIfNotNormalClose?: boolean; }