import { IProto, Packet, RecvPacket, SendPacket } from "./proto"; export declare enum ConnectStatus { Disconnect = 0, Connected = 1, Connecting = 2, ConnectFail = 3, ConnectKick = 4 } export declare type ConnectStatusListener = (status: ConnectStatus, reasonCode?: number) => void; export declare class ConnectManager { ws?: WebSocket; status: ConnectStatus; connectStatusListeners: ConnectStatusListener[]; lockReconnect: boolean; pongRespTimeoutInterval: number; pongRespTimer: any; needReconnect: boolean; pingRetryCount: number; pingMaxRetryCount: number; reConnectTimeout: any; heartTimer: any; dhPrivateKey: Uint8Array; tempBufferData: number[]; private constructor(); private static instance; static shared(): ConnectManager; stopHeart(): void; stopReconnectTimer(): void; restHeart(): void; connect(): void; onlyConnect(): void; connectWithAddr(addr: string): void; stringToUint(str: string): any[]; connected(): boolean; disconnect(): void; onlyDisconnect(): void; reConnect(): void; wssend(message: SendPacket): void; unpacket(data: Uint8Array, callback: (data: Array>) => void): void; unpackOne(data: Array, dataCallback: (data: Array) => void): number[]; onPacket(data: Uint8Array): void; sendPing(): void; sendPacket(p: Packet): void; getProto(): IProto; addConnectStatusListener(listener: ConnectStatusListener): void; removeConnectStatusListener(listener: ConnectStatusListener): void; notifyConnectStatusListeners(reasonCode: number): void; sendRecvackPacket(recvPacket: RecvPacket): void; close(): void; }