import { ChannelConnection, ChannelServerOptions, SendReliableOptions, Unsubscribe, ChannelServer, MinimalHTTPServer } from '@agentxjs/core/network'; import { WebSocket } from 'ws'; /** * WebSocket Connection - Server-side connection wrapper * * Handles: * - Heartbeat (ping/pong) * - Reliable message delivery with ACK * - Message routing */ /** * WebSocket connection implementation */ declare class WebSocketConnection implements ChannelConnection { readonly id: string; private ws; private messageHandlers; private closeHandlers; private errorHandlers; private heartbeatInterval?; private isAlive; private pendingAcks; private msgIdCounter; constructor(ws: WebSocket, options: ChannelServerOptions); private setupHeartbeat; private setupMessageHandler; private setupCloseHandler; private setupErrorHandler; send(message: string): void; sendReliable(message: string, options?: SendReliableOptions): void; onMessage(handler: (message: string) => void): Unsubscribe; onClose(handler: () => void): Unsubscribe; onError(handler: (error: Error) => void): Unsubscribe; close(): void; } /** * WebSocket Server - Manages WebSocket connections * * Supports: * - Standalone mode (listen on port) * - Attached mode (attach to existing HTTP server) */ /** * WebSocket Server */ declare class WebSocketServer implements ChannelServer { private wss; private connections; private connectionHandlers; private options; private attachedToServer; constructor(options?: ChannelServerOptions); listen(port: number, host?: string): Promise; attach(server: MinimalHTTPServer, path?: string): void; private handleConnection; onConnection(handler: (connection: ChannelConnection) => void): Unsubscribe; broadcast(message: string): void; close(): Promise; dispose(): Promise; } export { WebSocketConnection as W, WebSocketServer as a };