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 vtkGenericMovieWriter(vtkmodules.vtkCommonExecutionModel.vtkImageAlgorithm):
    class MovieWriterErrorIds(int): ...
    CanNotCompress:'MovieWriterErrorIds'
    CanNotFormat:'MovieWriterErrorIds'
    ChangedResolutionError:'MovieWriterErrorIds'
    InitError:'MovieWriterErrorIds'
    NoInputError:'MovieWriterErrorIds'
    UserError:'MovieWriterErrorIds'
    def End(self) -> None: ...
    def GetError(self) -> int: ...
    def GetFileName(self) -> str: ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    @staticmethod
    def GetStringFromErrorCode(error:int) -> str: ...
    def IsA(self, type:str) -> int: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkGenericMovieWriter': ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkGenericMovieWriter': ...
    def SetFileName(self, _arg:str) -> None: ...
    def Start(self) -> None: ...
    def Write(self) -> None: ...

