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.vtkCommonExecutionModel
import vtkmodules.vtkFiltersStatistics

class vtkGenerateStatistics(vtkmodules.vtkCommonExecutionModel.vtkPartitionedDataSetCollectionAlgorithm):
    attribute_mode:'getset_descriptor'
    controller:'getset_descriptor'
    number_of_attribute_arrays:'getset_descriptor'
    single_model:'getset_descriptor'
    statistics_algorithm:'getset_descriptor'
    training_fraction:'getset_descriptor'
    weight_by_cell_measure:'getset_descriptor'
    def __init__(self, **properties:Any) -> None: ...
    def ClearAttributeArrays(self) -> None: ...
    def EnableAttributeArray(self, arrName:str) -> None: ...
    def GetAttributeArrayName(self, nn:int) -> str: ...
    def GetAttributeArrayStatus(self, arrName:str) -> int: ...
    def GetAttributeMode(self) -> int: ...
    def GetController(self) -> 'vtkMultiProcessController': ...
    def GetNumberOfAttributeArrays(self) -> int: ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def GetSingleModel(self) -> int: ...
    def GetStatisticsAlgorithm(self) -> 'vtkStatisticsAlgorithm': ...
    def GetTrainingFraction(self) -> float: ...
    def GetTrainingFractionMaxValue(self) -> float: ...
    def GetTrainingFractionMinValue(self) -> float: ...
    def GetWeightByCellMeasure(self) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkGenerateStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkGenerateStatistics': ...
    def SetAttributeMode(self, _arg:int) -> None: ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...
    def SetSingleModel(self, _arg:int) -> None: ...
    def SetStatisticsAlgorithm(self, __a:'vtkStatisticsAlgorithm') -> None: ...
    def SetTrainingFraction(self, _arg:float) -> None: ...
    def SetWeightByCellMeasure(self, _arg:int) -> None: ...
    def SingleModelOff(self) -> None: ...
    def SingleModelOn(self) -> None: ...
    def WeightByCellMeasureOff(self) -> None: ...
    def WeightByCellMeasureOn(self) -> None: ...

class vtkPAutoCorrelativeStatistics(vtkmodules.vtkFiltersStatistics.vtkAutoCorrelativeStatistics):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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 Learn(self, inData:'vtkTable', inParameters:'vtkTable', outMeta:'vtkStatisticalModel') -> None: ...
    def NewInstance(self) -> 'vtkPAutoCorrelativeStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPAutoCorrelativeStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...
    def Test(self, __a:'vtkTable', __b:'vtkStatisticalModel', __c:'vtkTable') -> None: ...

class vtkPBivariateLinearTableThreshold(vtkmodules.vtkFiltersStatistics.vtkBivariateLinearTableThreshold):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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) -> 'vtkPBivariateLinearTableThreshold': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPBivariateLinearTableThreshold': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPComputeQuantiles(vtkmodules.vtkFiltersStatistics.vtkComputeQuantiles):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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) -> 'vtkPComputeQuantiles': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPComputeQuantiles': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPComputeQuartiles(vtkmodules.vtkFiltersStatistics.vtkComputeQuartiles):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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) -> 'vtkPComputeQuartiles': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPComputeQuartiles': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPContingencyStatistics(vtkmodules.vtkFiltersStatistics.vtkContingencyStatistics):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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 Learn(self, __a:'vtkTable', __b:'vtkTable', __c:'vtkStatisticalModel') -> None: ...
    def NewInstance(self) -> 'vtkPContingencyStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPContingencyStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPCorrelativeStatistics(vtkmodules.vtkFiltersStatistics.vtkCorrelativeStatistics):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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 Learn(self, inData:'vtkTable', inParameters:'vtkTable', outMeta:'vtkStatisticalModel') -> None: ...
    def NewInstance(self) -> 'vtkPCorrelativeStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPCorrelativeStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...
    def Test(self, __a:'vtkTable', __b:'vtkStatisticalModel', __c:'vtkTable') -> None: ...

class vtkPDescriptiveStatistics(vtkmodules.vtkFiltersStatistics.vtkDescriptiveStatistics):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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 Learn(self, inData:'vtkTable', inParameters:'vtkTable', outMeta:'vtkStatisticalModel') -> None: ...
    def NewInstance(self) -> 'vtkPDescriptiveStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPDescriptiveStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPKMeansStatistics(vtkmodules.vtkFiltersStatistics.vtkKMeansStatistics):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> None: ...
    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):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> None: ...
    @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):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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 Learn(self, __a:'vtkTable', __b:'vtkTable', __c:'vtkStatisticalModel') -> None: ...
    def NewInstance(self) -> 'vtkPOrderStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPOrderStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

class vtkPPCAStatistics(vtkmodules.vtkFiltersStatistics.vtkPCAStatistics):
    controller:'getset_descriptor'
    def __init__(self, **properties:Any) -> 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) -> 'vtkPPCAStatistics': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPPCAStatistics': ...
    def SetController(self, __a:'vtkMultiProcessController') -> None: ...

