from typing import Any, Callable from . import ImageFont, _imaging class Font: @property def family(self) -> str | None: ... @property def style(self) -> str | None: ... @property def ascent(self) -> int: ... @property def descent(self) -> int: ... @property def height(self) -> int: ... @property def x_ppem(self) -> int: ... @property def y_ppem(self) -> int: ... @property def glyphs(self) -> int: ... def render( self, string: str | bytes, fill: Callable[[int, int], _imaging.ImagingCore], mode: str, dir: str | None, features: list[str] | None, lang: str | None, stroke_width: float, anchor: str | None, foreground_ink_long: int, x_start: float, y_start: float, /, ) -> tuple[_imaging.ImagingCore, tuple[int, int]]: ... def getsize( self, string: str | bytes | bytearray, mode: str, dir: str | None, features: list[str] | None, lang: str | None, anchor: str | None, /, ) -> tuple[tuple[int, int], tuple[int, int]]: ... def getlength( self, string: str | bytes, mode: str, dir: str | None, features: list[str] | None, lang: str | None, /, ) -> float: ... def getvarnames(self) -> list[bytes]: ... def getvaraxes(self) -> list[ImageFont.Axis]: ... def setvarname(self, instance_index: int, /) -> None: ... def setvaraxes(self, axes: list[float], /) -> None: ... def getfont( filename: str | bytes, size: float, index: int, encoding: str, font_bytes: bytes, layout_engine: int, ) -> Font: ... def __getattr__(name: str) -> Any: ...