"""Metric Refinement schemas (Component F09).

Phase 1 shim — hot-path types `AlignmentResult`, `ChunkAlignmentResult`,
`Sim3Transform` live in `gps_denied.hot_types.alignment_result`.
`LiteSAMConfig` (config) stays here as a Pydantic boundary type.
"""

from pydantic import BaseModel

from gps_denied.hot_types.alignment_result import (  # noqa: F401
    AlignmentResult,
    ChunkAlignmentResult,
    Sim3Transform,
)


class LiteSAMConfig(BaseModel):
    """Configuration for LiteSAM alignment."""
    model_path: str = "mock_path"
    confidence_threshold: float = 0.7
    min_inliers: int = 15
    max_reprojection_error: float = 2.0  # pixels
    multi_scale_levels: int = 3
    chunk_min_inliers: int = 30


__all__ = [
    "AlignmentResult",
    "ChunkAlignmentResult",
    "LiteSAMConfig",
    "Sim3Transform",
]
