import type { AllEventKeys } from "../events/event-bus.js"; import { EventEmitter, type AllEvents } from "../events/event-emitter.js"; import type { EventListener, EventOptions } from "../events/shared.js"; import { IsomorphicBuffer } from "../helpers.js"; import { SocketAdapterAkalaEventMap, SocketAdapter } from "./shared.js"; import { type Subscription } from "../teardown-manager.js"; /** * json-rpc-ws connection * * @constructor * @param {Socket} socket - web socket for this connection * @param {Object} parent - parent that controls this connection */ export declare class WebSocketAdapter extends EventEmitter implements SocketAdapter { private readonly socket; constructor(socket: WebSocket); pipe(socket: SocketAdapter): void; get open(): boolean; close(): Promise; send(data: string | IsomorphicBuffer): Promise; private readonly messageListeners; off>(event: TEvent, handler: EventListener[TEvent]>): boolean; on>(event: TEvent, handler: EventListener[TEvent]>, options?: EventOptions[TEvent]>): Subscription; once>(event: TEvent, handler: EventListener[TEvent]>): Subscription; }