using System.Net; namespace SharpChat.Bans; public interface BansClient { Task BanCreateAsync( BanKind kind, TimeSpan duration, IPAddress remoteAddr, string? userId = null, string? reason = null, IPAddress? issuerRemoteAddr = null, string? issuerUserId = null ); Task<bool> BanRevokeAsync(BanInfo info); Task<BanInfo?> BanGetAsync(string? userIdOrName = null, IPAddress? remoteAddr = null); Task<BanInfo[]> BanGetListAsync(); }