from typing import Any, ClassVar, Dict, List, Optional

from typing import overload

class CDynamicGrid3D_mrpt_maps_TRandomFieldVoxel_double_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float, arg4: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float, arg4: float, arg5: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float, arg4: float, arg5: float, arg6: float) -> None: ...
    @overload
    def __init__(self, x_min: float, x_max: float, y_min: float, y_max: float, z_min: float, z_max: float, resolution_xy: float, resolution_z: float) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid3D_mrpt_maps_TRandomFieldVoxel_double_t) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid3D_mrpt_maps_TRandomFieldVoxel_double_t) -> None: ...
    def assign(self) -> CDynamicGrid3D_mrpt_maps_TRandomFieldVoxel_double_t: ...
    def cellAbsIndexFromCXCYCZ(self, cx: int, cy: int, cz: int) -> int: ...
    def cellByIndex(self, *args, **kwargs) -> Any: ...
    def cellByPos(self, *args, **kwargs) -> Any: ...
    def cellRefByPos(self, *args, **kwargs) -> Any: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    @overload
    def fill(self, value) -> None: ...
    @overload
    def fill(conststructmrpt) -> void: ...
    @overload
    def getResolutionXY(self) -> float: ...
    @overload
    def getResolutionXY() -> double: ...
    @overload
    def getResolutionZ(self) -> float: ...
    @overload
    def getResolutionZ() -> double: ...
    @overload
    def getSizeX(self) -> int: ...
    @overload
    def getSizeX() -> size_t: ...
    @overload
    def getSizeY(self) -> int: ...
    @overload
    def getSizeY() -> size_t: ...
    @overload
    def getSizeZ(self) -> int: ...
    @overload
    def getSizeZ() -> size_t: ...
    @overload
    def getVoxelCount(self) -> int: ...
    @overload
    def getVoxelCount() -> size_t: ...
    @overload
    def getXMax(self) -> float: ...
    @overload
    def getXMax() -> double: ...
    @overload
    def getXMin(self) -> float: ...
    @overload
    def getXMin() -> double: ...
    @overload
    def getYMax(self) -> float: ...
    @overload
    def getYMax() -> double: ...
    @overload
    def getYMin(self) -> float: ...
    @overload
    def getYMin() -> double: ...
    @overload
    def getZMax(self) -> float: ...
    @overload
    def getZMax() -> double: ...
    @overload
    def getZMin(self) -> float: ...
    @overload
    def getZMin() -> double: ...
    @overload
    def idx2x(self, cx: int) -> float: ...
    @overload
    def idx2x(int) -> double: ...
    @overload
    def idx2y(self, cy: int) -> float: ...
    @overload
    def idx2y(int) -> double: ...
    @overload
    def idx2z(self, cz: int) -> float: ...
    @overload
    def idx2z(int) -> double: ...
    def isOutOfBounds(self, cx: int, cy: int, cz: int) -> bool: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, new_z_min: float, new_z_max: float, defaultValueNewCells) -> None: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, new_z_min: float, new_z_max: float, defaultValueNewCells, additionalMarginMeters: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, z_min: float, z_max: float, resolution_xy: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, z_min: float, z_max: float, resolution_xy: float, resolution_z_: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, z_min: float, z_max: float, resolution_xy: float, resolution_z_: float, fill_value) -> None: ...
    @overload
    def x2idx(self, x: float) -> int: ...
    @overload
    def x2idx(double) -> int: ...
    @overload
    def y2idx(self, y: float) -> int: ...
    @overload
    def y2idx(double) -> int: ...
    @overload
    def z2idx(self, z: float) -> int: ...
    @overload
    def z2idx(double) -> int: ...

