using StabilityMatrix.Core.Models.Progress; namespace StabilityMatrix.Core.Models.PackageModification; public interface IPackageModificationRunner { Task ExecuteSteps(IReadOnlyList steps); bool IsRunning { get; set; } ProgressReport CurrentProgress { get; set; } IPackageStep? CurrentStep { get; set; } event EventHandler? ProgressChanged; List ConsoleOutput { get; } Guid Id { get; } bool ShowDialogOnStart { get; init; } bool HideCloseButton { get; init; } string? ModificationCompleteMessage { get; init; } bool Failed { get; set; } }