using Remora.Discord.API.Abstractions.Gateway.Events; using Remora.Discord.API.Abstractions.Objects; using Remora.Rest.Core; namespace Catalogger.Backend.Cache; public interface IMemberCache { public Task TryGetAsync(Snowflake guildId, Snowflake userId); public Task SetAsync(Snowflake guildId, IGuildMember member); public Task SetManyAsync(Snowflake guildId, IReadOnlyList members); public Task RemoveAsync(Snowflake guildId, Snowflake userId); public Task IsGuildCachedAsync(Snowflake guildId); public Task MarkAsCachedAsync(Snowflake guildId); public Task MarkAsUncachedAsync(Snowflake guildId); public Task UpdateAsync(IGuildMemberUpdate newMember); }