class CDynamicGrid3D_signed_char_double_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float, arg4: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float, arg4: float, arg5: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float, arg4: float, arg5: float, arg6: float) -> None: ...
    @overload
    def __init__(self, x_min: float, x_max: float, y_min: float, y_max: float, z_min: float, z_max: float, resolution_xy: float, resolution_z: float) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid3D_signed_char_double_t) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid3D_signed_char_double_t) -> None: ...
    def assign(self) -> CDynamicGrid3D_signed_char_double_t: ...
    def cellAbsIndexFromCXCYCZ(self, cx: int, cy: int, cz: int) -> int: ...
    @overload
    def cellByIndex(self, cx: int, cy: int, cz: int) -> int: ...
    @overload
    def cellByIndex(self, cidx: int) -> int: ...
    def cellByPos(self, x: float, y: float, z: float) -> int: ...
    def cellRefByPos(self, x: float, y: float, z: float) -> int: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    def fill(self, value: int) -> None: ...
    @overload
    def getResolutionXY(self) -> float: ...
    @overload
    def getResolutionXY() -> double: ...
    @overload
    def getResolutionZ(self) -> float: ...
    @overload
    def getResolutionZ() -> double: ...
    @overload
    def getSizeX(self) -> int: ...
    @overload
    def getSizeX() -> size_t: ...
    @overload
    def getSizeY(self) -> int: ...
    @overload
    def getSizeY() -> size_t: ...
    @overload
    def getSizeZ(self) -> int: ...
    @overload
    def getSizeZ() -> size_t: ...
    @overload
    def getVoxelCount(self) -> int: ...
    @overload
    def getVoxelCount() -> size_t: ...
    @overload
    def getXMax(self) -> float: ...
    @overload
    def getXMax() -> double: ...
    @overload
    def getXMin(self) -> float: ...
    @overload
    def getXMin() -> double: ...
    @overload
    def getYMax(self) -> float: ...
    @overload
    def getYMax() -> double: ...
    @overload
    def getYMin(self) -> float: ...
    @overload
    def getYMin() -> double: ...
    @overload
    def getZMax(self) -> float: ...
    @overload
    def getZMax() -> double: ...
    @overload
    def getZMin(self) -> float: ...
    @overload
    def getZMin() -> double: ...
    @overload
    def idx2x(self, cx: int) -> float: ...
    @overload
    def idx2x(int) -> double: ...
    @overload
    def idx2y(self, cy: int) -> float: ...
    @overload
    def idx2y(int) -> double: ...
    @overload
    def idx2z(self, cz: int) -> float: ...
    @overload
    def idx2z(int) -> double: ...
    def isOutOfBounds(self, cx: int, cy: int, cz: int) -> bool: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, new_z_min: float, new_z_max: float, defaultValueNewCells: int) -> None: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, new_z_min: float, new_z_max: float, defaultValueNewCells: int, additionalMarginMeters: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, z_min: float, z_max: float, resolution_xy: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, z_min: float, z_max: float, resolution_xy: float, resolution_z_: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, z_min: float, z_max: float, resolution_xy: float, resolution_z_: float, fill_value: int) -> None: ...
    @overload
    def x2idx(self, x: float) -> int: ...
    @overload
    def x2idx(double) -> int: ...
    @overload
    def y2idx(self, y: float) -> int: ...
    @overload
    def y2idx(double) -> int: ...
    @overload
    def z2idx(self, z: float) -> int: ...
    @overload
    def z2idx(double) -> int: ...

class CDynamicGrid_double_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None: ...
    @overload
    def __init__(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_double_t) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_double_t) -> None: ...
    def assign(self) -> CDynamicGrid_double_t: ...
    def cell2float(self) -> float: ...
    def cellByIndex(self, cx: int, cy: int) -> float: ...
    def cellByPos(self, x: float, y: float) -> float: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    def fill(self, value: float) -> None: ...
    @overload
    def getResolution(self) -> float: ...
    @overload
    def getResolution() -> double: ...
    @overload
    def getSizeX(self) -> int: ...
    @overload
    def getSizeX() -> size_t: ...
    @overload
    def getSizeY(self) -> int: ...
    @overload
    def getSizeY() -> size_t: ...
    @overload
    def getXMax(self) -> float: ...
    @overload
    def getXMax() -> double: ...
    @overload
    def getXMin(self) -> float: ...
    @overload
    def getXMin() -> double: ...
    @overload
    def getYMax(self) -> float: ...
    @overload
    def getYMax() -> double: ...
    @overload
    def getYMin(self) -> float: ...
    @overload
    def getYMin() -> double: ...
    def idx2cxcy(self, idx: int, cx: int, cy: int) -> None: ...
    @overload
    def idx2x(self, cx: int) -> float: ...
    @overload
    def idx2x(int) -> double: ...
    @overload
    def idx2y(self, cy: int) -> float: ...
    @overload
    def idx2y(int) -> double: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells: float) -> None: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells: float, additionalMarginMeters: float) -> None: ...
    @overload
    def saveToTextFile(self, fileName: str) -> bool: ...
    @overload
    def saveToTextFile(conststd) -> bool: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float, fill_value: float) -> None: ...
    @overload
    def x2idx(self, x: float) -> int: ...
    @overload
    def x2idx(double) -> int: ...
    def xy2idx(self, x: float, y: float) -> int: ...
    @overload
    def y2idx(self, y: float) -> int: ...
    @overload
    def y2idx(double) -> int: ...

