import { tsInterface } from '../interface/entry'; import { tsEvent } from '../event/event'; export declare enum WSState { CONNECTING = 0, OPEN = 1, CLOSING = 2, CLOSED = 3 } export declare enum WSEventType { Connect_Error = "Connect_Error", Connect_Open = "Connect_Open", Connect_Close = "Connect_Close" } export declare enum WSCloseCode { CloseCode_Reconnect = 4998, CloseCode_Shutdown = 4999 } export declare type WSOptions = { connCtor?: (url: string) => tsInterface.IWebSocket; pingHandler: (conn: WSConn) => void; onMessageHandler: (conn: WSConn, data: any) => void; binaryType: string; pingInterval: number; reconnectLimit: number; }; export declare class WSConn extends tsEvent.EventEntry { private url; private closeCode; private conn; private options; private pingTimer; private lastSendTime; private reconnectTimer; private onOpenCount; constructor(id: number, name: string, options?: WSOptions); private handlePing; stopReconnect(): void; private checkReconnect; private handleCloseAndError; private onError; private onClose; private onOpen; private onMessage; private setConn; connect(url: string, isReconnect?: boolean): void; reconnect(url: string, tag?: string): void; isConnecting(): boolean; isConnected(): boolean; isCloseing(): boolean; isClosed(): boolean; close(code?: number, reason?: string): boolean; send(data: any): void; }