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

from typing import Any, TYPE_CHECKING

from mistralai.gcp.client.utils.dynamic_imports import lazy_getattr, lazy_dir

if TYPE_CHECKING:
    from .assistantmessage import (
        AssistantMessage,
        AssistantMessageContent,
        AssistantMessageContentTypedDict,
        AssistantMessageTypedDict,
    )
    from .builtinconnectors import BuiltInConnectors
    from .chatcompletionchoice import (
        ChatCompletionChoice,
        ChatCompletionChoiceFinishReason,
        ChatCompletionChoiceTypedDict,
    )
    from .chatcompletionrequest import (
        ChatCompletionRequest,
        ChatCompletionRequestMessage,
        ChatCompletionRequestMessageTypedDict,
        ChatCompletionRequestStop,
        ChatCompletionRequestStopTypedDict,
        ChatCompletionRequestToolChoice,
        ChatCompletionRequestToolChoiceTypedDict,
        ChatCompletionRequestTypedDict,
    )
    from .chatcompletionresponse import (
        ChatCompletionResponse,
        ChatCompletionResponseTypedDict,
    )
    from .chatcompletionstreamrequest import (
        ChatCompletionStreamRequest,
        ChatCompletionStreamRequestMessage,
        ChatCompletionStreamRequestMessageTypedDict,
        ChatCompletionStreamRequestStop,
        ChatCompletionStreamRequestStopTypedDict,
        ChatCompletionStreamRequestToolChoice,
        ChatCompletionStreamRequestToolChoiceTypedDict,
        ChatCompletionStreamRequestTypedDict,
    )
    from .completionchunk import CompletionChunk, CompletionChunkTypedDict
    from .completionevent import CompletionEvent, CompletionEventTypedDict
    from .completionresponsestreamchoice import (
        CompletionResponseStreamChoice,
        CompletionResponseStreamChoiceFinishReason,
        CompletionResponseStreamChoiceTypedDict,
    )
    from .contentchunk import ContentChunk, ContentChunkTypedDict, UnknownContentChunk
    from .deltamessage import (
        DeltaMessage,
        DeltaMessageContent,
        DeltaMessageContentTypedDict,
        DeltaMessageTypedDict,
    )
    from .fimcompletionrequest import (
        FIMCompletionRequest,
        FIMCompletionRequestStop,
        FIMCompletionRequestStopTypedDict,
        FIMCompletionRequestTypedDict,
    )
    from .fimcompletionresponse import (
        FIMCompletionResponse,
        FIMCompletionResponseTypedDict,
    )
    from .fimcompletionstreamrequest import (
        FIMCompletionStreamRequest,
        FIMCompletionStreamRequestStop,
        FIMCompletionStreamRequestStopTypedDict,
        FIMCompletionStreamRequestTypedDict,
    )
    from .function import Function, FunctionTypedDict
    from .functioncall import (
        Arguments,
        ArgumentsTypedDict,
        FunctionCall,
        FunctionCallTypedDict,
    )
    from .functionname import FunctionName, FunctionNameTypedDict
    from .imagedetail import ImageDetail
    from .imageurl import ImageURL, ImageURLTypedDict
    from .imageurlchunk import (
        ImageURLChunk,
        ImageURLChunkTypedDict,
        ImageURLUnion,
        ImageURLUnionTypedDict,
    )
    from .jsonschema import JSONSchema, JSONSchemaTypedDict
    from .mistralpromptmode import MistralPromptMode
    from .prediction import Prediction, PredictionTypedDict
    from .referencechunk import ReferenceChunk, ReferenceChunkTypedDict
    from .responseformat import ResponseFormat, ResponseFormatTypedDict
    from .responseformats import ResponseFormats
    from .security import Security, SecurityTypedDict
    from .systemmessage import (
        SystemMessage,
        SystemMessageContent,
        SystemMessageContentTypedDict,
        SystemMessageTypedDict,
    )
    from .systemmessagecontentchunks import (
        SystemMessageContentChunks,
        SystemMessageContentChunksTypedDict,
    )
    from .textchunk import TextChunk, TextChunkTypedDict
    from .thinkchunk import ThinkChunk, ThinkChunkTypedDict, Thinking, ThinkingTypedDict
    from .tool import Tool, ToolTypedDict
    from .toolcall import ToolCall, ToolCallTypedDict
    from .toolchoice import ToolChoice, ToolChoiceTypedDict
    from .toolchoiceenum import ToolChoiceEnum
    from .toolmessage import (
        ToolMessage,
        ToolMessageContent,
        ToolMessageContentTypedDict,
        ToolMessageTypedDict,
    )
    from .toolreferencechunk import (
        ToolReferenceChunk,
        ToolReferenceChunkTypedDict,
        ToolUnion,
        ToolUnionTypedDict,
    )
    from .tooltypes import ToolTypes
    from .usageinfo import UsageInfo, UsageInfoTypedDict
    from .usermessage import (
        UserMessage,
        UserMessageContent,
        UserMessageContentTypedDict,
        UserMessageTypedDict,
    )
    from .validationerror import (
        Context,
        ContextTypedDict,
        Loc,
        LocTypedDict,
        ValidationError,
        ValidationErrorTypedDict,
    )

