from typing import Any

from typing import overload
import mrpt.pymrpt.mrpt

class CLASS_ID_impl_mrpt_maps_CBeaconMap_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CColouredOctoMap_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CColouredPointsMap_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CGasConcentrationGridMap2D_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CHeightGridMap2D_MRF_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CHeightGridMap2D_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CLandmarksMap_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_COccupancyGridMap2D_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_COccupancyGridMap3D_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_COctoMap_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CPointsMapXYZI_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CReflectivityGridMap2D_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CSimplePointsMap_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CVoxelMapRGB_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CVoxelMap_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CWeightedPointsMap_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_maps_CWirelessPowerGridMap2D_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_obs_CObservation_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_obs_CSensoryFrame_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CLASS_ID_impl_mrpt_rtti_CObject_t:
    def __init__(self) -> None: ...
    def get(self, *args, **kwargs) -> Any: ...

class CListOfClasses(mrpt.pymrpt.mrpt.Stringifyable):
    data: Set[TRuntimeClassId]
    @overload
    def __init__(self, arg0: CListOfClasses) -> None: ...
    @overload
    def __init__(self, arg0: CListOfClasses) -> None: ...
    @overload
    def __init__(self) -> None: ...
    def asString(self) -> str: ...
    def assign(self) -> CListOfClasses: ...
    @overload
    def contains(self, id: TRuntimeClassId) -> bool: ...
    @overload
    def contains(conststructmrpt) -> bool: ...
    @overload
    def containsDerivedFrom(self, id: TRuntimeClassId) -> bool: ...
    @overload
    def containsDerivedFrom(conststructmrpt) -> bool: ...
    @overload
    def fromString(self, s: str) -> None: ...
    @overload
    def fromString(conststd) -> void: ...
    @overload
    def insert(self, id: TRuntimeClassId) -> None: ...
    @overload
    def insert(conststructmrpt) -> void: ...

class CObject:
    @overload
    def __init__(self, arg0: CObject) -> None: ...
    @overload
    def __init__(self) -> None: ...
    def GetRuntimeClass(self) -> TRuntimeClassId: ...
    def GetRuntimeClassIdStatic(self, *args, **kwargs) -> Any: ...
    def assign(self) -> CObject: ...
    def clone(self) -> CObject: ...
    def duplicateGetSmartPtr(self) -> CObject: ...

class TRuntimeClassId:
    def __init__(self) -> None: ...
    def createObject(self, *args, **kwargs) -> Any: ...
    @overload
    def derivedFrom(self, pBaseClass: TRuntimeClassId) -> bool: ...
    @overload
    def derivedFrom(conststructmrpt) -> bool: ...
    @overload
    def derivedFrom(self, pBaseClass_name: str) -> bool: ...

def classFactory(className: str) -> CObject: ...
@overload
def findRegisteredClass(className: str) -> TRuntimeClassId: ...
@overload
def findRegisteredClass(className: str, allow_ignore_namespace: bool) -> TRuntimeClassId: ...
@overload
def registerAllPendingClasses() -> None: ...
@overload
def registerAllPendingClasses() -> void: ...
def registerClass(*args, **kwargs) -> Any: ...
def registerClassCustomName(customName: str, pNewClass: TRuntimeClassId) -> None: ...