class CDynamicGrid_mrpt_maps_THeightGridmapCell_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None: ...
    @overload
    def __init__(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_mrpt_maps_THeightGridmapCell_t) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_mrpt_maps_THeightGridmapCell_t) -> None: ...
    def assign(self) -> CDynamicGrid_mrpt_maps_THeightGridmapCell_t: ...
    @overload
    def cell2float(self) -> float: ...
    @overload
    def cell2float(conststructmrpt) -> float: ...
    def cellByIndex(self, *args, **kwargs) -> Any: ...
    def cellByPos(self, *args, **kwargs) -> Any: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    @overload
    def fill(self, value) -> None: ...
    @overload
    def fill(conststructmrpt) -> void: ...
    @overload
    def getResolution(self) -> float: ...
    @overload
    def getResolution() -> double: ...
    @overload
    def getSizeX(self) -> int: ...
    @overload
    def getSizeX() -> size_t: ...
    @overload
    def getSizeY(self) -> int: ...
    @overload
    def getSizeY() -> size_t: ...
    @overload
    def getXMax(self) -> float: ...
    @overload
    def getXMax() -> double: ...
    @overload
    def getXMin(self) -> float: ...
    @overload
    def getXMin() -> double: ...
    @overload
    def getYMax(self) -> float: ...
    @overload
    def getYMax() -> double: ...
    @overload
    def getYMin(self) -> float: ...
    @overload
    def getYMin() -> double: ...
    def idx2cxcy(self, idx: int, cx: int, cy: int) -> None: ...
    @overload
    def idx2x(self, cx: int) -> float: ...
    @overload
    def idx2x(int) -> double: ...
    @overload
    def idx2y(self, cy: int) -> float: ...
    @overload
    def idx2y(int) -> double: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells) -> None: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells, additionalMarginMeters: float) -> None: ...
    @overload
    def saveToTextFile(self, fileName: str) -> bool: ...
    @overload
    def saveToTextFile(conststd) -> bool: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float, fill_value) -> None: ...
    @overload
    def x2idx(self, x: float) -> int: ...
    @overload
    def x2idx(double) -> int: ...
    def xy2idx(self, x: float, y: float) -> int: ...
    @overload
    def y2idx(self, y: float) -> int: ...
    @overload
    def y2idx(double) -> int: ...

class CDynamicGrid_mrpt_maps_TRandomFieldCell_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None: ...
    @overload
    def __init__(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_mrpt_maps_TRandomFieldCell_t) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_mrpt_maps_TRandomFieldCell_t) -> None: ...
    def assign(self) -> CDynamicGrid_mrpt_maps_TRandomFieldCell_t: ...
    @overload
    def cell2float(self) -> float: ...
    @overload
    def cell2float(conststructmrpt) -> float: ...
    def cellByIndex(self, *args, **kwargs) -> Any: ...
    def cellByPos(self, *args, **kwargs) -> Any: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    @overload
    def fill(self, value) -> None: ...
    @overload
    def fill(conststructmrpt) -> void: ...
    @overload
    def getResolution(self) -> float: ...
    @overload
    def getResolution() -> double: ...
    @overload
    def getSizeX(self) -> int: ...
    @overload
    def getSizeX() -> size_t: ...
    @overload
    def getSizeY(self) -> int: ...
    @overload
    def getSizeY() -> size_t: ...
    @overload
    def getXMax(self) -> float: ...
    @overload
    def getXMax() -> double: ...
    @overload
    def getXMin(self) -> float: ...
    @overload
    def getXMin() -> double: ...
    @overload
    def getYMax(self) -> float: ...
    @overload
    def getYMax() -> double: ...
    @overload
    def getYMin(self) -> float: ...
    @overload
    def getYMin() -> double: ...
    def idx2cxcy(self, idx: int, cx: int, cy: int) -> None: ...
    @overload
    def idx2x(self, cx: int) -> float: ...
    @overload
    def idx2x(int) -> double: ...
    @overload
    def idx2y(self, cy: int) -> float: ...
    @overload
    def idx2y(int) -> double: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells) -> None: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells, additionalMarginMeters: float) -> None: ...
    @overload
    def saveToTextFile(self, fileName: str) -> bool: ...
    @overload
    def saveToTextFile(conststd) -> bool: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float, fill_value) -> None: ...
    @overload
    def x2idx(self, x: float) -> int: ...
    @overload
    def x2idx(double) -> int: ...
    def xy2idx(self, x: float, y: float) -> int: ...
    @overload
    def y2idx(self, y: float) -> int: ...
    @overload
    def y2idx(double) -> int: ...

