namespace Toolkit.Foundation; public interface ICache : IEnumerable { void Add(TValue value); void Clear(); bool Remove(TValue value); } public interface ICache : IEnumerable> where TKey : notnull where TValue : notnull { void Add(TKey key, TValue value); void Clear(); bool ContainsKey(TKey key); bool Remove(TKey key); bool TryGetValue(TKey key, out TValue? value); }