"""Route Conditions Intelligence contracts and deterministic detection tools."""

from mountain_twin.rci.catalog import initial_signal_registry
from mountain_twin.rci.clustering import build_condition_clusters
from mountain_twin.rci.composition import (
    build_condition_state_series,
    compose_rci_route_conditions,
    serialize_rci_route_conditions,
)
from mountain_twin.rci.contracts import (
    BoundaryLocation,
    BoundaryReason,
    ConditionBoundary,
    ConditionSignal,
    ConditionSpan,
    ConditionState,
    ConditionStateRecord,
    CoverageState,
    EvidenceQuality,
    GapBridgingPolicy,
    HysteresisDirection,
    HysteresisPolicy,
    QualificationMode,
    QualificationPolicy,
    RouteConditionCluster,
    RouteConditionEvent,
    RouteConditionsResult,
    SignalDefinition,
    SignalDefinitionRegistry,
    SpanKind,
    StructuredWhy,
    ThresholdOrigin,
    ThresholdProvenance,
    derive_condition_signal_id,
    serialize_route_conditions_result,
)
from mountain_twin.rci.detection import (
    DetectionCandidate,
    DetectionResult,
    detect_condition_signals,
)
from mountain_twin.rci.events import extract_route_condition_events

__all__ = [
    "BoundaryLocation",
    "BoundaryReason",
    "ConditionBoundary",
    "ConditionSignal",
    "ConditionSpan",
    "ConditionState",
    "ConditionStateRecord",
    "CoverageState",
    "EvidenceQuality",
    "GapBridgingPolicy",
    "HysteresisDirection",
    "HysteresisPolicy",
    "QualificationMode",
    "QualificationPolicy",
    "RouteConditionsResult",
    "RouteConditionCluster",
    "RouteConditionEvent",
    "SignalDefinition",
    "SignalDefinitionRegistry",
    "SpanKind",
    "ThresholdOrigin",
    "ThresholdProvenance",
    "StructuredWhy",
    "derive_condition_signal_id",
    "serialize_route_conditions_result",
    "DetectionCandidate",
    "DetectionResult",
    "detect_condition_signals",
    "initial_signal_registry",
    "build_condition_clusters",
    "build_condition_state_series",
    "compose_rci_route_conditions",
    "serialize_rci_route_conditions",
    "extract_route_condition_events",
]