class CDynamicGrid_signed_char_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None: ...
    @overload
    def __init__(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_signed_char_t) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_signed_char_t) -> None: ...
    def assign(self) -> CDynamicGrid_signed_char_t: ...
    def cell2float(self) -> float: ...
    def cellByIndex(self, cx: int, cy: int) -> int: ...
    def cellByPos(self, x: float, y: float) -> int: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    def fill(self, value: int) -> None: ...
    @overload
    def getResolution(self) -> float: ...
    @overload
    def getResolution() -> double: ...
    @overload
    def getSizeX(self) -> int: ...
    @overload
    def getSizeX() -> size_t: ...
    @overload
    def getSizeY(self) -> int: ...
    @overload
    def getSizeY() -> size_t: ...
    @overload
    def getXMax(self) -> float: ...
    @overload
    def getXMax() -> double: ...
    @overload
    def getXMin(self) -> float: ...
    @overload
    def getXMin() -> double: ...
    @overload
    def getYMax(self) -> float: ...
    @overload
    def getYMax() -> double: ...
    @overload
    def getYMin(self) -> float: ...
    @overload
    def getYMin() -> double: ...
    def idx2cxcy(self, idx: int, cx: int, cy: int) -> None: ...
    @overload
    def idx2x(self, cx: int) -> float: ...
    @overload
    def idx2x(int) -> double: ...
    @overload
    def idx2y(self, cy: int) -> float: ...
    @overload
    def idx2y(int) -> double: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells: int) -> None: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells: int, additionalMarginMeters: float) -> None: ...
    @overload
    def saveToTextFile(self, fileName: str) -> bool: ...
    @overload
    def saveToTextFile(conststd) -> bool: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float, fill_value: int) -> None: ...
    @overload
    def x2idx(self, x: float) -> int: ...
    @overload
    def x2idx(double) -> int: ...
    def xy2idx(self, x: float, y: float) -> int: ...
    @overload
    def y2idx(self, y: float) -> int: ...
    @overload
    def y2idx(double) -> int: ...

class CDynamicGrid_unsigned_char_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None: ...
    @overload
    def __init__(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_unsigned_char_t) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_unsigned_char_t) -> None: ...
    def assign(self) -> CDynamicGrid_unsigned_char_t: ...
    def cell2float(self) -> float: ...
    def cellByIndex(self, cx: int, cy: int) -> int: ...
    def cellByPos(self, x: float, y: float) -> int: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    def fill(self, value: int) -> None: ...
    @overload
    def getResolution(self) -> float: ...
    @overload
    def getResolution() -> double: ...
    @overload
    def getSizeX(self) -> int: ...
    @overload
    def getSizeX() -> size_t: ...
    @overload
    def getSizeY(self) -> int: ...
    @overload
    def getSizeY() -> size_t: ...
    @overload
    def getXMax(self) -> float: ...
    @overload
    def getXMax() -> double: ...
    @overload
    def getXMin(self) -> float: ...
    @overload
    def getXMin() -> double: ...
    @overload
    def getYMax(self) -> float: ...
    @overload
    def getYMax() -> double: ...
    @overload
    def getYMin(self) -> float: ...
    @overload
    def getYMin() -> double: ...
    def idx2cxcy(self, idx: int, cx: int, cy: int) -> None: ...
    @overload
    def idx2x(self, cx: int) -> float: ...
    @overload
    def idx2x(int) -> double: ...
    @overload
    def idx2y(self, cy: int) -> float: ...
    @overload
    def idx2y(int) -> double: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells: int) -> None: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells: int, additionalMarginMeters: float) -> None: ...
    @overload
    def saveToTextFile(self, fileName: str) -> bool: ...
    @overload
    def saveToTextFile(conststd) -> bool: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float, fill_value: int) -> None: ...
    @overload
    def x2idx(self, x: float) -> int: ...
    @overload
    def x2idx(double) -> int: ...
    def xy2idx(self, x: float, y: float) -> int: ...
    @overload
    def y2idx(self, y: float) -> int: ...
    @overload
    def y2idx(double) -> int: ...

