# This file was auto-generated by Fern from our API Definition.

# isort: skip_file

import typing
from importlib import import_module

if typing.TYPE_CHECKING:
    from .speak_v1clear import SpeakV1Clear
    from .speak_v1clear_type import SpeakV1ClearType
    from .speak_v1cleared import SpeakV1Cleared
    from .speak_v1cleared_type import SpeakV1ClearedType
    from .speak_v1close import SpeakV1Close
    from .speak_v1close_type import SpeakV1CloseType
    from .speak_v1flush import SpeakV1Flush
    from .speak_v1flush_type import SpeakV1FlushType
    from .speak_v1flushed import SpeakV1Flushed
    from .speak_v1flushed_type import SpeakV1FlushedType
    from .speak_v1metadata import SpeakV1Metadata
    from .speak_v1text import SpeakV1Text
    from .speak_v1warning import SpeakV1Warning
_dynamic_imports: typing.Dict[str, str] = {
    "SpeakV1Clear": ".speak_v1clear",
    "SpeakV1ClearType": ".speak_v1clear_type",
    "SpeakV1Cleared": ".speak_v1cleared",
    "SpeakV1ClearedType": ".speak_v1cleared_type",
    "SpeakV1Close": ".speak_v1close",
    "SpeakV1CloseType": ".speak_v1close_type",
    "SpeakV1Flush": ".speak_v1flush",
    "SpeakV1FlushType": ".speak_v1flush_type",
    "SpeakV1Flushed": ".speak_v1flushed",
    "SpeakV1FlushedType": ".speak_v1flushed_type",
    "SpeakV1Metadata": ".speak_v1metadata",
    "SpeakV1Text": ".speak_v1text",
    "SpeakV1Warning": ".speak_v1warning",
}


def __getattr__(attr_name: str) -> typing.Any:
    module_name = _dynamic_imports.get(attr_name)
    if module_name is None:
        raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
    try:
        module = import_module(module_name, __package__)
        if module_name == f".{attr_name}":
            return module
        else:
            return getattr(module, attr_name)
    except ImportError as e:
        raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
    except AttributeError as e:
        raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e


def __dir__():
    lazy_attrs = list(_dynamic_imports.keys())
    return sorted(lazy_attrs)


__all__ = [
    "SpeakV1Clear",
    "SpeakV1ClearType",
    "SpeakV1Cleared",
    "SpeakV1ClearedType",
    "SpeakV1Close",
    "SpeakV1CloseType",
    "SpeakV1Flush",
    "SpeakV1FlushType",
    "SpeakV1Flushed",
    "SpeakV1FlushedType",
    "SpeakV1Metadata",
    "SpeakV1Text",
    "SpeakV1Warning",
]
