using EchoHub.Core.DTOs; namespace EchoHub.Core.Contracts; /// /// Methods the server can invoke on connected clients. /// public interface IEchoHubClient { Task ReceiveMessage(MessageDto message); Task UserJoined(string channelName, string username, UserPresenceDto? presence); Task UserLeft(string channelName, string username); Task ChannelUpdated(ChannelDto channel); Task UserStatusChanged(UserPresenceDto presence); Task UserKicked(string channelName, string username, string? reason); Task UserBanned(string username, string? reason); Task MessageDeleted(string channelName, Guid messageId); Task ChannelDeleted(string channelName); Task ChannelNuked(string channelName); Task ForceDisconnect(string reason); Task Error(string message); }