#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); } }