# 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 .agent import AgentParams
    from .agent_configuration_endpoint import AgentConfigurationEndpointParams
    from .agent_project import AgentProjectParams
    from .agent_template_variables_value import AgentTemplateVariablesValueParams
    from .agent_tools_item import AgentToolsItemParams
    from .assistant_chose_not_to_respond_payload import AssistantChoseNotToRespondPayloadParams
    from .assistant_ended_conversation_payload import AssistantEndedConversationPayloadParams
    from .audio_chunk_payload import AudioChunkPayloadParams
    from .audio_chunk_response_payload import AudioChunkResponsePayloadParams
    from .bad_request_error_body import BadRequestErrorBodyParams
    from .basic_error import BasicErrorParams
    from .basic_error_error import BasicErrorErrorParams
    from .config_payload import ConfigPayloadParams
    from .conversation import ConversationParams
    from .conversation_agent import ConversationAgentParams
    from .conversation_analysis import ConversationAnalysisParams
    from .conversation_created_payload import ConversationCreatedPayloadParams
    from .conversation_eval_prompt import ConversationEvalPromptParams
    from .conversation_evaluation import ConversationEvaluationParams
    from .conversation_evaluation_result import ConversationEvaluationResultParams
    from .conversation_evaluation_result_prompt import ConversationEvaluationResultPromptParams
    from .conversation_extraction import ConversationExtractionParams
    from .conversation_extraction_schema import ConversationExtractionSchemaParams
    from .conversation_item import ConversationItemParams
    from .conversation_item_tool_calls_item import ConversationItemToolCallsItemParams
    from .conversation_item_tool_calls_item_tool import ConversationItemToolCallsItemToolParams
    from .conversation_project import ConversationProjectParams
    from .create_agent_request import CreateAgentRequestParams
    from .create_agent_request_configuration_endpoint import CreateAgentRequestConfigurationEndpointParams
    from .create_agent_request_template_variables_value import CreateAgentRequestTemplateVariablesValueParams
    from .create_agent_request_tools_item import CreateAgentRequestToolsItemParams
    from .dtmf_payload import DtmfPayloadParams
    from .error import ErrorParams
    from .error_payload import ErrorPayloadParams
    from .error_payload_error import ErrorPayloadErrorParams
    from .extraction_field import ExtractionFieldParams
    from .extraction_schema import ExtractionSchemaParams
    from .input_cancelled_payload import InputCancelledPayloadParams
    from .input_text_payload import InputTextPayloadParams
    from .is_user_speaking_payload import IsUserSpeakingPayloadParams
    from .outbound_call_config import OutboundCallConfigParams
    from .outbound_call_config_tools_item import OutboundCallConfigToolsItemParams
    from .project import ProjectParams
    from .project_default_agent import ProjectDefaultAgentParams
    from .ready_to_start_conversation_payload import ReadyToStartConversationPayloadParams
    from .set_external_id_payload import SetExternalIdPayloadParams
    from .set_twilio_call_sid_payload import SetTwilioCallSidPayloadParams
    from .task import TaskParams
    from .tool import ToolParams
    from .tool_call_interrupted_payload import ToolCallInterruptedPayloadParams
    from .tool_call_output_payload import ToolCallOutputPayloadParams
    from .tool_call_output_processed_payload import ToolCallOutputProcessedPayloadParams
    from .tool_call_output_processed_payload_tool import ToolCallOutputProcessedPayloadToolParams
    from .tool_call_payload import ToolCallPayloadParams
    from .tool_parameter import ToolParameterParams
    from .tool_project import ToolProjectParams
    from .update_system_prompt_payload import UpdateSystemPromptPayloadParams
    from .user_finished_speaking_payload import UserFinishedSpeakingPayloadParams
    from .user_started_speaking_payload import UserStartedSpeakingPayloadParams
    from .validation_error import ValidationErrorParams
    from .validation_error_error import ValidationErrorErrorParams
    from .voice import VoiceParams
