using System; using System.Collections.Generic; using System.Threading.Tasks; using LANCommander.SDK.Models; namespace LANCommander.SDK.Hubs; public interface IChatHub { Task StartThreadAsync(string[] userIdentifiers); Task AddParticipantAsync(Guid threadId, string participantId); Task GetThreadAsync(Guid threadId); Task> GetThreadsAsync(); Task SendMessageAsync(Guid threadId, string message); Task> GetMessagesAsync(Guid threadId, Guid? cursor, int? count); Task StartTypingAsync(Guid threadId); Task StopTypingAsync(Guid threadId); Task UpdateReadStatusAsync(Guid threadId); Task GetUnreadMessageCountAsync(Guid threadId); Task> GetUsersAsync(); }