using MediaBrowser.Model.Updates;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Common.Updates
{
    public interface IPackageManager
    {
        /// 
        /// Gets all available packages.
        /// 
        /// The cancellation token.
        /// Task{List{PackageInfo}}.
        Task> GetAvailablePackages(CancellationToken cancellationToken);
        /// 
        /// Installs a package.
        /// 
        /// 
        /// The package.
        /// The cancellation token.
        /// Task.
        Task InstallPackage(IProgress progress, PackageVersionInfo package, CancellationToken cancellationToken);
    }
}