using System.Diagnostics.CodeAnalysis; using System.Threading; using System.Threading.Tasks; using Content.Shared.Preferences; using Robust.Shared.Network; using Robust.Shared.Player; namespace Content.Server.Preferences.Managers { public interface IServerPreferencesManager { void Init(); Task LoadData(ICommonSession session, CancellationToken cancel); void SanitizeData(ICommonSession session); void OnClientDisconnected(ICommonSession session); bool TryGetCachedPreferences(NetUserId userId, [NotNullWhen(true)] out PlayerPreferences? playerPreferences); PlayerPreferences GetPreferences(NetUserId userId); PlayerPreferences? GetPreferencesOrNull(NetUserId? userId); IEnumerable> GetSelectedProfilesForPlayers(List userIds); bool HavePreferencesLoaded(ICommonSession session); } }