import { Duplex } from "stream"; import { ConnectionUpgrader, WebSocketClient, WebSocketServerOptions, Request } from "./types.js"; import { Serializable } from "child_process"; export declare class WebSocketServer implements ConnectionUpgrader { readonly options: WebSocketServerOptions; readonly clients: Map; constructor(options: WebSocketServerOptions); isConnected(clientUUID: string): boolean; isUUIDValid(uuid: string): boolean; broadcast(data: string, fromUUID?: string): Promise; writeTo(clientUUID: string, data: string): Promise; onUpgrade(req: Request, socket: Duplex, head: Buffer): Promise; } declare const ClusterWebSocketServerMessageType = "ClusterWebSocketServerMessage"; export interface ClusterWebSocketServerMessage { type: typeof ClusterWebSocketServerMessageType; action: "connection" | "disconnection" | "sendMessage" | "error"; clientUUID?: string; errorMessage?: string; fromUUID?: string; payload?: Serializable; } export declare class ClusterWebSocketServer extends WebSocketServer { static instance: ClusterWebSocketServer; remoteClients: Set; constructor(options: WebSocketServerOptions); broadcast(payload: string, fromUUID?: string): Promise; writeTo(clientUUID: string, payload: string): Promise; isUUIDValid(uuid: string): boolean; } export {};