using System.Runtime.Versioning; using StabilityMatrix.Core.Models.Progress; namespace StabilityMatrix.Core.Helper; public interface IPrerequisiteHelper { string GitBinPath { get; } bool IsPythonInstalled { get; } Task InstallAllIfNecessary(IProgress? progress = null); Task UnpackResourcesIfNecessary(IProgress? progress = null); Task InstallGitIfNecessary(IProgress? progress = null); Task InstallPythonIfNecessary(IProgress? progress = null); [SupportedOSPlatform("Windows")] Task InstallVcRedistIfNecessary(IProgress? progress = null); /// /// Run embedded git with the given arguments. /// Task RunGit(string? workingDirectory = null, params string[] args); Task GetGitOutput(string? workingDirectory = null, params string[] args); }