using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.JobEntities;
using PARR.TemplateMatcher.Models;
namespace PARR.TemplateMatcher.Services.GroupedSync;
public interface IGroupedTemplateProcessor
{
///
/// Обрабатывает построенные группы шаблонов:
/// 1. Ищет существующие шаблоны.
/// 2. Сравнивает состав юнитов.
/// 3. Обновляет, переиспользует или создает новые шаблоны.
/// 4. Возвращает набор ключей ожидаемых шаблонов для последующей деактивации лишних.
///
Task> ProcessAsync(
List groups,
List jobsInGroup,
Job maxJob,
HistoryInitiator initiator,
CancellationToken ct = default);
}