import itertools

import numpy as np
from numpy.typing import ArrayLike

from .._shared.utils import _supported_float_type, check_nD

def moments_coords(coords, order: int = 3): ...
def moments_coords_central(coords, center: tuple[float, ...] | None = None, order: int = 3): ...
def moments(image, order: int = 3): ...
def moments_central(image, center: tuple[float, ...] | None = None, order: int = 3, **kwargs): ...
def moments_normalized(mu, order: int = 3): ...
def moments_hu(nu): ...
def centroid(image: ArrayLike): ...
def inertia_tensor(image: ArrayLike, mu: ArrayLike | None = None): ...
def inertia_tensor_eigvals(image: ArrayLike, mu: ArrayLike | None = None, T=None): ...
