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.vtkRenderingFreeType

class vtkMatplotlibMathTextUtilities(vtkmodules.vtkRenderingFreeType.vtkMathTextUtilities):
    def GetBoundingBox(self, tprop:'vtkTextProperty', str:str, dpi:int, bbox:MutableSequence[int]) -> bool: ...
    def GetNumberOfGenerationsFromBase(self, type:str) -> int: ...
    @staticmethod
    def GetNumberOfGenerationsFromBaseType(type:str) -> int: ...
    def GetScaleToPowerOfTwo(self) -> bool: ...
    def IsA(self, type:str) -> int: ...
    def IsAvailable(self) -> bool: ...
    @staticmethod
    def IsTypeOf(type:str) -> int: ...
    def NewInstance(self) -> 'vtkMatplotlibMathTextUtilities': ...
    def RenderString(self, str:str, image:'vtkImageData', tprop:'vtkTextProperty', dpi:int, textDims:MutableSequence[int]=...) -> bool: ...
    @staticmethod
    def SafeDownCast(o:'vtkObjectBase') -> 'vtkMatplotlibMathTextUtilities': ...
    def SetScaleToPowerOfTwo(self, val:bool) -> None: ...
    def StringToPath(self, str:str, path:'vtkPath', tprop:'vtkTextProperty', dpi:int) -> bool: ...

