# 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 .errors import (
        AccessDeniedError,
        BadRequestError,
        ConflictError,
        InternalServerError,
        MethodNotAllowedError,
        NotFoundError,
        PublicApiError,
        PublicApiErrorCode,
        PublicApiErrorDetails,
        PublicApiValidationIssue,
        TooManyRequestsError,
        UnauthorizedError,
        UnprocessableContentError,
    )
    from . import (
        commons,
        dashboard_widgets,
        dashboards,
        errors,
        evaluation_rules,
        evaluators,
    )
    from .commons import (
        ArrayOptionsEvaluationRuleFilter,
        BooleanEvaluationRuleFilter,
        CategoryOptionsEvaluationRuleFilter,
        CodeEvaluatorSourceCodeLanguage,
        DateTimeEvaluationRuleFilter,
        EvaluationRuleArrayOptionsFilterOperator,
        EvaluationRuleBooleanFilterOperator,
        EvaluationRuleFilter,
        EvaluationRuleFilter_ArrayOptions,
        EvaluationRuleFilter_Boolean,
        EvaluationRuleFilter_CategoryOptions,
        EvaluationRuleFilter_Datetime,
        EvaluationRuleFilter_Null,
        EvaluationRuleFilter_Number,
        EvaluationRuleFilter_NumberObject,
        EvaluationRuleFilter_String,
        EvaluationRuleFilter_StringObject,
        EvaluationRuleFilter_StringOptions,
        EvaluationRuleMapping,
        EvaluationRuleMappingSource,
        EvaluationRuleNullFilterOperator,
        EvaluationRuleNumberFilterOperator,
        EvaluationRuleOptionsFilterOperator,
        EvaluationRuleStatus,
        EvaluationRuleStringFilterOperator,
        EvaluationRuleTarget,
        EvaluatorModelConfig,
        EvaluatorOutputDataType,
        EvaluatorOutputDefinition,
        EvaluatorOutputDefinition_Boolean,
        EvaluatorOutputDefinition_Categorical,
        EvaluatorOutputDefinition_Numeric,
        EvaluatorOutputFieldDefinition,
        EvaluatorScope,
        EvaluatorType,
        NullEvaluationRuleFilter,
        NumberEvaluationRuleFilter,
        NumberObjectEvaluationRuleFilter,
        PublicBooleanEvaluatorOutputDefinition,
        PublicCategoricalEvaluatorOutputDefinition,
        PublicCategoricalEvaluatorOutputScoreDefinition,
        PublicEvaluatorOutputDefinition,
        PublicEvaluatorOutputDefinition_Boolean,
        PublicEvaluatorOutputDefinition_Categorical,
        PublicEvaluatorOutputDefinition_Numeric,
        PublicNumericEvaluatorOutputDefinition,
        StringEvaluationRuleFilter,
        StringObjectEvaluationRuleFilter,
        StringOptionsEvaluationRuleFilter,
    )
    from .dashboard_widgets import (
        CreateDashboardWidgetRequest,
        DashboardWidget,
        DashboardWidgetChartConfig,
        DashboardWidgetChartConfigInput,
        DashboardWidgetChartType,
        DashboardWidgetDefaultSort,
        DashboardWidgetDimension,
        DashboardWidgetFilter,
        DashboardWidgetList,
        DashboardWidgetMetric,
        DashboardWidgetMetricAggregation,
        DashboardWidgetSortOrder,
        DashboardWidgetView,
        DashboardWidgetViewWithLegacy,
        DeleteDashboardWidgetResponse,
        UpdateDashboardWidgetRequest,
    )
    from .dashboards import (
        CreateDashboardPlacementRequest,
        CreateDashboardPlacementRequest_Preset,
        CreateDashboardPlacementRequest_Widget,
        CreateDashboardRequest,
        CreatePresetPlacement,
        CreateWidgetPlacement,
        Dashboard,
        DashboardDefinition,
        DashboardList,
        DashboardPlacement,
        DashboardPlacement_Preset,
        DashboardPlacement_Widget,
        DeleteDashboardPlacementResponse,
        DeleteDashboardResponse,
        PresetPlacement,
        UpdateDashboardPlacementRequest,
        UpdateDashboardRequest,
        WidgetPlacement,
    )
    from .evaluation_rules import (
        CodeEvaluationRuleEvaluatorReference,
        CreateCodeEvaluationRuleRequest,
        CreateEvaluationRuleRequest,
        CreateLlmAsJudgeEvaluationRuleRequest,
        DeleteEvaluationRuleResponse,
        EvaluationRule,
        EvaluationRuleBase,
        EvaluationRuleEvaluator,
        EvaluationRuleEvaluatorReference,
        EvaluationRuleTimeScope,
        EvaluationRules,
        LegacyEvaluationObject,
        LegacyEvaluationRule,
        LegacyEvaluationRuleMapping,
        LegacyEvaluationRuleTarget,
        LlmAsJudgeEvaluationRuleEvaluatorReference,
        LlmAsJudgeEvaluatorType,
        ReadableEvaluationRule,
        UpdateEvaluationRuleRequest,
    )
    from .evaluators import (
        CodeEvaluator,
        CreateCodeEvaluatorRequest,
        CreateEvaluatorRequest,
        CreateEvaluatorRequest_Code,
        CreateEvaluatorRequest_LlmAsJudge,
        CreateLlmAsJudgeEvaluatorRequest,
        DeleteEvaluatorResponse,
        Evaluator,
        EvaluatorBase,
        Evaluator_Code,
        Evaluator_LlmAsJudge,
        Evaluators,
        LlmAsJudgeEvaluator,
    )