_dynamic_imports: typing.Dict[str, str] = {
    "AgentConfigurationEndpointParams": ".agent_configuration_endpoint",
    "AgentParams": ".agent",
    "AgentProjectParams": ".agent_project",
    "AgentTemplateVariablesValueParams": ".agent_template_variables_value",
    "AgentToolsItemParams": ".agent_tools_item",
    "AssistantChoseNotToRespondPayloadParams": ".assistant_chose_not_to_respond_payload",
    "AssistantEndedConversationPayloadParams": ".assistant_ended_conversation_payload",
    "AudioChunkPayloadParams": ".audio_chunk_payload",
    "AudioChunkResponsePayloadParams": ".audio_chunk_response_payload",
    "BadRequestErrorBodyParams": ".bad_request_error_body",
    "BasicErrorErrorParams": ".basic_error_error",
    "BasicErrorParams": ".basic_error",
    "ConfigPayloadParams": ".config_payload",
    "ConversationAgentParams": ".conversation_agent",
    "ConversationAnalysisParams": ".conversation_analysis",
    "ConversationCreatedPayloadParams": ".conversation_created_payload",
    "ConversationEvalPromptParams": ".conversation_eval_prompt",
    "ConversationEvaluationParams": ".conversation_evaluation",
    "ConversationEvaluationResultParams": ".conversation_evaluation_result",
    "ConversationEvaluationResultPromptParams": ".conversation_evaluation_result_prompt",
    "ConversationExtractionParams": ".conversation_extraction",
    "ConversationExtractionSchemaParams": ".conversation_extraction_schema",
    "ConversationItemParams": ".conversation_item",
    "ConversationItemToolCallsItemParams": ".conversation_item_tool_calls_item",
    "ConversationItemToolCallsItemToolParams": ".conversation_item_tool_calls_item_tool",
    "ConversationParams": ".conversation",
    "ConversationProjectParams": ".conversation_project",
    "CreateAgentRequestConfigurationEndpointParams": ".create_agent_request_configuration_endpoint",
    "CreateAgentRequestParams": ".create_agent_request",
    "CreateAgentRequestTemplateVariablesValueParams": ".create_agent_request_template_variables_value",
    "CreateAgentRequestToolsItemParams": ".create_agent_request_tools_item",
    "DtmfPayloadParams": ".dtmf_payload",
    "ErrorParams": ".error",
    "ErrorPayloadErrorParams": ".error_payload_error",
    "ErrorPayloadParams": ".error_payload",
    "ExtractionFieldParams": ".extraction_field",
    "ExtractionSchemaParams": ".extraction_schema",
    "InputCancelledPayloadParams": ".input_cancelled_payload",
    "InputTextPayloadParams": ".input_text_payload",
    "IsUserSpeakingPayloadParams": ".is_user_speaking_payload",
    "OutboundCallConfigParams": ".outbound_call_config",
    "OutboundCallConfigToolsItemParams": ".outbound_call_config_tools_item",
    "ProjectDefaultAgentParams": ".project_default_agent",
    "ProjectParams": ".project",
    "ReadyToStartConversationPayloadParams": ".ready_to_start_conversation_payload",
    "SetExternalIdPayloadParams": ".set_external_id_payload",
    "SetTwilioCallSidPayloadParams": ".set_twilio_call_sid_payload",
    "TaskParams": ".task",
    "ToolCallInterruptedPayloadParams": ".tool_call_interrupted_payload",
    "ToolCallOutputPayloadParams": ".tool_call_output_payload",
    "ToolCallOutputProcessedPayloadParams": ".tool_call_output_processed_payload",
    "ToolCallOutputProcessedPayloadToolParams": ".tool_call_output_processed_payload_tool",
    "ToolCallPayloadParams": ".tool_call_payload",
    "ToolParameterParams": ".tool_parameter",
    "ToolParams": ".tool",
    "ToolProjectParams": ".tool_project",
    "UpdateSystemPromptPayloadParams": ".update_system_prompt_payload",
    "UserFinishedSpeakingPayloadParams": ".user_finished_speaking_payload",
    "UserStartedSpeakingPayloadParams": ".user_started_speaking_payload",
    "ValidationErrorErrorParams": ".validation_error_error",
    "ValidationErrorParams": ".validation_error",
    "VoiceParams": ".voice",
}


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__ = [
    "AgentConfigurationEndpointParams",
    "AgentParams",
    "AgentProjectParams",
    "AgentTemplateVariablesValueParams",
    "AgentToolsItemParams",
    "AssistantChoseNotToRespondPayloadParams",
    "AssistantEndedConversationPayloadParams",
    "AudioChunkPayloadParams",
    "AudioChunkResponsePayloadParams",
    "BadRequestErrorBodyParams",
    "BasicErrorErrorParams",
    "BasicErrorParams",
    "ConfigPayloadParams",
    "ConversationAgentParams",
    "ConversationAnalysisParams",
    "ConversationCreatedPayloadParams",
    "ConversationEvalPromptParams",
    "ConversationEvaluationParams",
    "ConversationEvaluationResultParams",
    "ConversationEvaluationResultPromptParams",
    "ConversationExtractionParams",
    "ConversationExtractionSchemaParams",
    "ConversationItemParams",
    "ConversationItemToolCallsItemParams",
    "ConversationItemToolCallsItemToolParams",
    "ConversationParams",
    "ConversationProjectParams",
    "CreateAgentRequestConfigurationEndpointParams",
    "CreateAgentRequestParams",
    "CreateAgentRequestTemplateVariablesValueParams",
    "CreateAgentRequestToolsItemParams",
    "DtmfPayloadParams",
    "ErrorParams",
    "ErrorPayloadErrorParams",
    "ErrorPayloadParams",
    "ExtractionFieldParams",
    "ExtractionSchemaParams",
    "InputCancelledPayloadParams",
    "InputTextPayloadParams",
    "IsUserSpeakingPayloadParams",
    "OutboundCallConfigParams",
    "OutboundCallConfigToolsItemParams",
    "ProjectDefaultAgentParams",
    "ProjectParams",
    "ReadyToStartConversationPayloadParams",
    "SetExternalIdPayloadParams",
    "SetTwilioCallSidPayloadParams",
    "TaskParams",
    "ToolCallInterruptedPayloadParams",
    "ToolCallOutputPayloadParams",
    "ToolCallOutputProcessedPayloadParams",
    "ToolCallOutputProcessedPayloadToolParams",
    "ToolCallPayloadParams",
    "ToolParameterParams",
    "ToolParams",
    "ToolProjectParams",
    "UpdateSystemPromptPayloadParams",
    "UserFinishedSpeakingPayloadParams",
    "UserStartedSpeakingPayloadParams",
    "ValidationErrorErrorParams",
    "ValidationErrorParams",
    "VoiceParams",
]
