using System.Collections.Generic;
using System.Threading.Tasks;
using PortingAssistant.Client.Model;
namespace PortingAssistant.Client.NuGet
{
///
/// Represents a compatibility checker for packages
///
public interface ICompatibilityChecker
{
///
/// Gets the type of the compatibility checker
///
/// The type of the compatibility checker
public PackageSourceType CompatibilityCheckerType { get; }
///
/// Runs the compatibility check
///
/// A collection of packages and their versions
/// The solution to check
/// If Check is part of incremental assessment, we will use Temp Directory Cache. Default to false
/// If Check should refresh Temp Directory Cache. Default to false.
///
public Dictionary> Check(IEnumerable packageVersions, string pathToSolution, bool isIncremental = false, bool incrementalRefresh = false);
}
}