type Message = string | ArrayBuffer | Blob | ArrayBufferView; export interface SocketReconnectionEvent extends Event { disconnectedTime: Date; } export interface ResilientSocketOptions { reconnectionDelay?: number; maxReconnectAttempts?: number; } export declare class ResilientSocket { readonly uri: string; RECONNECTION_DELAY: number; MAX_RECONNECT_ATTEMPTS: number; private ws; private reconnectionDelay; private reconnectAttempts; private disconnectedAt; private isReconnecting; private isFirstConnection; private messageQueue; private readonly emitOpen; readonly onOpen: (listener: (data: Event) => void) => () => boolean; private readonly emitError; readonly onError: (listener: (data: Event) => void) => () => boolean; private readonly emitClose; readonly onClose: (listener: (data: Event) => void) => () => boolean; private readonly emitMessage; readonly onMessage: (listener: (data: MessageEvent) => void) => () => boolean; private readonly emitReconnect; readonly onReconnect: (listener: (data: SocketReconnectionEvent) => void) => () => boolean; get isConnected(): boolean; get websocket(): WebSocket | null; constructor(uri: string, { reconnectionDelay, maxReconnectAttempts, }?: ResilientSocketOptions); send(data: Message): void; private init; private unbind; private processMessage; private connectionOpen; private connectionLost; private resetReconnectionCounters; private processMessageQueue; private reconnectionFailed; private scheduleReconnection; close(): void; } export {}; //# sourceMappingURL=ResilientSocket.d.ts.map