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 vtkCityGMLReader(vtkmodules.vtkCommonExecutionModel.vtkMultiBlockDataSetAlgorithm):
    begin_building_index:'getset_descriptor'
    end_building_index:'getset_descriptor'
    file_name:'getset_descriptor'
    lod:'getset_descriptor'
    m_time:'getset_descriptor'
    number_of_buildings:'getset_descriptor'
    stream:'getset_descriptor'
    use_transparency_as_opacity:'getset_descriptor'
    def __init__(self, **properties:Any) -> None: ...
    def GetBeginBuildingIndex(self) -> int: ...
    def GetEndBuildingIndex(self) -> int: ...
    def GetFileName(self) -> str: ...
    def GetLOD(self) -> int: ...
    def GetLODMaxValue(self) -> int: ...
    def GetLODMinValue(self) -> int: ...
    def GetMTime(self) -> int: ...
    def GetNumberOfBuildings(self) -> int: ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def GetStream(self) -> 'vtkResourceStream': ...
    def GetUseTransparencyAsOpacity(self) -> int: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkCityGMLReader': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkCityGMLReader': ...
    def SetBeginBuildingIndex(self, _arg:int) -> None: ...
    def SetEndBuildingIndex(self, _arg:int) -> None: ...
    @overload
    @staticmethod
    def SetField(obj:'vtkDataObject', name:str, value:str) -> None: ...
    @overload
    @staticmethod
    def SetField(obj:'vtkDataObject', name:str, value:MutableSequence[float], numberOfComponents:int) -> None: ...
    def SetFileName(self, _arg:str) -> None: ...
    def SetLOD(self, _arg:int) -> None: ...
    def SetNumberOfBuildings(self, _arg:int) -> None: ...
    def SetStream(self, stream:'vtkResourceStream') -> None: ...
    def SetUseTransparencyAsOpacity(self, _arg:int) -> None: ...
    def UseTransparencyAsOpacityOff(self) -> None: ...
    def UseTransparencyAsOpacityOn(self) -> None: ...

