"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from .outposterror import OutpostError
from typing import Any, TYPE_CHECKING

from outpost_sdk.utils.dynamic_imports import lazy_getattr, lazy_dir

if TYPE_CHECKING:
    from .apierror import APIError
    from .apierrorresponse import APIErrorResponse, APIErrorResponseData, Data
    from .badrequest_error import BadRequestError, BadRequestErrorData
    from .internalservererror import InternalServerError, InternalServerErrorData
    from .listtenantsop import NotImplementedErrorT, NotImplementedErrorTData
    from .no_response_error import NoResponseError
    from .notfound_error import NotFoundError, NotFoundErrorData
    from .ratelimited_error import RateLimitedError, RateLimitedErrorData
    from .responsevalidationerror import ResponseValidationError
    from .timeout_error import TimeoutErrorT, TimeoutErrorTData
    from .unauthorized_error import UnauthorizedError, UnauthorizedErrorData

__all__ = [
    "APIError",
    "APIErrorResponse",
    "APIErrorResponseData",
    "BadRequestError",
    "BadRequestErrorData",
    "Data",
    "InternalServerError",
    "InternalServerErrorData",
    "NoResponseError",
    "NotFoundError",
    "NotFoundErrorData",
    "NotImplementedErrorT",
    "NotImplementedErrorTData",
    "OutpostError",
    "RateLimitedError",
    "RateLimitedErrorData",
    "ResponseValidationError",
    "TimeoutErrorT",
    "TimeoutErrorTData",
    "UnauthorizedError",
    "UnauthorizedErrorData",
]

_dynamic_imports: dict[str, str] = {
    "APIError": ".apierror",
    "APIErrorResponse": ".apierrorresponse",
    "APIErrorResponseData": ".apierrorresponse",
    "Data": ".apierrorresponse",
    "BadRequestError": ".badrequest_error",
    "BadRequestErrorData": ".badrequest_error",
    "InternalServerError": ".internalservererror",
    "InternalServerErrorData": ".internalservererror",
    "NotImplementedErrorT": ".listtenantsop",
    "NotImplementedErrorTData": ".listtenantsop",
    "NoResponseError": ".no_response_error",
    "NotFoundError": ".notfound_error",
    "NotFoundErrorData": ".notfound_error",
    "RateLimitedError": ".ratelimited_error",
    "RateLimitedErrorData": ".ratelimited_error",
    "ResponseValidationError": ".responsevalidationerror",
    "TimeoutErrorT": ".timeout_error",
    "TimeoutErrorTData": ".timeout_error",
    "UnauthorizedError": ".unauthorized_error",
    "UnauthorizedErrorData": ".unauthorized_error",
}


def __getattr__(attr_name: str) -> Any:
    return lazy_getattr(
        attr_name, package=__package__, dynamic_imports=_dynamic_imports
    )


def __dir__():
    return lazy_dir(dynamic_imports=_dynamic_imports)
