# 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 .aop_async_execute_response_out import AopAsyncExecuteResponseOut
    from .aop_execute_request_in import AopExecuteRequestIn
    from .aop_execute_response_out import AopExecuteResponseOut
    from .asset_content_request_out import AssetContentRequestOut
    from .asset_node import AssetNode
    from .asset_screenshot_response_out import AssetScreenshotResponseOut
    from .border_model import BorderModel
    from .border_style import BorderStyle
    from .borders_model import BordersModel
    from .cell_format import CellFormat
    from .cell_format_horizontal_alignment import CellFormatHorizontalAlignment
    from .cell_format_vertical_alignment import CellFormatVerticalAlignment
    from .chunk import Chunk
    from .chunk_content_item import ChunkContentItem, ChunkContentItem_ImageUrl, ChunkContentItem_Text
    from .chunk_result import ChunkResult
    from .chunk_result_chunk_id import ChunkResultChunkId
    from .content import Content
    from .conversation_asset_info import ConversationAssetInfo
    from .conversation_message import ConversationMessage
    from .conversation_result import ConversationResult
    from .creatable_asset_type import CreatableAssetType
    from .create_asset_response_out import CreateAssetResponseOut
    from .create_new_sheet_tab_response import CreateNewSheetTabResponse
    from .create_project_response_out import CreateProjectResponseOut
    from .custom_agent_response import CustomAgentResponse
    from .data_frame_request_out import DataFrameRequestOut
    from .data_frame_request_out_columns_item import DataFrameRequestOutColumnsItem
    from .data_frame_request_out_data_item_item import DataFrameRequestOutDataItemItem
    from .data_frame_request_out_index_item import DataFrameRequestOutIndexItem
    from .data_frame_unknown_format_error import DataFrameUnknownFormatError
    from .dimension_properties import DimensionProperties
    from .drive_agent_response import DriveAgentResponse
    from .file_too_large_error import FileTooLargeError
    from .folder_response import FolderResponse
    from .general_agent_config import GeneralAgentConfig
    from .general_agent_config_enabled_tools_item import GeneralAgentConfigEnabledToolsItem
    from .general_agent_request import GeneralAgentRequest
    from .general_agent_response import GeneralAgentResponse
    from .general_agent_response_message import GeneralAgentResponseMessage
    from .general_agent_response_message_kwargs import GeneralAgentResponseMessageKwargs
    from .get_table_response import GetTableResponse
    from .grid_range import GridRange
    from .id import Id
    from .image_url_content import ImageUrlContent
    from .input_message import InputMessage
    from .input_message_content_item import (
        InputMessageContentItem,
        InputMessageContentItem_ImageUrl,
        InputMessageContentItem_Text,
    )
    from .number_format_model import NumberFormatModel
    from .number_format_type import NumberFormatType
    from .paginated_assets_out import PaginatedAssetsOut
    from .prompt_message import PromptMessage
    from .public_asset_out import PublicAssetOut
    from .research_agent_response import ResearchAgentResponse
    from .save_asset_request_out import SaveAssetRequestOut
    from .sheet import Sheet
    from .sheet_operation_response import SheetOperationResponse
    from .sql_agent_response import SqlAgentResponse
    from .structured_data_extractor_response import StructuredDataExtractorResponse
    from .table_row_data import TableRowData
    from .text_content import TextContent
    from .text_format_model import TextFormatModel
    from .textrotation import Textrotation
    from .theme_color import ThemeColor
    from .thread_status_response_out import ThreadStatusResponseOut
    from .type import Type
    from .wrap_strategy import WrapStrategy
