using System; using System.Collections.Generic; using System.Linq.Expressions; using StardewModdingAPI.Toolkit.Framework.Clients.Wiki; namespace StardewModdingAPI.Web.Framework.Caching.Wiki { /// Manages cached wiki data. internal interface IWikiCacheRepository : ICacheRepository { /********* ** Methods *********/ /// Get the cached wiki metadata. /// The fetched metadata. bool TryGetWikiMetadata(out CachedWikiMetadata metadata); /// Get the cached wiki mods. /// A filter to apply, if any. IEnumerable GetWikiMods(Expression> filter = null); /// Save data fetched from the wiki compatibility list. /// The current stable Stardew Valley version. /// The current beta Stardew Valley version. /// The mod data. /// The stored metadata record. /// The stored mod records. void SaveWikiData(string stableVersion, string betaVersion, IEnumerable mods, out CachedWikiMetadata cachedMetadata, out CachedWikiMod[] cachedMods); } }