import { IDocumentFactory, IElementLike, INodeLike } from "./DocumentInterface"; export type NetworkedDOMWebsocketFactory = (url: string) => WebSocket; export declare enum NetworkedDOMWebsocketStatus { Connecting = 0, ConnectionOpen = 1,// The websocket is open and connected, but no messages have been received yet Connected = 2,// The websocket is open and connected, and messages are being received Reconnecting = 3, Disconnected = 4 } export declare function NetworkedDOMWebsocketStatusToString(status: NetworkedDOMWebsocketStatus): string; export type NetworkedDOMWebsocketOptions = { tagPrefix?: string; replacementTagPrefix?: string; allowSVGElements?: boolean; connectionToken?: string | null; }; export type NetworkedDOMWebsocketAdapter = { receiveMessage: (message: MessageEvent) => void; handleEvent: (element: IElementLike, event: CustomEvent) => void; clearContents: () => boolean; }; /** * NetworkedDOMWebsocket is a client for a NetworkedDOMServer. It connects to a server on the provided url and receives * updates to the DOM. It also sends events to the server for interactions with the DOM. * * The NetworkedDOMWebsocket is attached to a parentElement and synchronizes the received DOM under that element. */ export declare class NetworkedDOMWebsocket { private url; private websocketFactory; private parentElement; private timeCallback?; private statusUpdateCallback?; private options; private doc?; private websocket; private websocketAdapter; private stopped; private backoffTime; private status; static createWebSocket(url: string): WebSocket; constructor(url: string, websocketFactory: NetworkedDOMWebsocketFactory, parentElement: IElementLike, timeCallback?: ((time: number) => void) | undefined, statusUpdateCallback?: ((status: NetworkedDOMWebsocketStatus) => void) | undefined, options?: NetworkedDOMWebsocketOptions, doc?: IDocumentFactory | undefined); private setStatus; private createWebsocketWithTimeout; private waitBackoffTime; private startWebSocketConnectionAttempt; stop(): void; handleEvent(element: IElementLike, event: CustomEvent): void; } export declare function isHTMLElement(node: unknown, rootNode?: unknown): node is IElementLike; export declare function isText(node: unknown, rootNode?: unknown): node is INodeLike; //# sourceMappingURL=NetworkedDOMWebsocket.d.ts.map