from typing import Any, ClassVar

class Point2D:
    __instance_size__: ClassVar[int] = ...
    __safe_for_unpickling__: ClassVar[bool] = ...
    x: Any
    y: Any
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def AngleTo(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DirectionVector(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DotProduct(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def Length(cls, RDGeom) -> Any: ...
    @classmethod
    def LengthSq(cls, RDGeom) -> Any: ...
    @classmethod
    def Normalize(cls, RDGeom) -> Any: ...
    @classmethod
    def SignedAngleTo(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def __add__(cls, other) -> Any: ...
    @classmethod
    def __getinitargs__(cls, RDGeom) -> Any: ...
    @classmethod
    def __getitem__(cls, RDGeom, int) -> Any: ...
    @classmethod
    def __iadd__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __idiv__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __imul__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __isub__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __len__(cls, RDGeom) -> Any: ...
    @classmethod
    def __mul__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...
    @classmethod
    def __sub__(cls, other) -> Any: ...
    @classmethod
    def __truediv__(cls, RDGeom, double) -> Any: ...

class Point3D:
    __instance_size__: ClassVar[int] = ...
    __safe_for_unpickling__: ClassVar[bool] = ...
    x: Any
    y: Any
    z: Any
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def AngleTo(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def CrossProduct(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DirectionVector(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def Distance(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DotProduct(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def Length(cls, RDGeom) -> Any: ...
    @classmethod
    def LengthSq(cls, RDGeom) -> Any: ...
    @classmethod
    def Normalize(cls, RDGeom) -> Any: ...
    @classmethod
    def SignedAngleTo(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def __add__(cls, other) -> Any: ...
    @classmethod
    def __getinitargs__(cls, RDGeom) -> Any: ...
    @classmethod
    def __getitem__(cls, RDGeom, int) -> Any: ...
    @classmethod
    def __iadd__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __idiv__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __imul__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __isub__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __len__(cls, RDGeom) -> Any: ...
    @classmethod
    def __mul__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...
    @classmethod
    def __sub__(cls, other) -> Any: ...
    @classmethod
    def __truediv__(cls, RDGeom, double) -> Any: ...

class PointND:
    __instance_size__: ClassVar[int] = ...
    __safe_for_unpickling__: ClassVar[bool] = ...
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def AngleTo(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DirectionVector(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def Distance(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DotProduct(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def Length(cls, RDGeom) -> Any: ...
    @classmethod
    def LengthSq(cls, RDGeom) -> Any: ...
    @classmethod
    def Normalize(cls, RDGeom) -> Any: ...
    @classmethod
    def __add__(cls, other) -> Any: ...
    @classmethod
    def __getinitargs__(cls, RDGeom) -> Any: ...
    @classmethod
    def __getitem__(cls, RDGeom, int) -> Any: ...
    def __getstate__(self) -> Any: ...
    @classmethod
    def __iadd__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __idiv__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __imul__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __isub__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __len__(cls, RDGeom) -> Any: ...
    @classmethod
    def __mul__(cls, RDGeom, double) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...
    @classmethod
    def __setitem__(cls, RDGeom, int, double) -> Any: ...
    @classmethod
    def __setstate__(cls, RDGeom, boost) -> Any: ...
    @classmethod
    def __sub__(cls, other) -> Any: ...
    @classmethod
    def __truediv__(cls, RDGeom, double) -> Any: ...

class UniformGrid3D_:
    __instance_size__: ClassVar[int] = ...
    __safe_for_unpickling__: ClassVar[bool] = ...
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def CompareParams(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def GetGridIndex(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def GetGridIndices(cls, RDGeom, unsignedint) -> Any: ...
    @classmethod
    def GetGridPointIndex(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def GetGridPointLoc(cls, RDGeom, unsignedint) -> Any: ...
    @classmethod
    def GetNumX(cls, RDGeom) -> Any: ...
    @classmethod
    def GetNumY(cls, RDGeom) -> Any: ...
    @classmethod
    def GetNumZ(cls, RDGeom) -> Any: ...
    @classmethod
    def GetOccupancyVect(cls, RDGeom) -> Any: ...
    @classmethod
    def GetOffset(cls, RDGeom) -> Any: ...
    @classmethod
    def GetSize(cls, RDGeom) -> Any: ...
    @classmethod
    def GetSpacing(cls, RDGeom) -> Any: ...
    @classmethod
    def GetVal(cls, RDGeom, unsignedint) -> Any: ...
    @classmethod
    def GetValPoint(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def SetSphereOccupancy(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def SetVal(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def SetValPoint(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def __getinitargs__(cls, RDGeom) -> Any: ...
    @classmethod
    def __iadd__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __iand__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __ior__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __isub__(cls, boost, RDGeom) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...

def ComputeDihedralAngle(*args, **kwargs) -> Any: ...
def ComputeGridCentroid(*args, **kwargs) -> Any: ...
def ComputeSignedDihedralAngle(*args, **kwargs) -> Any: ...
def FindGridTerminalPoints(*args, **kwargs) -> Any: ...
def ProtrudeDistance(*args, **kwargs) -> Any: ...
def TanimotoDistance(*args, **kwargs) -> Any: ...
def TverskyIndex(*args, **kwargs) -> Any: ...
def UniformGrid3D(*args, **kwargs) -> Any: ...
def WriteGridToFile(*args, **kwargs) -> Any: ...
