"""
==================================================
Smart Attendance AI
Core - Training Result
==================================================
Represents the result of face registration.
==================================================
"""

from dataclasses import dataclass, field
from typing import List


@dataclass(slots=True)
class TrainingResult:
    """
    Face registration result.
    """

    # ==========================================
    # Student Information
    # ==========================================

    student_id: str

    # ==========================================
    # Processing Statistics
    # ==========================================

    # Images received
    images_received: int

    # Images successfully processed
    images_processed: int

    # Faces detected
    faces_detected: int

    # Embeddings generated
    embeddings_generated: int

    # Duplicate embeddings removed
    duplicates_removed: int

    # ==========================================
    # Embeddings
    # ==========================================

    # Average embedding
    average_embedding: List[float] = field(
        default_factory=list
    )

    # Individual embeddings
    embeddings: List[List[float]] = field(
        default_factory=list
    )

    # ==========================================
    # Performance
    # ==========================================

    # Total processing time (milliseconds)
    processing_time_ms: int = 0