"""Python bindings for calibration-rs.

High-level workflow functions accept Python-native dataclasses from
``vision_calibration.models`` and return result dataclasses with docstrings.
Raw serde payload access is available only via low-level helpers in
``vision_calibration._api``.
"""

from __future__ import annotations

from . import _vision_calibration as _native
from ._api import (
    robust_arctan,
    robust_cauchy,
    robust_huber,
    robust_none,
    run_laserline_device,
    run_planar_intrinsics,
    run_rig_extrinsics,
    run_rig_handeye,
    run_scheimpflug_intrinsics,
    run_single_cam_handeye,
)
from .models import (
    BrownConradyDistortion,
    LaserlineDataset,
    LaserlineDeviceCalibrationConfig,
    LaserlineEstimate,
    LaserlineEstimateParams,
    LaserlineDeviceInitConfig,
    LaserlineDeviceOptimizeConfig,
    LaserlineDeviceResult,
    LaserlineDeviceSolverConfig,
    LaserlinePlane,
    LaserlineStats,
    LaserlineView,
    Observation,
    PinholeBrownConradyCamera,
    PinholeBrownConradyScheimpflugCamera,
    PinholeIntrinsics,
    PlanarCalibrationConfig,
    PlanarCalibrationResult,
    PlanarDataset,
    PlanarView,
    Pose,
    ScheimpflugIntrinsicsCalibrationConfig,
    ScheimpflugSensor,
    ScheimpflugIntrinsicsResult,
    RigExtrinsicsCalibrationConfig,
    RigExtrinsicsDataset,
    RigExtrinsicsResult,
    RigExtrinsicsView,
    RigHandeyeBaConfig,
    RigHandeyeCalibrationConfig,
    RigHandeyeDataset,
    RigHandeyeInitConfig,
    RigHandeyeIntrinsicsConfig,
    RigHandeyeResult,
    RigHandeyeRigConfig,
    RigHandeyeSolverConfig,
    RigHandeyeView,
    SingleCamHandeyeCalibrationConfig,
    SingleCamHandeyeDataset,
    SingleCamHandeyeResult,
    SingleCamHandeyeView,
)
__version__ = _native.library_version()

__all__ = [
    "__version__",
    "Pose",
    "Observation",
    "PlanarView",
    "PlanarDataset",
    "SingleCamHandeyeView",
    "SingleCamHandeyeDataset",
    "RigExtrinsicsView",
    "RigExtrinsicsDataset",
    "RigHandeyeView",
    "RigHandeyeDataset",
    "LaserlineView",
    "LaserlineDataset",
    "PinholeIntrinsics",
    "BrownConradyDistortion",
    "ScheimpflugSensor",
    "PinholeBrownConradyCamera",
    "PinholeBrownConradyScheimpflugCamera",
    "LaserlinePlane",
    "LaserlineEstimateParams",
    "LaserlineEstimate",
    "LaserlineStats",
    "PlanarCalibrationConfig",
    "ScheimpflugIntrinsicsCalibrationConfig",
    "SingleCamHandeyeCalibrationConfig",
    "RigExtrinsicsCalibrationConfig",
    "RigHandeyeIntrinsicsConfig",
    "RigHandeyeRigConfig",
    "RigHandeyeInitConfig",
    "RigHandeyeSolverConfig",
    "RigHandeyeBaConfig",
    "RigHandeyeCalibrationConfig",
    "LaserlineDeviceInitConfig",
    "LaserlineDeviceSolverConfig",
    "LaserlineDeviceOptimizeConfig",
    "LaserlineDeviceCalibrationConfig",
    "PlanarCalibrationResult",
    "ScheimpflugIntrinsicsResult",
    "SingleCamHandeyeResult",
    "RigExtrinsicsResult",
    "RigHandeyeResult",
    "LaserlineDeviceResult",
    "robust_none",
    "robust_huber",
    "robust_cauchy",
    "robust_arctan",
    "run_planar_intrinsics",
    "run_scheimpflug_intrinsics",
    "run_single_cam_handeye",
    "run_rig_extrinsics",
    "run_rig_handeye",
    "run_laserline_device",
]
