import { CertificateService } from '../../security/CertificateService'; import { WebSocketAdapter } from './adapter/WebSocketAdapter'; import { SyncRequest } from '../../sync/request/SyncRequest'; export declare enum ConnectionState { Disconnected = 0, RequestToConnect = 1, Connecting = 2, Connected = 3, Disconnecting = 4 } export declare class WebSocketClient { private static websocketAdapterClazz; private readonly certificateService; private websocketAdapter; private responseCallback?; private connectCallback?; private disconnectCallback?; private msgId; private connectionState; private isHeartBeatHasResp; private isReconnecting; private isInitiativeStop; private keepaliveTimer; private currentBaseMs; private lastAttemptTime; private backoffFactor; private timerHandler; private deviceId; private currentVersion; private isEnableBackUrl; private subscribeDatas; private encryptRequest; private unsubscribeCallbacks; private isConnected; constructor(certificateService: CertificateService); static setClient(clazz: new (listener: any, region: string) => WebSocketAdapter): void; registerConnectCallback(connectCallback: any): void; registerDisconnectCallback(disconnectCallback: any): void; private start; stop(): Promise; registerResponseCallback(responseCallback?: (isSuccess: boolean, message: any) => void): void; private notifyResponseCallback; sendSubscribeRequest(syncRequest: SyncRequest): Promise; sendUnsubscribeRequest(syncRequest: SyncRequest, callback: any): Promise; private getWebSocketListeners; private onOpen; subEncryption(request: any, callback?: () => void): Promise; private sendMessages; private onError; private onClose; private resetConnectionState; isReconnectingState(): boolean; private sizeof; private onMessage; private handleAGCMessage; private getAGCMsgHandlerMap; private sendHeartBeatMessage; private resetKeepAlive; private parseJson; private needReconnect; reconnect(): void; private clearKeepAliveTimer; stopHeartBeat(): void; private resubscribeAll; private simplifiedSendMessage; private setDeviceId; }