interface ChatMessage { id: string; username: string; message: string; timestamp: number; streamId: string; } interface WebSocketMessage { type: "join_chat" | "send_message" | "leave_chat" | "load_history"; streamId?: string; username?: string; message?: string; } interface WebSocketResponse { type: | "chat_message" | "chat_history" | "user_joined" | "user_left" | "error" | "connected"; data?: any; error?: string; } interface UserInfo { streamId?: string | undefined; username?: string | undefined; }