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

class vtkPIOReader(vtkmodules.vtkCommonExecutionModel.vtkMultiBlockDataSetAlgorithm):
    active_time_data_array_name:'getset_descriptor'
    cell_data_array_selection:'getset_descriptor'
    current_time_step:'getset_descriptor'
    file_name:'getset_descriptor'
    float64:'getset_descriptor'
    hyper_tree_grid:'getset_descriptor'
    number_of_cell_arrays:'getset_descriptor'
    number_of_time_data_arrays:'getset_descriptor'
    output:'getset_descriptor'
    time_data_string_array:'getset_descriptor'
    tracers:'getset_descriptor'
    def __init__(self, **properties:Any) -> None: ...
    def DisableAllCellArrays(self) -> None: ...
    def EnableAllCellArrays(self) -> None: ...
    def GetActiveTimeDataArrayName(self) -> str: ...
    def GetCellArrayName(self, index:int) -> str: ...
    def GetCellArrayStatus(self, name:str) -> int: ...
    def GetCellDataArraySelection(self) -> 'vtkDataArraySelection': ...
    def GetCurrentTimeStep(self) -> int: ...
    def GetFileName(self) -> str: ...
    def GetFloat64(self) -> bool: ...
    def GetHyperTreeGrid(self) -> bool: ...
    def GetNumberOfCellArrays(self) -> int: ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def GetNumberOfTimeDataArrays(self) -> int: ...
    @overload
    def GetOutput(self) -> 'vtkMultiBlockDataSet': ...
    @overload
    def GetOutput(self, index:int) -> 'vtkMultiBlockDataSet': ...
    def GetTimeDataArray(self, idx:int) -> str: ...
    def GetTimeDataStringArray(self) -> 'vtkStringArray': ...
    def GetTracers(self) -> bool: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkPIOReader': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkPIOReader': ...
    def SetActiveTimeDataArrayName(self, _arg:str) -> None: ...
    def SetCellArrayStatus(self, name:str, status:int) -> None: ...
    def SetCurrentTimeStep(self, _arg:int) -> None: ...
    def SetFileName(self, _arg:str) -> None: ...
    def SetFloat64(self, _arg:bool) -> None: ...
    def SetHyperTreeGrid(self, _arg:bool) -> None: ...
    def SetTracers(self, _arg:bool) -> None: ...

