/// /// import RingCentral from '@rc-ex/core'; import SdkExtension from '@rc-ex/core/lib/SdkExtension'; import WS from 'isomorphic-ws'; import { EventEmitter } from 'events'; import RateLimitExtension from '@rc-ex/rate-limit'; import { SubscriptionInfo } from '@rc-ex/core/lib/definitions'; import { request } from './rest'; import { WsToken, ConnectionDetails, WebSocketOptions, Wsc } from './types'; import Subscription from './subscription'; export declare enum Events { autoRecoverSuccess = "autoRecoverSuccess", autoRecoverFailed = "autoRecoverFailed", autoRecoverError = "autoRecoverError", newWebSocketObject = "newWebSocketObject", newWsc = "newWsc" } declare class WebSocketExtension extends SdkExtension { eventEmitter: EventEmitter; options: WebSocketOptions; rc: RingCentral; wsToken: WsToken; ws: WS; connectionDetails: ConnectionDetails; wsc: Wsc; subscriptions: Subscription[]; intervalHandle?: NodeJS.Timeout; recoverTimestamp?: number; pingServerHandle?: NodeJS.Timeout; request: typeof request; rateLimitExtension: RateLimitExtension; constructor(options?: WebSocketOptions); get enabled(): boolean; set enabled(value: boolean); install(rc: RingCentral): Promise; recover(): Promise; pingServer(): Promise; connect(recoverSession?: boolean): Promise; revoke(): Promise; subscribe(eventFilters: string[], callback: (event: {}) => void, cache?: SubscriptionInfo | undefined): Promise; } export default WebSocketExtension;