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 dynamically.
///
/// The cancellation token.
/// Task{List{PackageInfo}}.
Task> GetAvailablePackages(CancellationToken cancellationToken);
///
/// Gets all available packages from a static resource.
///
/// The cancellation token.
/// Task{List{PackageInfo}}.
Task> GetAvailablePackagesWithoutRegistrationInfo(CancellationToken cancellationToken);
///
/// Installs a package.
///
///
/// The package.
/// The cancellation token.
/// Task.
Task InstallPackage(IProgress progress, PackageVersionInfo package, CancellationToken cancellationToken);
}
}