"""
OCR processors with pluggable providers.

Use ProcessorFactory to create instances:
    from mini_videorag.processors import ProcessorFactory
    factory = ProcessorFactory()
    ocr = factory.create("ocr")
"""

# pylint: disable=import-outside-toplevel,undefined-all-variable


def __getattr__(name):
    """Lazy load processor classes to avoid importing heavy ML dependencies."""
    if name == "BaseOCRProcessor":
        from .base import BaseOCRProcessor

        return BaseOCRProcessor
    if name == "EasyOCRProcessor":
        from .easy_ocr import EasyOCRProcessor

        return EasyOCRProcessor
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")


__all__ = [
    "BaseOCRProcessor",
    "EasyOCRProcessor",
]
