"""
Agent factory and providers for LLM integration.
"""

from quber.agents.classifier import (
    ClassifierResult,
    MockClassifier,
    PydanticAIClassifier,
    TableClassifier,
    get_classifier,
)
from quber.agents.completeness import (
    CompletenessAuditor,
    CompletenessVerdict,
    MissingFigure,
    MockCompleteness,
    TextLayerCompleteness,
    get_completeness,
)
from quber.agents.detector import (
    DetectedTable,
    DetectorResult,
    MockTableDetector,
    PydanticAITableDetector,
    TableDetector,
    get_detector,
)
from quber.agents.factory import AgentFactory
from quber.agents.llm_client import (
    ClaudeCLIClient,
    LLMClient,
    LLMTableCorrection,
    MockLLMClient,
    PydanticAIClient,
    get_llm_client,
)
from quber.agents.unifier import (
    CandidateInput,
    MockUnifier,
    PydanticAIUnifier,
    TableUnifier,
    UnifiedTable,
    UnifierResult,
    get_unifier,
)

__all__ = [
    "AgentFactory",
    "CandidateInput",
    "ClassifierResult",
    "ClaudeCLIClient",
    "CompletenessAuditor",
    "CompletenessVerdict",
    "DetectedTable",
    "DetectorResult",
    "LLMClient",
    "LLMTableCorrection",
    "MissingFigure",
    "MockClassifier",
    "MockCompleteness",
    "MockLLMClient",
    "MockTableDetector",
    "MockUnifier",
    "PydanticAIClassifier",
    "PydanticAIClient",
    "PydanticAITableDetector",
    "PydanticAIUnifier",
    "TableClassifier",
    "TableDetector",
    "TableUnifier",
    "TextLayerCompleteness",
    "UnifiedTable",
    "UnifierResult",
    "get_classifier",
    "get_completeness",
    "get_detector",
    "get_llm_client",
    "get_unifier",
]
