# This file was auto-generated by Fern from our API Definition.

from __future__ import annotations

import typing

import typing_extensions
from .chat_completion_message_tool_call import ChatCompletionMessageToolCallParams


class ChatCompletionRequestMessage_AssistantParams(typing_extensions.TypedDict):
    role: typing.Literal["assistant"]
    content: typing_extensions.NotRequired[str]
    tool_calls: typing_extensions.NotRequired[typing.Sequence[ChatCompletionMessageToolCallParams]]


class ChatCompletionRequestMessage_SystemParams(typing_extensions.TypedDict):
    role: typing.Literal["system"]
    content: str


class ChatCompletionRequestMessage_ToolParams(typing_extensions.TypedDict):
    role: typing.Literal["tool"]
    content: str
    tool_call_id: str


class ChatCompletionRequestMessage_UserParams(typing_extensions.TypedDict):
    role: typing.Literal["user"]
    content: str


ChatCompletionRequestMessageParams = typing.Union[
    ChatCompletionRequestMessage_AssistantParams,
    ChatCompletionRequestMessage_SystemParams,
    ChatCompletionRequestMessage_ToolParams,
    ChatCompletionRequestMessage_UserParams,
]