_dynamic_imports: typing.Dict[str, str] = {
    "AccessDeniedError": ".errors",
    "ArrayOptionsEvaluationRuleFilter": ".commons",
    "BadRequestError": ".errors",
    "BooleanEvaluationRuleFilter": ".commons",
    "CategoryOptionsEvaluationRuleFilter": ".commons",
    "CodeEvaluationRuleEvaluatorReference": ".evaluation_rules",
    "CodeEvaluator": ".evaluators",
    "CodeEvaluatorSourceCodeLanguage": ".commons",
    "ConflictError": ".errors",
    "CreateCodeEvaluationRuleRequest": ".evaluation_rules",
    "CreateCodeEvaluatorRequest": ".evaluators",
    "CreateDashboardPlacementRequest": ".dashboards",
    "CreateDashboardPlacementRequest_Preset": ".dashboards",
    "CreateDashboardPlacementRequest_Widget": ".dashboards",
    "CreateDashboardRequest": ".dashboards",
    "CreateDashboardWidgetRequest": ".dashboard_widgets",
    "CreateEvaluationRuleRequest": ".evaluation_rules",
    "CreateEvaluatorRequest": ".evaluators",
    "CreateEvaluatorRequest_Code": ".evaluators",
    "CreateEvaluatorRequest_LlmAsJudge": ".evaluators",
    "CreateLlmAsJudgeEvaluationRuleRequest": ".evaluation_rules",
    "CreateLlmAsJudgeEvaluatorRequest": ".evaluators",
    "CreatePresetPlacement": ".dashboards",
    "CreateWidgetPlacement": ".dashboards",
    "Dashboard": ".dashboards",
    "DashboardDefinition": ".dashboards",
    "DashboardList": ".dashboards",
    "DashboardPlacement": ".dashboards",
    "DashboardPlacement_Preset": ".dashboards",
    "DashboardPlacement_Widget": ".dashboards",
    "DashboardWidget": ".dashboard_widgets",
    "DashboardWidgetChartConfig": ".dashboard_widgets",
    "DashboardWidgetChartConfigInput": ".dashboard_widgets",
    "DashboardWidgetChartType": ".dashboard_widgets",
    "DashboardWidgetDefaultSort": ".dashboard_widgets",
    "DashboardWidgetDimension": ".dashboard_widgets",
    "DashboardWidgetFilter": ".dashboard_widgets",
    "DashboardWidgetList": ".dashboard_widgets",
    "DashboardWidgetMetric": ".dashboard_widgets",
    "DashboardWidgetMetricAggregation": ".dashboard_widgets",
    "DashboardWidgetSortOrder": ".dashboard_widgets",
    "DashboardWidgetView": ".dashboard_widgets",
    "DashboardWidgetViewWithLegacy": ".dashboard_widgets",
    "DateTimeEvaluationRuleFilter": ".commons",
    "DeleteDashboardPlacementResponse": ".dashboards",
    "DeleteDashboardResponse": ".dashboards",
    "DeleteDashboardWidgetResponse": ".dashboard_widgets",
    "DeleteEvaluationRuleResponse": ".evaluation_rules",
    "DeleteEvaluatorResponse": ".evaluators",
    "EvaluationRule": ".evaluation_rules",
    "EvaluationRuleArrayOptionsFilterOperator": ".commons",
    "EvaluationRuleBase": ".evaluation_rules",
    "EvaluationRuleBooleanFilterOperator": ".commons",
    "EvaluationRuleEvaluator": ".evaluation_rules",
    "EvaluationRuleEvaluatorReference": ".evaluation_rules",
    "EvaluationRuleFilter": ".commons",
    "EvaluationRuleFilter_ArrayOptions": ".commons",
    "EvaluationRuleFilter_Boolean": ".commons",
    "EvaluationRuleFilter_CategoryOptions": ".commons",
    "EvaluationRuleFilter_Datetime": ".commons",
    "EvaluationRuleFilter_Null": ".commons",
    "EvaluationRuleFilter_Number": ".commons",
    "EvaluationRuleFilter_NumberObject": ".commons",
    "EvaluationRuleFilter_String": ".commons",
    "EvaluationRuleFilter_StringObject": ".commons",
    "EvaluationRuleFilter_StringOptions": ".commons",
    "EvaluationRuleMapping": ".commons",
    "EvaluationRuleMappingSource": ".commons",
    "EvaluationRuleNullFilterOperator": ".commons",
    "EvaluationRuleNumberFilterOperator": ".commons",
    "EvaluationRuleOptionsFilterOperator": ".commons",
    "EvaluationRuleStatus": ".commons",
    "EvaluationRuleStringFilterOperator": ".commons",
    "EvaluationRuleTarget": ".commons",
    "EvaluationRuleTimeScope": ".evaluation_rules",
    "EvaluationRules": ".evaluation_rules",
    "Evaluator": ".evaluators",
    "EvaluatorBase": ".evaluators",
    "EvaluatorModelConfig": ".commons",
    "EvaluatorOutputDataType": ".commons",
    "EvaluatorOutputDefinition": ".commons",
    "EvaluatorOutputDefinition_Boolean": ".commons",
    "EvaluatorOutputDefinition_Categorical": ".commons",
    "EvaluatorOutputDefinition_Numeric": ".commons",
    "EvaluatorOutputFieldDefinition": ".commons",
    "EvaluatorScope": ".commons",
    "EvaluatorType": ".commons",
    "Evaluator_Code": ".evaluators",
    "Evaluator_LlmAsJudge": ".evaluators",
    "Evaluators": ".evaluators",
    "InternalServerError": ".errors",
    "LegacyEvaluationObject": ".evaluation_rules",
    "LegacyEvaluationRule": ".evaluation_rules",
    "LegacyEvaluationRuleMapping": ".evaluation_rules",
    "LegacyEvaluationRuleTarget": ".evaluation_rules",
    "LlmAsJudgeEvaluationRuleEvaluatorReference": ".evaluation_rules",
    "LlmAsJudgeEvaluator": ".evaluators",
    "LlmAsJudgeEvaluatorType": ".evaluation_rules",
    "MethodNotAllowedError": ".errors",
    "NotFoundError": ".errors",
    "NullEvaluationRuleFilter": ".commons",
    "NumberEvaluationRuleFilter": ".commons",
    "NumberObjectEvaluationRuleFilter": ".commons",
    "PresetPlacement": ".dashboards",
    "PublicApiError": ".errors",
    "PublicApiErrorCode": ".errors",
    "PublicApiErrorDetails": ".errors",
    "PublicApiValidationIssue": ".errors",
    "PublicBooleanEvaluatorOutputDefinition": ".commons",
    "PublicCategoricalEvaluatorOutputDefinition": ".commons",
    "PublicCategoricalEvaluatorOutputScoreDefinition": ".commons",
    "PublicEvaluatorOutputDefinition": ".commons",
    "PublicEvaluatorOutputDefinition_Boolean": ".commons",
    "PublicEvaluatorOutputDefinition_Categorical": ".commons",
    "PublicEvaluatorOutputDefinition_Numeric": ".commons",
    "PublicNumericEvaluatorOutputDefinition": ".commons",
    "ReadableEvaluationRule": ".evaluation_rules",
    "StringEvaluationRuleFilter": ".commons",
    "StringObjectEvaluationRuleFilter": ".commons",
    "StringOptionsEvaluationRuleFilter": ".commons",
    "TooManyRequestsError": ".errors",
    "UnauthorizedError": ".errors",
    "UnprocessableContentError": ".errors",
    "UpdateDashboardPlacementRequest": ".dashboards",
    "UpdateDashboardRequest": ".dashboards",
    "UpdateDashboardWidgetRequest": ".dashboard_widgets",
    "UpdateEvaluationRuleRequest": ".evaluation_rules",
    "WidgetPlacement": ".dashboards",
    "commons": ".commons",
    "dashboard_widgets": ".dashboard_widgets",
    "dashboards": ".dashboards",
    "errors": ".errors",
    "evaluation_rules": ".evaluation_rules",
    "evaluators": ".evaluators",
}


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__ = [
    "AccessDeniedError",
    "ArrayOptionsEvaluationRuleFilter",
    "BadRequestError",
    "BooleanEvaluationRuleFilter",
    "CategoryOptionsEvaluationRuleFilter",
    "CodeEvaluationRuleEvaluatorReference",
    "CodeEvaluator",
    "CodeEvaluatorSourceCodeLanguage",
    "ConflictError",
    "CreateCodeEvaluationRuleRequest",
    "CreateCodeEvaluatorRequest",
    "CreateDashboardPlacementRequest",
    "CreateDashboardPlacementRequest_Preset",
    "CreateDashboardPlacementRequest_Widget",
    "CreateDashboardRequest",
    "CreateDashboardWidgetRequest",
    "CreateEvaluationRuleRequest",
    "CreateEvaluatorRequest",
    "CreateEvaluatorRequest_Code",
    "CreateEvaluatorRequest_LlmAsJudge",
    "CreateLlmAsJudgeEvaluationRuleRequest",
    "CreateLlmAsJudgeEvaluatorRequest",
    "CreatePresetPlacement",
    "CreateWidgetPlacement",
    "Dashboard",
    "DashboardDefinition",
    "DashboardList",
    "DashboardPlacement",
    "DashboardPlacement_Preset",
    "DashboardPlacement_Widget",
    "DashboardWidget",
    "DashboardWidgetChartConfig",
    "DashboardWidgetChartConfigInput",
    "DashboardWidgetChartType",
    "DashboardWidgetDefaultSort",
    "DashboardWidgetDimension",
    "DashboardWidgetFilter",
    "DashboardWidgetList",
    "DashboardWidgetMetric",
    "DashboardWidgetMetricAggregation",
    "DashboardWidgetSortOrder",
    "DashboardWidgetView",
    "DashboardWidgetViewWithLegacy",
    "DateTimeEvaluationRuleFilter",
    "DeleteDashboardPlacementResponse",
    "DeleteDashboardResponse",
    "DeleteDashboardWidgetResponse",
    "DeleteEvaluationRuleResponse",
    "DeleteEvaluatorResponse",
    "EvaluationRule",
    "EvaluationRuleArrayOptionsFilterOperator",
    "EvaluationRuleBase",
    "EvaluationRuleBooleanFilterOperator",
    "EvaluationRuleEvaluator",
    "EvaluationRuleEvaluatorReference",
    "EvaluationRuleFilter",
    "EvaluationRuleFilter_ArrayOptions",
    "EvaluationRuleFilter_Boolean",
    "EvaluationRuleFilter_CategoryOptions",
    "EvaluationRuleFilter_Datetime",
    "EvaluationRuleFilter_Null",
    "EvaluationRuleFilter_Number",
    "EvaluationRuleFilter_NumberObject",
    "EvaluationRuleFilter_String",
    "EvaluationRuleFilter_StringObject",
    "EvaluationRuleFilter_StringOptions",
    "EvaluationRuleMapping",
    "EvaluationRuleMappingSource",
    "EvaluationRuleNullFilterOperator",
    "EvaluationRuleNumberFilterOperator",
    "EvaluationRuleOptionsFilterOperator",
    "EvaluationRuleStatus",
    "EvaluationRuleStringFilterOperator",
    "EvaluationRuleTarget",
    "EvaluationRuleTimeScope",
    "EvaluationRules",
    "Evaluator",
    "EvaluatorBase",
    "EvaluatorModelConfig",
    "EvaluatorOutputDataType",
    "EvaluatorOutputDefinition",
    "EvaluatorOutputDefinition_Boolean",
    "EvaluatorOutputDefinition_Categorical",
    "EvaluatorOutputDefinition_Numeric",
    "EvaluatorOutputFieldDefinition",
    "EvaluatorScope",
    "EvaluatorType",
    "Evaluator_Code",
    "Evaluator_LlmAsJudge",
    "Evaluators",
    "InternalServerError",
    "LegacyEvaluationObject",
    "LegacyEvaluationRule",
    "LegacyEvaluationRuleMapping",
    "LegacyEvaluationRuleTarget",
    "LlmAsJudgeEvaluationRuleEvaluatorReference",
    "LlmAsJudgeEvaluator",
    "LlmAsJudgeEvaluatorType",
    "MethodNotAllowedError",
    "NotFoundError",
    "NullEvaluationRuleFilter",
    "NumberEvaluationRuleFilter",
    "NumberObjectEvaluationRuleFilter",
    "PresetPlacement",
    "PublicApiError",
    "PublicApiErrorCode",
    "PublicApiErrorDetails",
    "PublicApiValidationIssue",
    "PublicBooleanEvaluatorOutputDefinition",
    "PublicCategoricalEvaluatorOutputDefinition",
    "PublicCategoricalEvaluatorOutputScoreDefinition",
    "PublicEvaluatorOutputDefinition",
    "PublicEvaluatorOutputDefinition_Boolean",
    "PublicEvaluatorOutputDefinition_Categorical",
    "PublicEvaluatorOutputDefinition_Numeric",
    "PublicNumericEvaluatorOutputDefinition",
    "ReadableEvaluationRule",
    "StringEvaluationRuleFilter",
    "StringObjectEvaluationRuleFilter",
    "StringOptionsEvaluationRuleFilter",
    "TooManyRequestsError",
    "UnauthorizedError",
    "UnprocessableContentError",
    "UpdateDashboardPlacementRequest",
    "UpdateDashboardRequest",
    "UpdateDashboardWidgetRequest",
    "UpdateEvaluationRuleRequest",
    "WidgetPlacement",
    "commons",
    "dashboard_widgets",
    "dashboards",
    "errors",
    "evaluation_rules",
    "evaluators",
]
