/// import WebSocket from "isomorphic-ws"; import { Message } from "./jsonrpc.js"; import { BaseTransport } from "./client.js"; import { Emitter, EventsT } from "./util/emitter.js"; type WebsocketOptions = { reconnectDecay: number; reconnectInterval: number; maxReconnectInterval: number; }; export type WebSocketErrorEvent = WebSocket.ErrorEvent; export interface WebsocketEvents extends EventsT { connect: () => void; disconnect: () => void; error: (error: WebSocket.ErrorEvent) => void; } export declare class WebsocketTransport extends BaseTransport { url: string; _socket: ReconnectingWebsocket; get reconnectAttempts(): number; get connected(): boolean; constructor(url: string, options?: WebsocketOptions); _send(message: Message): void; close(): void; } declare class ReconnectingWebsocket extends Emitter { url: string; socket: WebSocket; ready: Promise; options: WebsocketOptions; private preopenQueue; private _connected; private _reconnectAttempts; onmessage: (event: WebSocket.MessageEvent) => void; closed: boolean; constructor(url: string, onmessage: (event: WebSocket.MessageEvent) => void, options?: WebsocketOptions); get reconnectAttempts(): number; private _reconnect; get connected(): boolean; send(message: string): void; close(): void; } export {};