"""DeduplicationResult — resultado del proceso de deduplicacion de entidades."""

from dataclasses import dataclass, field

from python.types.datascience.entity_candidate import EntityCandidate


@dataclass
class DeduplicationResult:
    """Resultado de deduplicacion de entidades.

    El `name_to_id` mapea TODOS los nombres originales (incluyendo los
    mergeados) a su ID final, permitiendo resolver relaciones que usan
    cualquier variante del nombre.
    """

    entities: list[EntityCandidate]
    entity_id_map: dict[str, str]
    name_to_id: dict[str, str]
    merge_log: list[dict] = field(default_factory=list)
    total_before: int = 0
    total_after: int = 0
