# Backend Services Module
# Shared services for PDF generation, file processing, and more

# PDFService requires WeasyPrint which needs system libraries (libgobject, etc.)
# Make import optional for environments without these dependencies (e.g., CI)
try:
    from .pdf_service import PDFService
    _pdf_available = True
except (ImportError, OSError) as e:
    PDFService = None  # type: ignore
    _pdf_available = False

# FileProcessor requires OpenCV which needs libGL.so.1
# Make import optional for CI environments
try:
    from .file_processor import FileProcessor
    _file_processor_available = True
except (ImportError, OSError) as e:
    FileProcessor = None  # type: ignore
    _file_processor_available = False

# Lazy-loaded service modules (imported on demand to avoid heavy deps at startup):
# .audio          — TTS audio generation for vocabulary words
# .email          — Email/SMTP service
# .translation    — Batch vocabulary translation via Ollama
# .claude_vision  — Claude Vision API for worksheet analysis
# .ai_processor   — Legacy shim for ai_processor/ package
# .story_generator — Story generation from vocabulary words

__all__ = ["PDFService", "FileProcessor"]
