# 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 .types import (
        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,
    )
    from .errors import (
        BadRequestError,
        ContentTooLargeError,
        InternalServerError,
        NotFoundError,
        UnauthorizedError,
        UnprocessableEntityError,
        UnsupportedMediaTypeError,
    )
    from . import agents, aop, assets, query, threads, tools
    from .client import AsyncAthena, Athena
    from .environment import AthenaEnvironment
    from .query import QueryExecuteRequestDatabaseAssetIds
    from .tools import ToolsDataFrameRequestColumnsItem
    from .version import __version__
_dynamic_imports: typing.Dict[str, str] = {
    "AopAsyncExecuteResponseOut": ".types",
    "AopExecuteRequestIn": ".types",
    "AopExecuteResponseOut": ".types",
    "AssetContentRequestOut": ".types",
    "AssetNode": ".types",
    "AssetScreenshotResponseOut": ".types",
    "AsyncAthena": ".client",
    "Athena": ".client",
    "AthenaEnvironment": ".environment",
    "BadRequestError": ".errors",
    "BorderModel": ".types",
    "BorderStyle": ".types",
    "BordersModel": ".types",
    "CellFormat": ".types",
    "CellFormatHorizontalAlignment": ".types",
    "CellFormatVerticalAlignment": ".types",
    "Chunk": ".types",
    "ChunkContentItem": ".types",
    "ChunkContentItem_ImageUrl": ".types",
    "ChunkContentItem_Text": ".types",
    "ChunkResult": ".types",
    "ChunkResultChunkId": ".types",
    "Content": ".types",
    "ContentTooLargeError": ".errors",
    "ConversationAssetInfo": ".types",
    "ConversationMessage": ".types",
    "ConversationResult": ".types",
    "CreatableAssetType": ".types",
    "CreateAssetResponseOut": ".types",
    "CreateNewSheetTabResponse": ".types",
    "CreateProjectResponseOut": ".types",
    "CustomAgentResponse": ".types",
    "DataFrameRequestOut": ".types",
    "DataFrameRequestOutColumnsItem": ".types",
    "DataFrameRequestOutDataItemItem": ".types",
    "DataFrameRequestOutIndexItem": ".types",
    "DataFrameUnknownFormatError": ".types",
    "DimensionProperties": ".types",
    "DriveAgentResponse": ".types",
    "FileTooLargeError": ".types",
    "FolderResponse": ".types",
    "GeneralAgentConfig": ".types",
    "GeneralAgentConfigEnabledToolsItem": ".types",
    "GeneralAgentRequest": ".types",
    "GeneralAgentResponse": ".types",
    "GeneralAgentResponseMessage": ".types",
    "GeneralAgentResponseMessageKwargs": ".types",
    "GetTableResponse": ".types",
    "GridRange": ".types",
    "Id": ".types",
    "ImageUrlContent": ".types",
    "InputMessage": ".types",
    "InputMessageContentItem": ".types",
    "InputMessageContentItem_ImageUrl": ".types",
    "InputMessageContentItem_Text": ".types",
    "InternalServerError": ".errors",
    "NotFoundError": ".errors",
    "NumberFormatModel": ".types",
    "NumberFormatType": ".types",
    "PaginatedAssetsOut": ".types",
    "PromptMessage": ".types",
    "PublicAssetOut": ".types",
    "QueryExecuteRequestDatabaseAssetIds": ".query",
    "ResearchAgentResponse": ".types",
    "SaveAssetRequestOut": ".types",
    "Sheet": ".types",
    "SheetOperationResponse": ".types",
    "SqlAgentResponse": ".types",
    "StructuredDataExtractorResponse": ".types",
    "TableRowData": ".types",
    "TextContent": ".types",
    "TextFormatModel": ".types",
    "Textrotation": ".types",
    "ThemeColor": ".types",
    "ThreadStatusResponseOut": ".types",
    "ToolsDataFrameRequestColumnsItem": ".tools",
    "Type": ".types",
    "UnauthorizedError": ".errors",
    "UnprocessableEntityError": ".errors",
    "UnsupportedMediaTypeError": ".errors",
    "WrapStrategy": ".types",
    "__version__": ".version",
    "agents": ".agents",
    "aop": ".aop",
    "assets": ".assets",
    "query": ".query",
    "threads": ".threads",
    "tools": ".tools",
}


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",
    "AsyncAthena",
    "Athena",
    "AthenaEnvironment",
    "BadRequestError",
    "BorderModel",
    "BorderStyle",
    "BordersModel",
    "CellFormat",
    "CellFormatHorizontalAlignment",
    "CellFormatVerticalAlignment",
    "Chunk",
    "ChunkContentItem",
    "ChunkContentItem_ImageUrl",
    "ChunkContentItem_Text",
    "ChunkResult",
    "ChunkResultChunkId",
    "Content",
    "ContentTooLargeError",
    "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",
    "InternalServerError",
    "NotFoundError",
    "NumberFormatModel",
    "NumberFormatType",
    "PaginatedAssetsOut",
    "PromptMessage",
    "PublicAssetOut",
    "QueryExecuteRequestDatabaseAssetIds",
    "ResearchAgentResponse",
    "SaveAssetRequestOut",
    "Sheet",
    "SheetOperationResponse",
    "SqlAgentResponse",
    "StructuredDataExtractorResponse",
    "TableRowData",
    "TextContent",
    "TextFormatModel",
    "Textrotation",
    "ThemeColor",
    "ThreadStatusResponseOut",
    "ToolsDataFrameRequestColumnsItem",
    "Type",
    "UnauthorizedError",
    "UnprocessableEntityError",
    "UnsupportedMediaTypeError",
    "WrapStrategy",
    "__version__",
    "agents",
    "aop",
    "assets",
    "query",
    "threads",
    "tools",
]
