# 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 .info_webhooks_response import InfoWebhooksResponse
    from .info_webhooks_response_annotation_created import InfoWebhooksResponseAnnotationCreated
    from .info_webhooks_response_annotation_updated import InfoWebhooksResponseAnnotationUpdated
    from .info_webhooks_response_annotations_created import InfoWebhooksResponseAnnotationsCreated
    from .info_webhooks_response_annotations_deleted import InfoWebhooksResponseAnnotationsDeleted
    from .info_webhooks_response_label_link_created import InfoWebhooksResponseLabelLinkCreated
    from .info_webhooks_response_label_link_deleted import InfoWebhooksResponseLabelLinkDeleted
    from .info_webhooks_response_label_link_updated import InfoWebhooksResponseLabelLinkUpdated
    from .info_webhooks_response_project_created import InfoWebhooksResponseProjectCreated
    from .info_webhooks_response_project_deleted import InfoWebhooksResponseProjectDeleted
    from .info_webhooks_response_project_updated import InfoWebhooksResponseProjectUpdated
    from .info_webhooks_response_review_created import InfoWebhooksResponseReviewCreated
    from .info_webhooks_response_review_updated import InfoWebhooksResponseReviewUpdated
    from .info_webhooks_response_reviews_deleted import InfoWebhooksResponseReviewsDeleted
    from .info_webhooks_response_tasks_created import InfoWebhooksResponseTasksCreated
    from .info_webhooks_response_tasks_deleted import InfoWebhooksResponseTasksDeleted
_dynamic_imports: typing.Dict[str, str] = {
    "InfoWebhooksResponse": ".info_webhooks_response",
    "InfoWebhooksResponseAnnotationCreated": ".info_webhooks_response_annotation_created",
    "InfoWebhooksResponseAnnotationUpdated": ".info_webhooks_response_annotation_updated",
    "InfoWebhooksResponseAnnotationsCreated": ".info_webhooks_response_annotations_created",
    "InfoWebhooksResponseAnnotationsDeleted": ".info_webhooks_response_annotations_deleted",
    "InfoWebhooksResponseLabelLinkCreated": ".info_webhooks_response_label_link_created",
    "InfoWebhooksResponseLabelLinkDeleted": ".info_webhooks_response_label_link_deleted",
    "InfoWebhooksResponseLabelLinkUpdated": ".info_webhooks_response_label_link_updated",
    "InfoWebhooksResponseProjectCreated": ".info_webhooks_response_project_created",
    "InfoWebhooksResponseProjectDeleted": ".info_webhooks_response_project_deleted",
    "InfoWebhooksResponseProjectUpdated": ".info_webhooks_response_project_updated",
    "InfoWebhooksResponseReviewCreated": ".info_webhooks_response_review_created",
    "InfoWebhooksResponseReviewUpdated": ".info_webhooks_response_review_updated",
    "InfoWebhooksResponseReviewsDeleted": ".info_webhooks_response_reviews_deleted",
    "InfoWebhooksResponseTasksCreated": ".info_webhooks_response_tasks_created",
    "InfoWebhooksResponseTasksDeleted": ".info_webhooks_response_tasks_deleted",
}


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",
]
