from _typeshed import Incomplete

def cmp(t1, t2): ...

CMPTOL: float

class Cluster:
    metric: Incomplete
    children: Incomplete
    pos: Incomplete
    index: Incomplete
    name: Incomplete
    _points: Incomplete
    _pointsPositions: Incomplete
    data: Incomplete
    def __init__(
        self,
        metric: float = ...,
        children: Incomplete | None = ...,
        position: Incomplete | None = ...,
        index: int = ...,
        name: Incomplete | None = ...,
        data: Incomplete | None = ...,
    ) -> None: ...
    def SetMetric(self, metric) -> None: ...
    def GetMetric(self): ...
    def SetIndex(self, index) -> None: ...
    def GetIndex(self): ...
    def SetPosition(self, pos) -> None: ...
    def GetPosition(self): ...
    def GetPointsPositions(self): ...
    def GetPoints(self): ...
    def FindSubtree(self, index): ...
    def _GenPoints(self): ...
    def AddChild(self, child) -> None: ...
    def AddChildren(self, children) -> None: ...
    def RemoveChild(self, child) -> None: ...
    def GetChildren(self): ...
    def SetData(self, data) -> None: ...
    def GetData(self): ...
    def SetName(self, name) -> None: ...
    def GetName(self): ...
    def Print(
        self, level: int = ..., showData: int = ..., offset: str = ...
    ) -> None: ...
    def Compare(self, other, ignoreExtras: int = ...): ...
    _len: Incomplete
    def _UpdateLength(self) -> None: ...
    def IsTerminal(self): ...
    def __len__(self) -> int: ...
    def __cmp__(self, other): ...
