using System.ComponentModel.DataAnnotations;
using e_suite.Workflow.Core.Attributes;

namespace e_suite.Workflow.Core.Interfaces;

public interface IStage
{
    /// <summary>
    /// Tasks that need to be completed before this stage of a workflow is considered complete.
    /// </summary>
    [Required]
    ICollection<ITask> Tasks { get; }
}


[TaskCapability]
public interface IStage<T> : IStage where T : TaskTypeAttribute
{
}