import { EventEmitter } from 'events'; import { Logger } from '../utils/Logger'; export interface GsiServerOptions { port?: number; logger?: Logger | null; } /** * WebSocket server for broadcasting CS2 game state updates to connected clients. * Manages client connections and provides real-time game data streaming. */ export declare class GsiServer extends EventEmitter { private port; private clients; private logger; private wss; /** * Creates a new GsiServer instance. * @param {Object} options - Configuration options * @param {number} [options.port=4000] - WebSocket server port * @param {Logger} [options.logger] - Logger instance */ constructor({ port, logger }?: GsiServerOptions); /** * Starts the WebSocket server and begins accepting connections. */ start(): void; /** * Broadcasts a message to all connected clients. * @param {string} type - Message type identifier * @param {Object} payload - Message payload data */ broadcast(type: string | symbol, payload: any): void; /** * Stops the WebSocket server and closes all connections. */ stop(): void; /** * Returns the number of currently connected clients. * @returns Number of connected clients */ getClientCount(): number; /** * Checks if the server is currently running. * @returns True if server is running */ isRunning(): boolean; }