__all__ = [
    "Arguments",
    "ArgumentsTypedDict",
    "AssistantMessage",
    "AssistantMessageContent",
    "AssistantMessageContentTypedDict",
    "AssistantMessageTypedDict",
    "BuiltInConnectors",
    "ChatCompletionChoice",
    "ChatCompletionChoiceFinishReason",
    "ChatCompletionChoiceTypedDict",
    "ChatCompletionRequest",
    "ChatCompletionRequestMessage",
    "ChatCompletionRequestMessageTypedDict",
    "ChatCompletionRequestStop",
    "ChatCompletionRequestStopTypedDict",
    "ChatCompletionRequestToolChoice",
    "ChatCompletionRequestToolChoiceTypedDict",
    "ChatCompletionRequestTypedDict",
    "ChatCompletionResponse",
    "ChatCompletionResponseTypedDict",
    "ChatCompletionStreamRequest",
    "ChatCompletionStreamRequestMessage",
    "ChatCompletionStreamRequestMessageTypedDict",
    "ChatCompletionStreamRequestStop",
    "ChatCompletionStreamRequestStopTypedDict",
    "ChatCompletionStreamRequestToolChoice",
    "ChatCompletionStreamRequestToolChoiceTypedDict",
    "ChatCompletionStreamRequestTypedDict",
    "CompletionChunk",
    "CompletionChunkTypedDict",
    "CompletionEvent",
    "CompletionEventTypedDict",
    "CompletionResponseStreamChoice",
    "CompletionResponseStreamChoiceFinishReason",
    "CompletionResponseStreamChoiceTypedDict",
    "ContentChunk",
    "ContentChunkTypedDict",
    "Context",
    "ContextTypedDict",
    "DeltaMessage",
    "DeltaMessageContent",
    "DeltaMessageContentTypedDict",
    "DeltaMessageTypedDict",
    "FIMCompletionRequest",
    "FIMCompletionRequestStop",
    "FIMCompletionRequestStopTypedDict",
    "FIMCompletionRequestTypedDict",
    "FIMCompletionResponse",
    "FIMCompletionResponseTypedDict",
    "FIMCompletionStreamRequest",
    "FIMCompletionStreamRequestStop",
    "FIMCompletionStreamRequestStopTypedDict",
    "FIMCompletionStreamRequestTypedDict",
    "Function",
    "FunctionCall",
    "FunctionCallTypedDict",
    "FunctionName",
    "FunctionNameTypedDict",
    "FunctionTypedDict",
    "ImageDetail",
    "ImageURL",
    "ImageURLChunk",
    "ImageURLChunkTypedDict",
    "ImageURLTypedDict",
    "ImageURLUnion",
    "ImageURLUnionTypedDict",
    "JSONSchema",
    "JSONSchemaTypedDict",
    "Loc",
    "LocTypedDict",
    "MistralPromptMode",
    "Prediction",
    "PredictionTypedDict",
    "ReferenceChunk",
    "ReferenceChunkTypedDict",
    "ResponseFormat",
    "ResponseFormatTypedDict",
    "ResponseFormats",
    "Security",
    "SecurityTypedDict",
    "SystemMessage",
    "SystemMessageContent",
    "SystemMessageContentChunks",
    "SystemMessageContentChunksTypedDict",
    "SystemMessageContentTypedDict",
    "SystemMessageTypedDict",
    "TextChunk",
    "TextChunkTypedDict",
    "ThinkChunk",
    "ThinkChunkTypedDict",
    "Thinking",
    "ThinkingTypedDict",
    "Tool",
    "ToolCall",
    "ToolCallTypedDict",
    "ToolChoice",
    "ToolChoiceEnum",
    "ToolChoiceTypedDict",
    "ToolMessage",
    "ToolMessageContent",
    "ToolMessageContentTypedDict",
    "ToolMessageTypedDict",
    "ToolReferenceChunk",
    "ToolReferenceChunkTypedDict",
    "ToolTypedDict",
    "ToolTypes",
    "ToolUnion",
    "ToolUnionTypedDict",
    "UnknownContentChunk",
    "UsageInfo",
    "UsageInfoTypedDict",
    "UserMessage",
    "UserMessageContent",
    "UserMessageContentTypedDict",
    "UserMessageTypedDict",
    "ValidationError",
    "ValidationErrorTypedDict",
]