_dynamic_imports: typing.Dict[str, str] = {
    "AopAsyncExecuteResponseOut": ".aop_async_execute_response_out",
    "AopExecuteRequestIn": ".aop_execute_request_in",
    "AopExecuteResponseOut": ".aop_execute_response_out",
    "AssetContentRequestOut": ".asset_content_request_out",
    "AssetNode": ".asset_node",
    "AssetScreenshotResponseOut": ".asset_screenshot_response_out",
    "BorderModel": ".border_model",
    "BorderStyle": ".border_style",
    "BordersModel": ".borders_model",
    "CellFormat": ".cell_format",
    "CellFormatHorizontalAlignment": ".cell_format_horizontal_alignment",
    "CellFormatVerticalAlignment": ".cell_format_vertical_alignment",
    "Chunk": ".chunk",
    "ChunkContentItem": ".chunk_content_item",
    "ChunkContentItem_ImageUrl": ".chunk_content_item",
    "ChunkContentItem_Text": ".chunk_content_item",
    "ChunkResult": ".chunk_result",
    "ChunkResultChunkId": ".chunk_result_chunk_id",
    "Content": ".content",
    "ConversationAssetInfo": ".conversation_asset_info",
    "ConversationMessage": ".conversation_message",
    "ConversationResult": ".conversation_result",
    "CreatableAssetType": ".creatable_asset_type",
    "CreateAssetResponseOut": ".create_asset_response_out",
    "CreateNewSheetTabResponse": ".create_new_sheet_tab_response",
    "CreateProjectResponseOut": ".create_project_response_out",
    "CustomAgentResponse": ".custom_agent_response",
    "DataFrameRequestOut": ".data_frame_request_out",
    "DataFrameRequestOutColumnsItem": ".data_frame_request_out_columns_item",
    "DataFrameRequestOutDataItemItem": ".data_frame_request_out_data_item_item",
    "DataFrameRequestOutIndexItem": ".data_frame_request_out_index_item",
    "DataFrameUnknownFormatError": ".data_frame_unknown_format_error",
    "DimensionProperties": ".dimension_properties",
    "DriveAgentResponse": ".drive_agent_response",
    "FileTooLargeError": ".file_too_large_error",
    "FolderResponse": ".folder_response",
    "GeneralAgentConfig": ".general_agent_config",
    "GeneralAgentConfigEnabledToolsItem": ".general_agent_config_enabled_tools_item",
    "GeneralAgentRequest": ".general_agent_request",
    "GeneralAgentResponse": ".general_agent_response",
    "GeneralAgentResponseMessage": ".general_agent_response_message",
    "GeneralAgentResponseMessageKwargs": ".general_agent_response_message_kwargs",
    "GetTableResponse": ".get_table_response",
    "GridRange": ".grid_range",
    "Id": ".id",
    "ImageUrlContent": ".image_url_content",
    "InputMessage": ".input_message",
    "InputMessageContentItem": ".input_message_content_item",
    "InputMessageContentItem_ImageUrl": ".input_message_content_item",
    "InputMessageContentItem_Text": ".input_message_content_item",
    "NumberFormatModel": ".number_format_model",
    "NumberFormatType": ".number_format_type",
    "PaginatedAssetsOut": ".paginated_assets_out",
    "PromptMessage": ".prompt_message",
    "PublicAssetOut": ".public_asset_out",
    "ResearchAgentResponse": ".research_agent_response",
    "SaveAssetRequestOut": ".save_asset_request_out",
    "Sheet": ".sheet",
    "SheetOperationResponse": ".sheet_operation_response",
    "SqlAgentResponse": ".sql_agent_response",
    "StructuredDataExtractorResponse": ".structured_data_extractor_response",
    "TableRowData": ".table_row_data",
    "TextContent": ".text_content",
    "TextFormatModel": ".text_format_model",
    "Textrotation": ".textrotation",
    "ThemeColor": ".theme_color",
    "ThreadStatusResponseOut": ".thread_status_response_out",
    "Type": ".type",
    "WrapStrategy": ".wrap_strategy",
}


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__ = [
    "AopAsyncExecuteResponseOut",
    "AopExecuteRequestIn",
    "AopExecuteResponseOut",
    "AssetContentRequestOut",
    "AssetNode",
    "AssetScreenshotResponseOut",
    "BorderModel",
    "BorderStyle",
    "BordersModel",
    "CellFormat",
    "CellFormatHorizontalAlignment",
    "CellFormatVerticalAlignment",
    "Chunk",
    "ChunkContentItem",
    "ChunkContentItem_ImageUrl",
    "ChunkContentItem_Text",
    "ChunkResult",
    "ChunkResultChunkId",
    "Content",
    "ConversationAssetInfo",
    "ConversationMessage",
    "ConversationResult",
    "CreatableAssetType",
    "CreateAssetResponseOut",
    "CreateNewSheetTabResponse",
    "CreateProjectResponseOut",
    "CustomAgentResponse",
    "DataFrameRequestOut",
    "DataFrameRequestOutColumnsItem",
    "DataFrameRequestOutDataItemItem",
    "DataFrameRequestOutIndexItem",
    "DataFrameUnknownFormatError",
    "DimensionProperties",
    "DriveAgentResponse",
    "FileTooLargeError",
    "FolderResponse",
    "GeneralAgentConfig",
    "GeneralAgentConfigEnabledToolsItem",
    "GeneralAgentRequest",
    "GeneralAgentResponse",
    "GeneralAgentResponseMessage",
    "GeneralAgentResponseMessageKwargs",
    "GetTableResponse",
    "GridRange",
    "Id",
    "ImageUrlContent",
    "InputMessage",
    "InputMessageContentItem",
    "InputMessageContentItem_ImageUrl",
    "InputMessageContentItem_Text",
    "NumberFormatModel",
    "NumberFormatType",
    "PaginatedAssetsOut",
    "PromptMessage",
    "PublicAssetOut",
    "ResearchAgentResponse",
    "SaveAssetRequestOut",
    "Sheet",
    "SheetOperationResponse",
    "SqlAgentResponse",
    "StructuredDataExtractorResponse",
    "TableRowData",
    "TextContent",
    "TextFormatModel",
    "Textrotation",
    "ThemeColor",
    "ThreadStatusResponseOut",
    "Type",
    "WrapStrategy",
]
