using System.Threading.Tasks; namespace Artemis.UI.Shared.Providers; /// /// Represents a provider for custom cursors. /// public interface IUpdateProvider { /// /// Asynchronously checks whether an update is available. /// /// The channel to use when checking updates (i.e. master or development) /// A task returning if an update is available; otherwise . Task CheckForUpdate(string channel); /// /// Applies any available updates. /// /// The channel to use when checking updates (i.e. master or development) /// Whether or not to update silently. Task ApplyUpdate(string channel, bool silent); /// /// Offer to install the update to the user. /// /// The channel to use when checking updates (i.e. master or development) /// A boolean indicating whether the main window is open. /// A task returning if the user chose to update; otherwise . Task OfferUpdate(string channel, bool windowOpen); }