using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using GameServiceWarden.ModuleAPI; namespace GameServiceWarden.Core.Persistence { public interface IReadOnlyPersistent : IEnumerable> { V this[string key] { get; } /// /// The directory for this dictionary to use. /// string MapDirectory { get; } int Count { get; } IEnumerable Values { get; } IEnumerable Keys { get; } bool ContainsKey(string key); /// /// The path to the data representing a specific key. /// /// The key to get the path for. /// A representing the key. string GetPathForKey(string key); bool TryGetValue(string key, [MaybeNullWhen(false)] out V value); } }