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

namespace e_suite.Workflow.Core.Interfaces;

public interface IAssignees
{

}

[TaskCapability]
public interface IAssignees<TTaskAssignee, TOutcome> : IAssignees, IOutcome<TOutcome> where TTaskAssignee : ITaskAssignee
{
    [Required]
    List<TTaskAssignee> Assignees { get; set; }

    CompletionRule<TOutcome> AssigneesCompletionRule { get; set; }
}