"""C3.5 AdHoP / conditional refiner — Public API (AZ-348).

Per ``conditional_refiner_protocol.md`` v1.0.0 the public surface
consists of:

- :class:`ConditionalRefiner` Protocol (two methods).
- :class:`C3_5RefinerConfig` config block (registered on import).

The error family (:class:`RefinerError`,
:class:`RefinerBackboneError`, :class:`RefinerConfigError`) and
both concrete strategies (:class:`PassthroughRefiner`,
:class:`AdHoPRefiner`) are intentionally NOT in ``__all__`` per
task spec AC-8: consumers see only the Protocol; concrete
strategies are reached via the runtime-root factory.
"""

from gps_denied_onboard.components.c3_5_adhop.config import C3_5RefinerConfig
from gps_denied_onboard.components.c3_5_adhop.interface import ConditionalRefiner
from gps_denied_onboard.config.schema import register_component_block

register_component_block("c3_5_adhop", C3_5RefinerConfig)

__all__ = [
    "C3_5RefinerConfig",
    "ConditionalRefiner",
]
