"""Evaluation orchestration runners.

The base module provides data classes and abstract Runner.

Available runners:
- SimpleRunner: Basic single-strategy evaluation
- ComparisonRunner: Multi-strategy comparison with statistical tests
- CampaignRunner: Large-scale campaigns with checkpointing

Note: To avoid circular imports, import specialized runners directly:
    from embergraphrouter.evals.runners.simple import SimpleRunner, run_evaluation
    from embergraphrouter.evals.runners.comparison import ComparisonRunner
    from embergraphrouter.evals.runners.campaign import CampaignRunner
"""

from embergraphrouter.evals.runners.base import (
    AggregateMetrics,
    EvaluationResult,
    ExampleResult,
    RunConfig,
    Runner,
    SliceMetrics,
)

# Note: ComparisonRunner, CampaignRunner, etc. are intentionally not imported
# here to avoid circular imports. Import them directly from their submodules.

__all__ = [
    # Base classes and data structures
    "AggregateMetrics",
    "EvaluationResult",
    "ExampleResult",
    "RunConfig",
    "Runner",
    "SliceMetrics",
]
