#nullable disable
using System;
using System.Threading.Tasks;
namespace StardewModdingAPI.Web.Framework.Clients.GitHub
{
/// An HTTP client for fetching metadata from GitHub.
internal interface IGitHubClient : IModSiteClient, IDisposable
{
/*********
** Methods
*********/
/// Get basic metadata for a GitHub repository, if available.
/// The repository key (like Pathoschild/SMAPI).
/// Returns the repository info if it exists, else null.
Task GetRepositoryAsync(string repo);
/// Get the latest release for a GitHub repository.
/// The repository key (like Pathoschild/SMAPI).
/// Whether to return a prerelease version if it's latest.
/// Returns the release if found, else null.
Task GetLatestReleaseAsync(string repo, bool includePrerelease = false);
}
}