import type { LocusSocketLike } from "../../types/locus.types.js"; export type BrowserLocusSocketStatus = "connecting" | "open" | "closed"; export type BrowserWebSocketLike = Readonly<{ readonly readyState: number; send(data: string): void; close(code?: number, reason?: string): void; addEventListener(type: "open", listener: () => void): void; addEventListener(type: "message", listener: (event: Readonly<{ data: unknown; }>) => void): void; addEventListener(type: "close", listener: () => void): void; addEventListener(type: "error", listener: () => void): void; removeEventListener(type: "open", listener: () => void): void; removeEventListener(type: "message", listener: (event: Readonly<{ data: unknown; }>) => void): void; removeEventListener(type: "close", listener: () => void): void; removeEventListener(type: "error", listener: () => void): void; }>; export type BrowserWebSocketConstructor = new (url: string) => BrowserWebSocketLike; export type BrowserLocusSocket = Readonly<{ socket: LocusSocketLike; ready: Promise; readonly status: BrowserLocusSocketStatus; dispose(): void; }>; /** @experimental Concrete browser transport adapter for Locus. */ export declare function create_browser_locus_socket(url: string, WebSocketConstructor?: BrowserWebSocketConstructor): BrowserLocusSocket; //# sourceMappingURL=locus.browser-socket.d.ts.map