# 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 .assistant_create_access_mode import AssistantCreateAccessMode
    from .assistant_create_output_mode import AssistantCreateOutputMode
    from .assistant_create_response_format import AssistantCreateResponseFormat
    from .assistant_create_safety_level import AssistantCreateSafetyLevel
    from .assistant_create_service_tier import AssistantCreateServiceTier
    from .assistant_update_access_mode import AssistantUpdateAccessMode
    from .assistant_update_output_mode import AssistantUpdateOutputMode
    from .assistant_update_response_format import AssistantUpdateResponseFormat
    from .assistant_update_safety_level import AssistantUpdateSafetyLevel
    from .assistant_update_service_tier import AssistantUpdateServiceTier
    from .list_assistants_v1assistants_get_request_fields import ListAssistantsV1AssistantsGetRequestFields
    from .list_assistants_v1assistants_get_request_sort_by import ListAssistantsV1AssistantsGetRequestSortBy
    from .list_assistants_v1assistants_get_request_sort_order import ListAssistantsV1AssistantsGetRequestSortOrder
_dynamic_imports: typing.Dict[str, str] = {
    "AssistantCreateAccessMode": ".assistant_create_access_mode",
    "AssistantCreateOutputMode": ".assistant_create_output_mode",
    "AssistantCreateResponseFormat": ".assistant_create_response_format",
    "AssistantCreateSafetyLevel": ".assistant_create_safety_level",
    "AssistantCreateServiceTier": ".assistant_create_service_tier",
    "AssistantUpdateAccessMode": ".assistant_update_access_mode",
    "AssistantUpdateOutputMode": ".assistant_update_output_mode",
    "AssistantUpdateResponseFormat": ".assistant_update_response_format",
    "AssistantUpdateSafetyLevel": ".assistant_update_safety_level",
    "AssistantUpdateServiceTier": ".assistant_update_service_tier",
    "ListAssistantsV1AssistantsGetRequestFields": ".list_assistants_v1assistants_get_request_fields",
    "ListAssistantsV1AssistantsGetRequestSortBy": ".list_assistants_v1assistants_get_request_sort_by",
    "ListAssistantsV1AssistantsGetRequestSortOrder": ".list_assistants_v1assistants_get_request_sort_order",
}


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__ = [
    "AssistantCreateAccessMode",
    "AssistantCreateOutputMode",
    "AssistantCreateResponseFormat",
    "AssistantCreateSafetyLevel",
    "AssistantCreateServiceTier",
    "AssistantUpdateAccessMode",
    "AssistantUpdateOutputMode",
    "AssistantUpdateResponseFormat",
    "AssistantUpdateSafetyLevel",
    "AssistantUpdateServiceTier",
    "ListAssistantsV1AssistantsGetRequestFields",
    "ListAssistantsV1AssistantsGetRequestSortBy",
    "ListAssistantsV1AssistantsGetRequestSortOrder",
]
