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

class TranslationService(ABC):
    """Abstract base class for translation services"""
    
    @abstractmethod
    def translate_text(self, text: str, target_language: str, source_language: Optional[str] = None) -> str:
        """Translate a single text"""
        pass
    
    @abstractmethod
    def translate_batch(self, texts: List[str], target_language: str, source_language: Optional[str] = None) -> List[str]:
        """Translate a batch of texts"""
        pass
