# 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 .types import (
        CountApiKeysParams,
        CountApiKeysResponse,
        CountApiRequestsParams,
        CountApiRequestsResponse,
        CreateApiKeyResponse,
        CreateEnvironmentRequestBodyEnvironmentType,
        CreateEnvironmentResponse,
        DeleteApiKeyResponse,
        DeleteEnvironmentResponse,
        GetApiKeyResponse,
        GetApiRequestResponse,
        GetEnvironmentResponse,
        ListApiKeysParams,
        ListApiKeysResponse,
        ListApiRequestsParams,
        ListApiRequestsResponse,
        ListEnvironmentsParams,
        ListEnvironmentsResponse,
        QuickstartResponse,
        UpdateApiKeyResponse,
        UpdateEnvironmentRequestBodyEnvironmentType,
        UpdateEnvironmentResponse,
    )
_dynamic_imports: typing.Dict[str, str] = {
    "CountApiKeysParams": ".types",
    "CountApiKeysResponse": ".types",
    "CountApiRequestsParams": ".types",
    "CountApiRequestsResponse": ".types",
    "CreateApiKeyResponse": ".types",
    "CreateEnvironmentRequestBodyEnvironmentType": ".types",
    "CreateEnvironmentResponse": ".types",
    "DeleteApiKeyResponse": ".types",
    "DeleteEnvironmentResponse": ".types",
    "GetApiKeyResponse": ".types",
    "GetApiRequestResponse": ".types",
    "GetEnvironmentResponse": ".types",
    "ListApiKeysParams": ".types",
    "ListApiKeysResponse": ".types",
    "ListApiRequestsParams": ".types",
    "ListApiRequestsResponse": ".types",
    "ListEnvironmentsParams": ".types",
    "ListEnvironmentsResponse": ".types",
    "QuickstartResponse": ".types",
    "UpdateApiKeyResponse": ".types",
    "UpdateEnvironmentRequestBodyEnvironmentType": ".types",
    "UpdateEnvironmentResponse": ".types",
}


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__ = [
    "CountApiKeysParams",
    "CountApiKeysResponse",
    "CountApiRequestsParams",
    "CountApiRequestsResponse",
    "CreateApiKeyResponse",
    "CreateEnvironmentRequestBodyEnvironmentType",
    "CreateEnvironmentResponse",
    "DeleteApiKeyResponse",
    "DeleteEnvironmentResponse",
    "GetApiKeyResponse",
    "GetApiRequestResponse",
    "GetEnvironmentResponse",
    "ListApiKeysParams",
    "ListApiKeysResponse",
    "ListApiRequestsParams",
    "ListApiRequestsResponse",
    "ListEnvironmentsParams",
    "ListEnvironmentsResponse",
    "QuickstartResponse",
    "UpdateApiKeyResponse",
    "UpdateEnvironmentRequestBodyEnvironmentType",
    "UpdateEnvironmentResponse",
]
