"""Model-independent object detection, decoding and alert rules."""

from .base import DetectionModel
from .models import (
    CONSTRUCTION_PPE_LABELS,
    PPE_6CLASS_LABELS,
    register_builtin_detection_models,
)
from .operator import DetectionOperator, DetectorParams
from .plugins import register_detection_plugins
from .registry import (
    DetectionModelFactory,
    DetectionModelRegistry,
    DetectionModelRegistryError,
    DetectionModelSpec,
    DuplicateDetectionModelError,
    UnknownDetectionModelError,
)
from .rules import DetectionTriggerOperator
from .video import VideoDecoderOperator

__all__ = [
    "CONSTRUCTION_PPE_LABELS",
    "PPE_6CLASS_LABELS",
    "DetectionModel",
    "DetectionModelFactory",
    "DetectionModelRegistry",
    "DetectionModelRegistryError",
    "DetectionModelSpec",
    "DetectionOperator",
    "DetectionTriggerOperator",
    "DetectorParams",
    "DuplicateDetectionModelError",
    "UnknownDetectionModelError",
    "VideoDecoderOperator",
    "register_builtin_detection_models",
    "register_detection_plugins",
]
