import { FinallyFunc } from "finally-provider"; import { LogProv } from "@jawis/jab"; import { NodeWS, SocketData, WsMessageListener, WebsocketRequestHandler } from "./internal"; export type WsPoolProv = Readonly<{ send: (data: MS) => void; forAll: (cb: (nws: NodeWS) => void) => void; makeUpgradeHandler: (onMessage: WsMessageListener) => WebsocketRequestHandler; shutdown: () => Promise; }>; type Deps = { onError: (error: unknown) => void; logProv: LogProv; finally: FinallyFunc; }; /** * Manage the WebSocket connection for a single express route. * * - This allows sending messages to only those connected to this specific route. */ export declare class WsPoolController implements WsPoolProv { private deps; clients: Set>; constructor(deps: Deps); /** * */ send: (data: MS) => void; /** * */ forAll: (cb: (client: NodeWS) => void) => void; /** * */ makeUpgradeHandler: (onMessage: WsMessageListener) => WebsocketRequestHandler; /** * */ shutdown: () => Promise; } export {};