"""TEASER face encoder dependencies bundled with VLTK."""

from __future__ import annotations

__all__ = [
    "TeaserProcessorConfig",
    "TeaserProcessorOptimized",
    "FLAMEProcessor",
]


def __getattr__(name: str) -> object:
    """Lazy-load to avoid heavy imports (torch, mediapipe) at package init."""
    if name in ("TeaserProcessorConfig", "TeaserProcessorOptimized"):
        from sltk.extraction.teaser_deps.teaser_processor import (
            TeaserProcessorConfig,
            TeaserProcessorOptimized,
        )

        return locals()[name]
    if name == "FLAMEProcessor":
        from sltk.extraction.teaser_deps.flame.processor import FLAMEProcessor

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