"""OCR provider abstraction for Amanah document processing.

Current implementation: LocalTesseractOCRProvider (free, local, no GPU).
Future providers can implement OCRProvider without changing upload/review/approval.
"""

from __future__ import annotations

from app.services.ocr.base import (
    ExtractedField,
    ExtractionResult,
    OCRProvider,
    OCRResult,
    OCRStatus,
)
from app.services.ocr.tesseract_provider import LocalTesseractOCRProvider

__all__ = [
    "ExtractedField",
    "ExtractionResult",
    "LocalTesseractOCRProvider",
    "OCRProvider",
    "OCRResult",
    "OCRStatus",
    "get_default_ocr_provider",
]


def get_default_ocr_provider() -> OCRProvider:
    """Return the active OCR provider (local Tesseract for now)."""
    return LocalTesseractOCRProvider()
