# 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 .get_basic_entry_by_id_response import GetBasicEntryByIdResponse
    from .get_basic_entry_response import GetBasicEntryResponse
    from .get_entry_config_response import GetEntryConfigResponse
    from .migrate_paypoint_response import MigratePaypointResponse
    from .notification_request import NotificationRequest
    from .paypoint_move_request import PaypointMoveRequest
    from .web_header_parameter import WebHeaderParameter
_dynamic_imports: typing.Dict[str, str] = {
    "GetBasicEntryByIdResponse": ".get_basic_entry_by_id_response",
    "GetBasicEntryResponse": ".get_basic_entry_response",
    "GetEntryConfigResponse": ".get_entry_config_response",
    "MigratePaypointResponse": ".migrate_paypoint_response",
    "NotificationRequest": ".notification_request",
    "PaypointMoveRequest": ".paypoint_move_request",
    "WebHeaderParameter": ".web_header_parameter",
}


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__)
        result = getattr(module, attr_name)
        return result
    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__ = [
    "GetBasicEntryByIdResponse",
    "GetBasicEntryResponse",
    "GetEntryConfigResponse",
    "MigratePaypointResponse",
    "NotificationRequest",
    "PaypointMoveRequest",
    "WebHeaderParameter",
]
