import h5py as h5
import numpy as np
import typing as tp
from .core.property import Corners as Corners

def linspace(start, end, count: int): ...
def meshcorners(corners: np.ndarray, grid: tp.Tuple): ...
def cutpatch(data: tp.Union[np.ndarray, h5.Dataset], corners: np.ndarray, grid: tp.Tuple[int, ...], fill: tp.Any = ...) -> np.ndarray: ...

class ByPatchWrapper:
    def __init__(self, func: tp.Callable[[np.ndarray], tp.Any], size: tp.Union[np.ndarray, tp.Tuple[int, ...]], spacing: tp.Union[np.ndarray, tp.Tuple[float, ...]] = ..., grid: tp.Union[np.ndarray, tp.Tuple[float, ...]] = ...) -> None: ...
    def __call__(self, data: np.ndarray, spacing: tp.Union[np.ndarray, tp.Tuple[float, ...]] = ..., grid: tp.Union[np.ndarray, tp.Tuple[float, ...]] = ..., **kwargs) -> np.ndarray: ...