_dynamic_imports: dict[str, str] = {
    "AssistantMessage": ".assistantmessage",
    "AssistantMessageContent": ".assistantmessage",
    "AssistantMessageContentTypedDict": ".assistantmessage",
    "AssistantMessageTypedDict": ".assistantmessage",
    "BuiltInConnectors": ".builtinconnectors",
    "ChatCompletionChoice": ".chatcompletionchoice",
    "ChatCompletionChoiceFinishReason": ".chatcompletionchoice",
    "ChatCompletionChoiceTypedDict": ".chatcompletionchoice",
    "ChatCompletionRequest": ".chatcompletionrequest",
    "ChatCompletionRequestMessage": ".chatcompletionrequest",
    "ChatCompletionRequestMessageTypedDict": ".chatcompletionrequest",
    "ChatCompletionRequestStop": ".chatcompletionrequest",
    "ChatCompletionRequestStopTypedDict": ".chatcompletionrequest",
    "ChatCompletionRequestToolChoice": ".chatcompletionrequest",
    "ChatCompletionRequestToolChoiceTypedDict": ".chatcompletionrequest",
    "ChatCompletionRequestTypedDict": ".chatcompletionrequest",
    "ChatCompletionResponse": ".chatcompletionresponse",
    "ChatCompletionResponseTypedDict": ".chatcompletionresponse",
    "ChatCompletionStreamRequest": ".chatcompletionstreamrequest",
    "ChatCompletionStreamRequestMessage": ".chatcompletionstreamrequest",
    "ChatCompletionStreamRequestMessageTypedDict": ".chatcompletionstreamrequest",
    "ChatCompletionStreamRequestStop": ".chatcompletionstreamrequest",
    "ChatCompletionStreamRequestStopTypedDict": ".chatcompletionstreamrequest",
    "ChatCompletionStreamRequestToolChoice": ".chatcompletionstreamrequest",
    "ChatCompletionStreamRequestToolChoiceTypedDict": ".chatcompletionstreamrequest",
    "ChatCompletionStreamRequestTypedDict": ".chatcompletionstreamrequest",
    "CompletionChunk": ".completionchunk",
    "CompletionChunkTypedDict": ".completionchunk",
    "CompletionEvent": ".completionevent",
    "CompletionEventTypedDict": ".completionevent",
    "CompletionResponseStreamChoice": ".completionresponsestreamchoice",
    "CompletionResponseStreamChoiceFinishReason": ".completionresponsestreamchoice",
    "CompletionResponseStreamChoiceTypedDict": ".completionresponsestreamchoice",
    "ContentChunk": ".contentchunk",
    "ContentChunkTypedDict": ".contentchunk",
    "UnknownContentChunk": ".contentchunk",
    "DeltaMessage": ".deltamessage",
    "DeltaMessageContent": ".deltamessage",
    "DeltaMessageContentTypedDict": ".deltamessage",
    "DeltaMessageTypedDict": ".deltamessage",
    "FIMCompletionRequest": ".fimcompletionrequest",
    "FIMCompletionRequestStop": ".fimcompletionrequest",
    "FIMCompletionRequestStopTypedDict": ".fimcompletionrequest",
    "FIMCompletionRequestTypedDict": ".fimcompletionrequest",
    "FIMCompletionResponse": ".fimcompletionresponse",
    "FIMCompletionResponseTypedDict": ".fimcompletionresponse",
    "FIMCompletionStreamRequest": ".fimcompletionstreamrequest",
    "FIMCompletionStreamRequestStop": ".fimcompletionstreamrequest",
    "FIMCompletionStreamRequestStopTypedDict": ".fimcompletionstreamrequest",
    "FIMCompletionStreamRequestTypedDict": ".fimcompletionstreamrequest",
    "Function": ".function",
    "FunctionTypedDict": ".function",
    "Arguments": ".functioncall",
    "ArgumentsTypedDict": ".functioncall",
    "FunctionCall": ".functioncall",
    "FunctionCallTypedDict": ".functioncall",
    "FunctionName": ".functionname",
    "FunctionNameTypedDict": ".functionname",
    "ImageDetail": ".imagedetail",
    "ImageURL": ".imageurl",
    "ImageURLTypedDict": ".imageurl",
    "ImageURLChunk": ".imageurlchunk",
    "ImageURLChunkTypedDict": ".imageurlchunk",
    "ImageURLUnion": ".imageurlchunk",
    "ImageURLUnionTypedDict": ".imageurlchunk",
    "JSONSchema": ".jsonschema",
    "JSONSchemaTypedDict": ".jsonschema",
    "MistralPromptMode": ".mistralpromptmode",
    "Prediction": ".prediction",
    "PredictionTypedDict": ".prediction",
    "ReferenceChunk": ".referencechunk",
    "ReferenceChunkTypedDict": ".referencechunk",
    "ResponseFormat": ".responseformat",
    "ResponseFormatTypedDict": ".responseformat",
    "ResponseFormats": ".responseformats",
    "Security": ".security",
    "SecurityTypedDict": ".security",
    "SystemMessage": ".systemmessage",
    "SystemMessageContent": ".systemmessage",
    "SystemMessageContentTypedDict": ".systemmessage",
    "SystemMessageTypedDict": ".systemmessage",
    "SystemMessageContentChunks": ".systemmessagecontentchunks",
    "SystemMessageContentChunksTypedDict": ".systemmessagecontentchunks",
    "TextChunk": ".textchunk",
    "TextChunkTypedDict": ".textchunk",
    "ThinkChunk": ".thinkchunk",
    "ThinkChunkTypedDict": ".thinkchunk",
    "Thinking": ".thinkchunk",
    "ThinkingTypedDict": ".thinkchunk",
    "Tool": ".tool",
    "ToolTypedDict": ".tool",
    "ToolCall": ".toolcall",
    "ToolCallTypedDict": ".toolcall",
    "ToolChoice": ".toolchoice",
    "ToolChoiceTypedDict": ".toolchoice",
    "ToolChoiceEnum": ".toolchoiceenum",
    "ToolMessage": ".toolmessage",
    "ToolMessageContent": ".toolmessage",
    "ToolMessageContentTypedDict": ".toolmessage",
    "ToolMessageTypedDict": ".toolmessage",
    "ToolReferenceChunk": ".toolreferencechunk",
    "ToolReferenceChunkTypedDict": ".toolreferencechunk",
    "ToolUnion": ".toolreferencechunk",
    "ToolUnionTypedDict": ".toolreferencechunk",
    "ToolTypes": ".tooltypes",
    "UsageInfo": ".usageinfo",
    "UsageInfoTypedDict": ".usageinfo",
    "UserMessage": ".usermessage",
    "UserMessageContent": ".usermessage",
    "UserMessageContentTypedDict": ".usermessage",
    "UserMessageTypedDict": ".usermessage",
    "Context": ".validationerror",
    "ContextTypedDict": ".validationerror",
    "Loc": ".validationerror",
    "LocTypedDict": ".validationerror",
    "ValidationError": ".validationerror",
    "ValidationErrorTypedDict": ".validationerror",
}


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)