class CDynamicGrid_unsigned_short_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float) -> None: ...
    @overload
    def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None: ...
    @overload
    def __init__(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_unsigned_short_t) -> None: ...
    @overload
    def __init__(self, arg0: CDynamicGrid_unsigned_short_t) -> None: ...
    def assign(self) -> CDynamicGrid_unsigned_short_t: ...
    def cell2float(self) -> float: ...
    def cellByIndex(self, cx: int, cy: int) -> int: ...
    def cellByPos(self, x: float, y: float) -> int: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    def fill(self, value: int) -> None: ...
    @overload
    def getResolution(self) -> float: ...
    @overload
    def getResolution() -> double: ...
    @overload
    def getSizeX(self) -> int: ...
    @overload
    def getSizeX() -> size_t: ...
    @overload
    def getSizeY(self) -> int: ...
    @overload
    def getSizeY() -> size_t: ...
    @overload
    def getXMax(self) -> float: ...
    @overload
    def getXMax() -> double: ...
    @overload
    def getXMin(self) -> float: ...
    @overload
    def getXMin() -> double: ...
    @overload
    def getYMax(self) -> float: ...
    @overload
    def getYMax() -> double: ...
    @overload
    def getYMin(self) -> float: ...
    @overload
    def getYMin() -> double: ...
    def idx2cxcy(self, idx: int, cx: int, cy: int) -> None: ...
    @overload
    def idx2x(self, cx: int) -> float: ...
    @overload
    def idx2x(int) -> double: ...
    @overload
    def idx2y(self, cy: int) -> float: ...
    @overload
    def idx2y(int) -> double: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells: int) -> None: ...
    @overload
    def resize(self, new_x_min: float, new_x_max: float, new_y_min: float, new_y_max: float, defaultValueNewCells: int, additionalMarginMeters: float) -> None: ...
    @overload
    def saveToTextFile(self, fileName: str) -> bool: ...
    @overload
    def saveToTextFile(conststd) -> bool: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float) -> None: ...
    @overload
    def setSize(self, x_min: float, x_max: float, y_min: float, y_max: float, resolution: float, fill_value: int) -> None: ...
    @overload
    def x2idx(self, x: float) -> int: ...
    @overload
    def x2idx(double) -> int: ...
    def xy2idx(self, x: float, y: float) -> int: ...
    @overload
    def y2idx(self, y: float) -> int: ...
    @overload
    def y2idx(double) -> int: ...

class CommentPosition:
    __doc__: ClassVar[str] = ...  # read-only
    __members__: ClassVar[dict] = ...  # read-only
    MAX: ClassVar[CommentPosition] = ...
    RIGHT: ClassVar[CommentPosition] = ...
    TOP: ClassVar[CommentPosition] = ...
    __entries: ClassVar[dict] = ...
    def __init__(self, value: int) -> None: ...
    def __eq__(self, other: object) -> bool: ...
    def __getstate__(self) -> int: ...
    def __hash__(self) -> int: ...
    def __index__(self) -> int: ...
    def __int__(self) -> int: ...
    def __ne__(self, other: object) -> bool: ...
    def __setstate__(self, state: int) -> None: ...
    @property
    def name(self) -> str: ...
    @property
    def value(self) -> int: ...

class MT_buffer:
    def __init__(self) -> None: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    @overload
    def size(self) -> int: ...
    @overload
    def size() -> size_t: ...

class YamlEmitOptions:
    emitComments: bool
    emitHeader: bool
    endWithNewLine: bool
    indentSequences: bool
    def __init__(self) -> None: ...

class bimap_long_unsigned_int_t:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: bimap_long_unsigned_int_t) -> None: ...
    def assign(self) -> bimap_long_unsigned_int_t: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    @overload
    def direct(self, k: int, out_v: int) -> bool: ...
    @overload
    def direct(self, k: int) -> int: ...
    @overload
    def empty(self) -> bool: ...
    @overload
    def empty() -> bool: ...
    def erase_by_key(self, k: int) -> None: ...
    def erase_by_value(self, v: int) -> None: ...
    def hasKey(self, k: int) -> bool: ...
    def hasValue(self, v: int) -> bool: ...
    def insert(self, k: int, v: int) -> None: ...
    @overload
    def inverse(self, v: int, out_k: int) -> bool: ...
    @overload
    def inverse(self, v: int) -> int: ...
    @overload
    def size(self) -> int: ...
    @overload
    def size() -> size_t: ...

