from typing import overload, Any, Callable, TypeVar, Union
from typing import Tuple, List, Sequence, MutableSequence

Callback = Union[Callable[..., None], None]
Buffer = TypeVar('Buffer')
Pointer = TypeVar('Pointer')
Template = TypeVar('Template')

import vtkmodules.vtkCommonCore
import vtkmodules.vtkFiltersStatistics

class vtkPAutoCorrelativeStatistics(vtkmodules.vtkFiltersStatistics.vtkAutoCorrelativeStatistics):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def Learn(self, inData:'vtkTable', inParameters:'vtkTable', outMeta:'vtkMultiBlockDataSet') -> None: ...
    def NewInstance(self) -> 'vtkPAutoCorrelativeStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPAutoCorrelativeStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...
    def Test(self, __a:'vtkTable', __b:'vtkMultiBlockDataSet', __c:'vtkTable') -> None: ...

class vtkPBivariateLinearTableThreshold(vtkmodules.vtkFiltersStatistics.vtkBivariateLinearTableThreshold):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkPBivariateLinearTableThreshold': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPBivariateLinearTableThreshold': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPComputeQuantiles(vtkmodules.vtkFiltersStatistics.vtkComputeQuantiles):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkPComputeQuantiles': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPComputeQuantiles': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPComputeQuartiles(vtkmodules.vtkFiltersStatistics.vtkComputeQuartiles):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkPComputeQuartiles': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPComputeQuartiles': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPContingencyStatistics(vtkmodules.vtkFiltersStatistics.vtkContingencyStatistics):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def Learn(self, __a:'vtkTable', __b:'vtkTable', __c:'vtkMultiBlockDataSet') -> None: ...
    def NewInstance(self) -> 'vtkPContingencyStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPContingencyStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPCorrelativeStatistics(vtkmodules.vtkFiltersStatistics.vtkCorrelativeStatistics):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def Learn(self, inData:'vtkTable', inParameters:'vtkTable', outMeta:'vtkMultiBlockDataSet') -> None: ...
    def NewInstance(self) -> 'vtkPCorrelativeStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPCorrelativeStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...
    def Test(self, __a:'vtkTable', __b:'vtkMultiBlockDataSet', __c:'vtkTable') -> None: ...

class vtkPDescriptiveStatistics(vtkmodules.vtkFiltersStatistics.vtkDescriptiveStatistics):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def Learn(self, inData:'vtkTable', inParameters:'vtkTable', outMeta:'vtkMultiBlockDataSet') -> None: ...
    def NewInstance(self) -> 'vtkPDescriptiveStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPDescriptiveStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPKMeansStatistics(vtkmodules.vtkFiltersStatistics.vtkKMeansStatistics):
    def CreateInitialClusterCenters(self, numToAllocate:int, numberOfClusters:'vtkIdTypeArray', inData:'vtkTable', curClusterElements:'vtkTable', newClusterElements:'vtkTable') -> None: ...
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def GetTotalNumberOfObservations(self, numObservations:int) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkPKMeansStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPKMeansStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...
    def UpdateClusterCenters(self, newClusterElements:'vtkTable', curClusterElements:'vtkTable', numMembershipChanges:'vtkIdTypeArray', numElementsInCluster:'vtkIdTypeArray', error:'vtkDoubleArray', startRunID:'vtkIdTypeArray', endRunID:'vtkIdTypeArray', computeRun:'vtkIntArray') -> None: ...

class vtkPMultiCorrelativeStatistics(vtkmodules.vtkFiltersStatistics.vtkMultiCorrelativeStatistics):
    @staticmethod
    def GatherStatistics(curController:'vtkMultiProcessController', sparseCov:'vtkTable') -> None: ...
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkPMultiCorrelativeStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPMultiCorrelativeStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPOrderStatistics(vtkmodules.vtkFiltersStatistics.vtkOrderStatistics):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def Learn(self, __a:'vtkTable', __b:'vtkTable', __c:'vtkMultiBlockDataSet') -> None: ...
    def NewInstance(self) -> 'vtkPOrderStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPOrderStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPPCAStatistics(vtkmodules.vtkFiltersStatistics.vtkPCAStatistics):
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkPPCAStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPPCAStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

