"""
==================================================
Smart Attendance AI
Core - Base AI Result
==================================================
Shared properties for all AI result models.
==================================================
"""

from dataclasses import dataclass, field
from typing import List


@dataclass(slots=True)
class AIResult:
    """
    Base class for all AI result objects.
    """

    # Bounding Box
    bbox: List[int]

    # Detection Confidence
    confidence: float

    # Face Size
    face_width: int

    face_height: int

    # Facial Landmarks
    landmarks: List[List[float]] = field(
        default_factory=list
    )