using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
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([NotNullWhen(true)] out Cached? metadata);
/// Get the cached wiki mods.
/// A filter to apply, if any.
IEnumerable> GetWikiMods(Func? 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.
void SaveWikiData(string? stableVersion, string? betaVersion, IEnumerable mods);
}
}