class circular_buffer_unsigned_char_t:
    @overload
    def __init__(self, size: int) -> None: ...
    @overload
    def __init__(self, arg0: circular_buffer_unsigned_char_t) -> None: ...
    def assign(self) -> circular_buffer_unsigned_char_t: ...
    @overload
    def available(self) -> int: ...
    @overload
    def available() -> size_t: ...
    @overload
    def capacity(self) -> int: ...
    @overload
    def capacity() -> size_t: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    @overload
    def peek(self) -> int: ...
    @overload
    def peek() -> unsignedchar: ...
    @overload
    def peek(self, index: int) -> int: ...
    @overload
    def peek(size_t) -> unsignedchar: ...
    def peek_many(self, out_array: int, count: int) -> None: ...
    @overload
    def pop(self) -> int: ...
    @overload
    def pop() -> unsignedchar: ...
    @overload
    def pop(self, out_val: int) -> None: ...
    def pop_many(self, out_array: int, count: int) -> None: ...
    @overload
    def push(self, d: int) -> None: ...
    @overload
    def push(unsignedchar) -> void: ...
    def push_many(self, array_elements: int, count: int) -> None: ...
    def push_ref(self, d: int) -> None: ...
    @overload
    def size(self) -> int: ...
    @overload
    def size() -> size_t: ...

class map_traits_map_as_vector:
    def __init__(self) -> None: ...

class map_traits_stdmap:
    def __init__(self) -> None: ...

