import Proto, { SendPacket, RecvPacket, SendackPacket } from './proto'; export declare class Options { addr: string; heartbeatInterval: number; constructor(addr: string); } export declare enum ConnectStatus { Disconnect = 0, Connected = 1, Connecting = 2, ConnectFail = 3, ConnectKick = 4 } export default class Client { options: Options; uid: string; token: string; proto: Proto; ws: WebSocket | undefined; status: ConnectStatus; listeners: ((RecvPacket: any) => void)[]; cmdListeners: ((RecvPacket: any) => void)[]; sendListeners: ((SendPacket: any) => void)[]; sendStatusListeners: ((SendackPacket: any) => void)[]; connectStatusListeners: ((ConnectStatus: any, reasonCode: any) => void)[]; kickListeners: ((reasonCode: number, reason: string) => void)[]; fakeSendMessageCallback: ((SendPacket: any) => void); heartTimer: any; reConnectTimeout: any; lockReconnect: boolean; pongRespTimeoutInterval: number; pongRespTimer: any; needReconnect: boolean; pingRetryCount: number; pingMaxRetryCount: number; sendingQueues: Map; stopReconnectTimer(): void; stopHeart(): void; restHeart(): void; constructor(options: Options); connect(uid: string, token: string): void; onlyConnect(uid: string, token: string): void; disconnect(): void; reConnect(): void; onPacket(data: Uint8Array): void; onMessage(recvPacket: RecvPacket): void; notifyMessageListeners(recvPacket: RecvPacket): void; notifyCMDListeners(recvPacket: RecvPacket): void; notifyConnectStatusListeners(reasonCode: number): void; notifyMessageStatusListeners(sendackPacket: SendackPacket): void; addMessageListener(listener: (RecvPacket: any) => void): void; removeMessageListener(listener: (RecvPacket: any) => void): void; addCMDListener(listener: (RecvPacket: any) => void): void; removeCMDListener(listener: (RecvPacket: any) => void): void; addMessageStatusChange(listener: (SendackPacket: any) => void): void; removeMessageStatusChange(listener: (SendackPacket: any) => void): void; addSendMessageListener(listener: (SendPacket: any) => void): void; removeSendMessageListener(listener: (SendPacket: any) => void): void; addConnectStatusListener(listener: (ConnectStatus: any) => void): void; removeConnectStatusListener(listener: (ConnectStatus: any) => void): void; clearAllListeners(): void; sendMessage(message: SendPacket): void; flushSendingQueue(): void; wssend(message: SendPacket): void; fakeSendMessage(fakeSend: (SendPacket: any) => void): void; sendPing(): void; sendRecvackPacket(recvPacket: RecvPacket): void; close(): void; }