using System.Text.Json; using System.Threading.Tasks; using Content.Server.Database; using Content.Server.GameTicking; using Content.Shared.Administration.Logs; namespace Content.Server.Administration.Logs; public interface IAdminLogManager : ISharedAdminLogManager { void Initialize(); Task Shutdown(); void Update(); void RoundStarting(int id); void RunLevelChanged(GameRunLevel level); Task> All(LogFilter? filter = null, Func>? listProvider = null); IAsyncEnumerable AllMessages(LogFilter? filter = null); IAsyncEnumerable AllJson(LogFilter? filter = null); Task Round(int roundId); Task> CurrentRoundLogs(LogFilter? filter = null); IAsyncEnumerable CurrentRoundMessages(LogFilter? filter = null); IAsyncEnumerable CurrentRoundJson(LogFilter? filter = null); Task CurrentRound(); Task CountLogs(int round); }