"""
This type stub file was generated by pyright.
"""

from .vtkImageIterateFilter import vtkImageIterateFilter

class vtkImageDecomposeFilter(vtkImageIterateFilter):
    """
    vtkImageDecomposeFilter - Filters that execute axes in series.
    
    Superclass: vtkImageIterateFilter
    
    This superclass molds the vtkImageIterateFilter superclass so it
    iterates over the axes.  The filter uses dimensionality to determine
    how many axes to execute (starting from x). The filter also provides
    convenience methods for permuting information retrieved from input,
    output and vtkImageData.
    """
    def GetDimensionality(self):
        """
        V.GetDimensionality() -> int
        C++: virtual int GetDimensionality()
        
        Dimensionality is the number of axes which are considered during
        execution. To process images dimensionality would be set to 2.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Construct an instance of vtkImageDecomposeFilter filter with
        default dimensionality 3.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Construct an instance of vtkImageDecomposeFilter filter with
        default dimensionality 3.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Construct an instance of vtkImageDecomposeFilter filter with
        default dimensionality 3.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Construct an instance of vtkImageDecomposeFilter filter with
        default dimensionality 3.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkImageDecomposeFilter
        C++: vtkImageDecomposeFilter *NewInstance()
        
        Construct an instance of vtkImageDecomposeFilter filter with
        default dimensionality 3.
        """
        ...
    
    def PermuteExtent(self, *int, **kwargs):
        """
        V.PermuteExtent([int, ...], int, int, int, int, int, int)
        C++: void PermuteExtent(int *extent, int &min0, int &max0,
            int &min1, int &max1, int &min2, int &max2)
        
        Private methods kept public for template execute functions.
        """
        ...
    
    def PermuteIncrements(self, *int, **kwargs):
        """
        V.PermuteIncrements([int, ...], int, int, int)
        C++: void PermuteIncrements(vtkIdType *increments,
            vtkIdType &inc0, vtkIdType &inc1, vtkIdType &inc2)
        
        Private methods kept public for template execute functions.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkImageDecomposeFilter
        C++: static vtkImageDecomposeFilter *SafeDownCast(
            vtkObjectBase *o)
        
        Construct an instance of vtkImageDecomposeFilter filter with
        default dimensionality 3.
        """
        ...
    
    def SetDimensionality(self, p_int):
        """
        V.SetDimensionality(int)
        C++: void SetDimensionality(int dim)
        
        Dimensionality is the number of axes which are considered during
        execution. To process images dimensionality would be set to 2.
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    __dict__ = ...
    __vtkname__ = ...


