using Umbraco.Cms.Core.Models.Installer;
namespace Umbraco.Cms.Core.Installer;
/// <summary>
/// Defines a step that's required to install Umbraco.
/// </summary>
public interface IInstallStep
{
/// Executes the install step.
/// <param name="model">InstallData model containing the data provided by the installer UI.</param>
/// <returns></returns>
Task<Attempt<InstallationResult>> ExecuteAsync(InstallData model);
/// Determines if the step is required to execute.
/// <returns>True if the step should execute, otherwise false.</returns>
Task<bool> RequiresExecutionAsync(InstallData model);
}