class yaml:
    class mark_t:
        column: int
        input_pos: int
        line: int
        @overload
        def __init__(self, arg0: yaml.mark_t) -> None: ...
        @overload
        def __init__(self) -> None: ...
        def assign(self) -> yaml.mark_t: ...

    class node_t:
        comments: List[Optional[str][2]]
        d: Any
        marks: Any
        printInShortFormat: bool
        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, str: str) -> None: ...
        @overload
        def __init__(self, arg0: yaml.node_t) -> None: ...
        @overload
        def asMap(self) -> Dict[yaml.node_t,yaml.node_t]: ...
        @overload
        def asMap() -> Any: ...
        def assign(self) -> yaml.node_t: ...
        @overload
        def comment(self) -> str: ...
        @overload
        def comment(self, pos: CommentPosition) -> str: ...
        @overload
        def hasComment(self) -> bool: ...
        @overload
        def hasComment() -> bool: ...
        @overload
        def hasComment(self, pos: CommentPosition) -> bool: ...
        @overload
        def hasComment(enummrpt) -> bool: ...
        @overload
        def isMap(self) -> bool: ...
        @overload
        def isMap() -> bool: ...
        @overload
        def isNullNode(self) -> bool: ...
        @overload
        def isNullNode() -> bool: ...
        @overload
        def isScalar(self) -> bool: ...
        @overload
        def isScalar() -> bool: ...
        @overload
        def isSequence(self) -> bool: ...
        @overload
        def isSequence() -> bool: ...
        @overload
        def size(self) -> int: ...
        @overload
        def size() -> size_t: ...
        def typeName(self) -> str: ...
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, arg0: yaml) -> None: ...
    @overload
    def __init__(self, s) -> None: ...
    def FromFile(self, *args, **kwargs) -> Any: ...
    def FromText(self, *args, **kwargs) -> Any: ...
    def Map(self, *args, **kwargs) -> Any: ...
    def Sequence(self, *args, **kwargs) -> Any: ...
    @overload
    def as(self) -> bool: ...
    @overload
    def as() -> bool: ...
    @overload
    def as(self) -> float: ...
    @overload
    def as() -> double: ...
    @overload
    def as(self) -> float: ...
    @overload
    def as() -> float: ...
    @overload
    def as(self) -> int: ...
    @overload
    def as() -> signedchar: ...
    @overload
    def as(self) -> int: ...
    @overload
    def as() -> unsignedchar: ...
    @overload
    def as(self) -> int: ...
    @overload
    def as() -> short: ...
    @overload
    def as(self) -> int: ...
    @overload
    def as() -> unsignedshort: ...
    @overload
    def as(self) -> int: ...
    @overload
    def as() -> int: ...
    @overload
    def as(self) -> int: ...
    @overload
    def as() -> unsignedint: ...
    @overload
    def as(self) -> int: ...
    @overload
    def as() -> long: ...
    @overload
    def as(self) -> int: ...
    @overload
    def as() -> unsignedlong: ...
    @overload
    def as(self) -> str: ...
    def asMap(self) -> Any: ...
    def asMapRange(self, *args, **kwargs) -> Any: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: bool) -> yaml: ...
    @overload
    def assign(self, v: float) -> yaml: ...
    @overload
    def assign(self, v: float) -> yaml: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: int) -> yaml: ...
    @overload
    def assign(self, v: str) -> yaml: ...
    @overload
    def assign(self, v: str) -> yaml: ...
    @overload
    def assign(self, v: yaml) -> yaml: ...
    @overload
    def clear(self) -> None: ...
    @overload
    def clear() -> void: ...
    @overload
    def comment(self) -> str: ...
    @overload
    def comment(self, pos: CommentPosition) -> str: ...
    @overload
    def comment(self, c: str) -> None: ...
    @overload
    def comment(self, c: str, position: CommentPosition) -> None: ...
    @overload
    def comment(conststd, enummrpt) -> void: ...
    @overload
    def empty(self) -> bool: ...
    @overload
    def empty() -> bool: ...
    @overload
    def getOrDefault(self, key: str, defaultValue: bool) -> bool: ...
    @overload
    def getOrDefault(self, key: str, defaultValue: float) -> float: ...
    @overload
    def getOrDefault(self, key: str, defaultValue: int) -> int: ...
    def has(self, key: str) -> bool: ...
    @overload
    def hasComment(self) -> bool: ...
    @overload
    def hasComment() -> bool: ...
    @overload
    def hasComment(self, pos: CommentPosition) -> bool: ...
    @overload
    def hasComment(enummrpt) -> bool: ...
    @overload
    def isMap(self) -> bool: ...
    @overload
    def isMap() -> bool: ...
    @overload
    def isNullNode(self) -> bool: ...
    @overload
    def isNullNode() -> bool: ...
    @overload
    def isScalar(self) -> bool: ...
    @overload
    def isScalar() -> bool: ...
    @overload
    def isSequence(self) -> bool: ...
    @overload
    def isSequence() -> bool: ...
    @overload
    def keyComment(self, key: str) -> str: ...
    @overload
    def keyComment(self, key: str, pos: CommentPosition) -> str: ...
    @overload
    def keyComment(self, key: str, c: str) -> None: ...
    @overload
    def keyComment(self, key: str, c: str, position: CommentPosition) -> None: ...
    @overload
    def keyHasComment(self, key: str) -> bool: ...
    @overload
    def keyHasComment(conststd) -> bool: ...
    @overload
    def keyHasComment(self, key: str, pos: CommentPosition) -> bool: ...
    @overload
    def keyHasComment(conststd, enummrpt) -> bool: ...
    def keyNode(self, *args, **kwargs) -> Any: ...
    @overload
    def loadFromFile(self, fileName: str) -> None: ...
    @overload
    def loadFromFile(conststd) -> void: ...
    @overload
    def loadFromText(self, yamlTextBlock: str) -> None: ...
    @overload
    def loadFromText(conststd) -> void: ...
    def node(self, *args, **kwargs) -> Any: ...
    @overload
    def printAsYAML(self) -> None: ...
    @overload
    def printAsYAML() -> void: ...
    @overload
    def push_back(self, v: float) -> None: ...
    @overload
    def push_back(double) -> void: ...
    @overload
    def push_back(self, v: str) -> None: ...
    @overload
    def push_back(conststd) -> void: ...
    @overload
    def push_back(self, v: int) -> None: ...
    @overload
    def push_back(uint64_t) -> void: ...
    @overload
    def push_back(self, v: bool) -> None: ...
    @overload
    def push_back(bool) -> void: ...
    @overload
    def push_back(self, v: yaml) -> None: ...
    @overload
    def push_back(constclassmrpt) -> void: ...
    @overload
    def size(self) -> int: ...
    @overload
    def size() -> size_t: ...
    def __call__(self, index: int) -> yaml: ...
    @overload
    def __getitem__(self, key: str) -> yaml: ...
    @overload
    def __getitem__(self, key: str) -> yaml: ...
