"""Data models for enhancement service."""

from dataclasses import dataclass, field
from datetime import datetime, timezone
from typing import Any, Dict, List


@dataclass
class EnhancementResult:
    """Result of transcript enhancement."""

    original_text: str
    enhanced_text: str
    confidence_score: float
    improvements: List[str]
    processing_time: float
    model_used: str
    metadata: Dict[str, Any] = field(default_factory=dict)
    created_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc))

    def to_dict(self) -> Dict[str, Any]:
        """Convert result to dictionary."""
        return {
            "original_text": self.original_text,
            "enhanced_text": self.enhanced_text,
            "confidence_score": self.confidence_score,
            "improvements": self.improvements,
            "processing_time": self.processing_time,
            "model_used": self.model_used,
            "metadata": self.metadata,
            "created_at": self.created_at.isoformat()
        }
