import type { WebSocketAdapter, WebSocketAdapterOptions, WebSocketHooks, WebSocketPeer } from "./types"; export type { WebSocketAdapter, WebSocketAdapterOptions, WebSocketCloseEvent, WebSocketErrorEvent, WebSocketHooks, WebSocketMessage, WebSocketMessageEvent, WebSocketPeer, } from "./types"; export type { WebSocketAdapterFactory, WebSocketReadyState as WebSocketReadyStateType, } from "./types"; export declare function createWebSocketAdapter(options: WebSocketAdapterOptions): Promise; export declare class CrossWebSocket { private adapter; private options; private hooks; private connectionPromise; constructor(url: string, options?: Omit); connect(): Promise; isConnected(): boolean; getPeer(): WebSocketPeer | null; send(data: string | Uint8Array): void; sendText(data: string): void; sendJson(data: unknown): void; close(code?: number, reason?: string): void; setHooks(hooks: WebSocketHooks): void; on(event: K, handler: NonNullable): this; off(event: K): this; getAdapterType(): "browser" | "node" | "universal" | null; getAdapter(): WebSocketAdapter | null; } export declare function createCrossWebSocket(url: string, options?: Omit): CrossWebSocket; export declare function connectWebSocket(url: string, hooks?: WebSocketHooks, options?: Omit): Promise;