# services/language/base.py
"""
Base class for language detection services
"""
from abc import ABC, abstractmethod
from typing import Optional, List, Dict, Tuple

class LanguageDetectionService(ABC):
    """Abstract base class for language detection services"""
    
    @abstractmethod
    def detect_language(self, text: str) -> Tuple[str, float]:
        """
        Detect language of a text
        Returns: Tuple of (language_code, confidence_score)
        """
        pass
    
    @abstractmethod
    def detect_batch(self, texts: List[str]) -> List[Tuple[str, float]]:
        """
        Detect language of multiple texts
        Returns: List of tuples (language_code, confidence_score)
        """
        pass
