TypeScript interfaces and types
interface SocketServerOptions { redisUrl?: string; redisOptions?: RedisOptions; redis?: Redis; }
interface ServerSocket { id: string; connected: boolean; emit(event: string, data: any, ack?: AckCallback): void; on(event: string, handler: EventHandler): void; join(room: string): Promise<void>; leave(room: string): Promise<void>; getRooms(): Set<string>; broadcastToRoom(room: string, event: string, data: any): void; disconnect(): void; }
interface ClientSocket { id: string | null; connected: boolean; emit(event: string, data: any, ack?: AckCallback): void; on(event: string, handler: EventHandler): void; disconnect(): void; }
interface SocketMessage { id: string; event: string; data: any; timestamp: number; requiresAck?: boolean; messageId?: string; }