"""Public SDK entrypoints for the Quark SDK."""

from analyzer_engine import AnalyzerEngine, AnalyzerEngineConfig, AnalyzerResult, AnalyzerThresholds
from artifact_store import ARTIFACT_STORAGE_LAYOUT, ArtifactStore
from comparison_engine import (
    COMPARISON_SCHEMA_VERSION,
    AlertDiff,
    AlertRuleDiff,
    ComparisonEngine,
    ComparisonEngineConfig,
    ComparisonMode,
    ComparisonRunTarget,
    LayerSummaryAggregate,
    LayerSummaryComparison,
    MetricComparison,
    MetricSeriesSummary,
    MetricTargetDirection,
    MetricTargetSpec,
    NumericDiff,
    PhaseAggregate,
    PhaseComparison,
    RunComparisonResult,
)
from data_diagnostics import (
    BatchMetadata,
    BatchMetadataAdapter,
    ClassExposure,
    DataDiagnostics,
    DataDiagnosticsConfig,
    DataDiagnosticsSummary,
    ExposureSummary,
    HardBatchFinding,
    LossDistributionSummary,
    MappingBatchMetadataAdapter,
    SequenceLengthDistributionSummary,
)
from event_logger import EventLogger
from hook_engine import HookEngine, HookEngineConfig, HookScheduleConfig, LayerFilterConfig
from log_utils import LogIdentifier
from metrics_logger import MetricsLogger
from parameter_diagnostics import ParameterDiagnostics, ParameterDiagnosticsConfig
from phase_analyzer import PhaseAnalysisResult, PhaseAnalyzer, PhaseAnalyzerConfig, PhaseAnalyzerThresholds
from models import (
    AlertRecord,
    ArtifactRecord,
    BatchDiagnosticRecord,
    EvidenceRecord,
    EventRecord,
    HealthScoreRecord,
    LayerSummaryRecord,
    MetricRecord,
    ParameterDistributionRecord,
    ParameterSummaryRecord,
    PhaseRecord,
    ProjectRecord,
    RunContext,
    RunRecord,
    SystemTelemetryRecord,
)
from schemas import (
    CURRENT_SCHEMA_VERSION,
    SchemaMigrationError,
    SchemaValidationError,
    dump_record,
    migrate_store,
    validate_record,
)
from session_manager import (
    TrainingSession,
    add_log,
    add_tag,
    end_run,
    resume_run,
    start_run,
)
from storage import InvalidRunStateError, RunNotFoundError, SessionStoreError
from system_telemetry import SystemTelemetry, SystemTelemetryConfig

__all__ = [
    "ProjectRecord",
    "RunContext",
    "RunRecord",
    "AnalyzerEngine",
    "AnalyzerEngineConfig",
    "AnalyzerResult",
    "AnalyzerThresholds",
    "AlertRecord",
    "AlertDiff",
    "AlertRuleDiff",
    "ArtifactStore",
    "ArtifactRecord",
    "ARTIFACT_STORAGE_LAYOUT",
    "BatchDiagnosticRecord",
    "BatchMetadata",
    "BatchMetadataAdapter",
    "ClassExposure",
    "COMPARISON_SCHEMA_VERSION",
    "ComparisonEngine",
    "ComparisonEngineConfig",
    "ComparisonMode",
    "ComparisonRunTarget",
    "DataDiagnostics",
    "DataDiagnosticsConfig",
    "DataDiagnosticsSummary",
    "EvidenceRecord",
    "EventLogger",
    "EventRecord",
    "ExposureSummary",
    "HealthScoreRecord",
    "HardBatchFinding",
    "MetricsLogger",
    "MetricRecord",
    "ParameterDiagnostics",
    "ParameterDiagnosticsConfig",
    "ParameterDistributionRecord",
    "ParameterSummaryRecord",
    "MetricComparison",
    "MetricSeriesSummary",
    "MetricTargetDirection",
    "MetricTargetSpec",
    "LossDistributionSummary",
    "MappingBatchMetadataAdapter",
    "NumericDiff",
    "PhaseAggregate",
    "PhaseAnalyzer",
    "PhaseAnalyzerConfig",
    "PhaseAnalysisResult",
    "PhaseAnalyzerThresholds",
    "PhaseComparison",
    "PhaseRecord",
    "LayerSummaryRecord",
    "LayerSummaryAggregate",
    "LayerSummaryComparison",
    "LogIdentifier",
    "HookEngine",
    "HookEngineConfig",
    "HookScheduleConfig",
    "LayerFilterConfig",
    "SequenceLengthDistributionSummary",
    "RunComparisonResult",
    "TrainingSession",
    "SystemTelemetry",
    "SystemTelemetryConfig",
    "SystemTelemetryRecord",
    "CURRENT_SCHEMA_VERSION",
    "InvalidRunStateError",
    "RunNotFoundError",
    "SchemaMigrationError",
    "SchemaValidationError",
    "SessionStoreError",
    "add_log",
    "add_tag",
    "dump_record",
    "end_run",
    "migrate_store",
    "resume_run",
    "start_run",
    "validate_record",
]
