using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
namespace PARR.TemplateMatcher.Services.GroupedSync
{
///
/// Разрешает конфликты при сопоставлении юнитов к шаблонам и строит итоговую карту связей.
///
public interface IUnitInTemplateConflictMapper
{
///
/// Строит маппинг: UnitId шаблона -> [Список юнитов в UnitsInTemplate].
/// При наличии нескольких кандидатов для одного юнита выбирается лучший по приоритету:
/// 1. Наличие в таблице UnitKiiUnit
/// 2. Наибольшее количество связей
/// 3. Алфавитный порядок имени юнита
///
Task>> BuildMappingAsync(
IEnumerable unitFilterResults,
Job maxJob,
CancellationToken ct = default);
}
}