# 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 (
        InfoWebhooksResponse,
        InfoWebhooksResponseAnnotationCreated,
        InfoWebhooksResponseAnnotationUpdated,
        InfoWebhooksResponseAnnotationsCreated,
        InfoWebhooksResponseAnnotationsDeleted,
        InfoWebhooksResponseLabelLinkCreated,
        InfoWebhooksResponseLabelLinkDeleted,
        InfoWebhooksResponseLabelLinkUpdated,
        InfoWebhooksResponseProjectCreated,
        InfoWebhooksResponseProjectDeleted,
        InfoWebhooksResponseProjectUpdated,
        InfoWebhooksResponseReviewCreated,
        InfoWebhooksResponseReviewUpdated,
        InfoWebhooksResponseReviewsDeleted,
        InfoWebhooksResponseTasksCreated,
        InfoWebhooksResponseTasksDeleted,
    )
_dynamic_imports: typing.Dict[str, str] = {
    "InfoWebhooksResponse": ".types",
    "InfoWebhooksResponseAnnotationCreated": ".types",
    "InfoWebhooksResponseAnnotationUpdated": ".types",
    "InfoWebhooksResponseAnnotationsCreated": ".types",
    "InfoWebhooksResponseAnnotationsDeleted": ".types",
    "InfoWebhooksResponseLabelLinkCreated": ".types",
    "InfoWebhooksResponseLabelLinkDeleted": ".types",
    "InfoWebhooksResponseLabelLinkUpdated": ".types",
    "InfoWebhooksResponseProjectCreated": ".types",
    "InfoWebhooksResponseProjectDeleted": ".types",
    "InfoWebhooksResponseProjectUpdated": ".types",
    "InfoWebhooksResponseReviewCreated": ".types",
    "InfoWebhooksResponseReviewUpdated": ".types",
    "InfoWebhooksResponseReviewsDeleted": ".types",
    "InfoWebhooksResponseTasksCreated": ".types",
    "InfoWebhooksResponseTasksDeleted": ".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__ = [
    "InfoWebhooksResponse",
    "InfoWebhooksResponseAnnotationCreated",
    "InfoWebhooksResponseAnnotationUpdated",
    "InfoWebhooksResponseAnnotationsCreated",
    "InfoWebhooksResponseAnnotationsDeleted",
    "InfoWebhooksResponseLabelLinkCreated",
    "InfoWebhooksResponseLabelLinkDeleted",
    "InfoWebhooksResponseLabelLinkUpdated",
    "InfoWebhooksResponseProjectCreated",
    "InfoWebhooksResponseProjectDeleted",
    "InfoWebhooksResponseProjectUpdated",
    "InfoWebhooksResponseReviewCreated",
    "InfoWebhooksResponseReviewUpdated",
    "InfoWebhooksResponseReviewsDeleted",
    "InfoWebhooksResponseTasksCreated",
    "InfoWebhooksResponseTasksDeleted",
]
