"""Query planning bounded context public API."""

from query_planning.domain import (
    GenerationPlanDraft,
    GenerationRequest,
    GenerationResult,
    GenerationStats,
    GeneratorKind,
    GeneratorOutput,
    KnowledgeNeedDraft,
    QueryCandidate,
)
from query_planning.errors import NoQueryCandidatesError, UnsupportedGeneratorError
from query_planning.generators import (
    CartesianQueryGenerator,
    ManualQueryGenerator,
    QueryGeneratorRegistry,
    TopicTableQueryGenerator,
    default_generator_registry,
)
from query_planning.ports import LegacyQueryBatchSink, QueryGenerator, QueryPlanningStore
from query_planning.service import UnifiedQueryGenerationService, normalize_query_text
from query_planning.writer import (
    QueryBatchWriteResult,
    QueryBatchWriteSpec,
    QueryBatchWriter,
    planning_store_for_repository,
)

__all__ = [
    "CartesianQueryGenerator",
    "GenerationPlanDraft",
    "GenerationRequest",
    "GenerationResult",
    "GenerationStats",
    "GeneratorKind",
    "GeneratorOutput",
    "KnowledgeNeedDraft",
    "LegacyQueryBatchSink",
    "ManualQueryGenerator",
    "NoQueryCandidatesError",
    "QueryBatchWriteResult",
    "QueryBatchWriteSpec",
    "QueryBatchWriter",
    "QueryCandidate",
    "QueryGenerator",
    "QueryGeneratorRegistry",
    "QueryPlanningStore",
    "TopicTableQueryGenerator",
    "UnifiedQueryGenerationService",
    "UnsupportedGeneratorError",
    "default_generator_registry",
    "normalize_query_text",
    "planning_store_for_repository",
]
