# 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 .edit_create_async_request_config import EditCreateAsyncRequestConfig
    from .edit_create_async_request_config_advanced_options import EditCreateAsyncRequestConfigAdvancedOptions
    from .edit_create_async_request_file import EditCreateAsyncRequestFile
    from .edit_create_request_config import EditCreateRequestConfig
    from .edit_create_request_config_advanced_options import EditCreateRequestConfigAdvancedOptions
    from .edit_create_request_file import EditCreateRequestFile
    from .edit_delete_response import EditDeleteResponse
    from .edit_get_response import EditGetResponse
    from .edit_get_response_edit_run import (
        EditGetResponseEditRun,
        EditGetResponseEditRun_EditRun,
        EditGetResponseEditRun_EditRunStatus,
    )
_dynamic_imports: typing.Dict[str, str] = {
    "EditCreateAsyncRequestConfig": ".edit_create_async_request_config",
    "EditCreateAsyncRequestConfigAdvancedOptions": ".edit_create_async_request_config_advanced_options",
    "EditCreateAsyncRequestFile": ".edit_create_async_request_file",
    "EditCreateRequestConfig": ".edit_create_request_config",
    "EditCreateRequestConfigAdvancedOptions": ".edit_create_request_config_advanced_options",
    "EditCreateRequestFile": ".edit_create_request_file",
    "EditDeleteResponse": ".edit_delete_response",
    "EditGetResponse": ".edit_get_response",
    "EditGetResponseEditRun": ".edit_get_response_edit_run",
    "EditGetResponseEditRun_EditRun": ".edit_get_response_edit_run",
    "EditGetResponseEditRun_EditRunStatus": ".edit_get_response_edit_run",
}


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__ = [
    "EditCreateAsyncRequestConfig",
    "EditCreateAsyncRequestConfigAdvancedOptions",
    "EditCreateAsyncRequestFile",
    "EditCreateRequestConfig",
    "EditCreateRequestConfigAdvancedOptions",
    "EditCreateRequestFile",
    "EditDeleteResponse",
    "EditGetResponse",
    "EditGetResponseEditRun",
    "EditGetResponseEditRun_EditRun",
    "EditGetResponseEditRun_EditRunStatus",
]
