# This file is automatically generated by pyo3_stub_gen
# ruff: noqa: E501, F401, F403, F405

import builtins
import raygeo
import typing
__all__ = [
    "FontConfig",
    "text_to_geometry",
]

@typing.final
class FontConfig:
    @property
    def family(self) -> builtins.str: ...
    @property
    def size(self) -> builtins.float: ...
    @property
    def bold(self) -> builtins.bool: ...
    @property
    def italic(self) -> builtins.bool: ...
    @property
    def font_family(self) -> builtins.str: ...
    @property
    def font_size(self) -> builtins.float: ...
    @property
    def extra(self) -> dict: ...
    def __new__(cls, family: builtins.str = 'sans-serif', size: builtins.float = 10.0, bold: builtins.bool = False, italic: builtins.bool = False) -> FontConfig: ...
    def __repr__(self) -> builtins.str: ...
    def to_dict(self) -> dict: ...
    @staticmethod
    def from_dict(data: typing.Optional[dict]) -> FontConfig: ...
    def copy(self) -> FontConfig: ...
    def __eq__(self, other: typing.Any) -> builtins.bool: ...
    def __hash__(self) -> builtins.int: ...
    def get_text_width(self, text: builtins.str) -> builtins.float: ...
    def get_text_position(self, text: builtins.str, index: builtins.int) -> builtins.float: ...
    def get_font_metrics(self) -> tuple[builtins.float, builtins.float, builtins.float]: ...

def text_to_geometry(text: str, font_config: raygeo.geo.shape.text.FontConfig = ...) -> raygeo.geo.Geometry:
    r"""
    Convert a text string to a Geometry containing the glyph outlines.
    """

