import type { EditorHost } from './editor-host.js'; export interface SocketHostOptions { /** * Where the opening `VisualSessionSnapshot` is fetched (GET, same-origin * credentials, `Accept: application/json`). Resolved against the page. * Default `/api/session`. */ readonly session?: string | URL; /** * Where the socket connects. A string or URL is resolved against the page * and its scheme flipped to ws/wss; `after` is appended as a query * parameter. A function receives `after` and returns the URL itself, for a * server that wants it on the path. Default `/socket`. */ readonly socket?: string | URL | ((after: number) => string | URL); /** Delay before a reconnect attempt. Default 1000 ms. */ readonly retryMs?: number; /** * How long a lost socket keeps retrying before the host reports a * `closing` frame with reason `browser-timeout`. Default: the reducer's * published grace (`canReconnect`). A hosted workspace that never hands * off may pass `Infinity`. */ readonly reconnectWindowMs?: number; } export declare const createSocketHost: (options?: SocketHostOptions) => EditorHost;