using PARR.Domain.Entities.Base.History; using PARR.Domain.Entities.Job; 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); }