"""Compatibility facade for kinetic modeling.

Implementation now lives in the `lls.kinetic` subpackage.
"""

from .kinetic.high_level import fit_compartment_model
from .kinetic.io_utils import (
    convert_time_to_minutes as _convert_time_to_minutes,
    infer_device as _infer_device,
    infer_dtype as _infer_dtype,
    normalize_tacs_shape as _normalize_tacs_shape,
    require_1d as _require_1d,
    to_tensor as _to_tensor,
)
from .kinetic.math_utils import (
    build_interpolation_grid as _build_interpolation_grid,
    interp1d_linear as _interp1d_linear,
    quadratic_formula,
    trapezoidal_integral,
)
from .kinetic.models import (
    CompartmentModel,
    ForwardCompartmentModel,
    Irreversible3KModel,
    Irreversible3KModelvB,
    OneTissue2KModel,
    Reversible4KModel,
    Reversible4KModelvB,
    make_compartment_model,
)
from .kinetic.solver import lls_3k, lls_3k_vB, lls_4k, lls_4k_vB
from .kinetic.types import ArrayLike, DeviceLike, Scalar, VBLike

__all__ = [
    "lls_3k",
    "lls_3k_vB",
    "lls_4k",
    "lls_4k_vB",
    "fit_compartment_model",
    "ForwardCompartmentModel",
    "CompartmentModel",
    "OneTissue2KModel",
    "Irreversible3KModel",
    "Irreversible3KModelvB",
    "Reversible4KModel",
    "Reversible4KModelvB",
    "make_compartment_model",
    "trapezoidal_integral",
    "quadratic_formula",
    "Scalar",
    "VBLike",
    "DeviceLike",
    "ArrayLike",
]
