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

from __future__ import annotations
from .openresponseseasyinputmessage import (
    OpenResponsesEasyInputMessage,
    OpenResponsesEasyInputMessageTypedDict,
)
from .openresponsesfunctioncalloutput import (
    OpenResponsesFunctionCallOutput,
    OpenResponsesFunctionCallOutputTypedDict,
)
from .openresponsesfunctiontoolcall import (
    OpenResponsesFunctionToolCall,
    OpenResponsesFunctionToolCallTypedDict,
)
from .openresponsesinputmessageitem import (
    OpenResponsesInputMessageItem,
    OpenResponsesInputMessageItemTypedDict,
)
from .openresponsesreasoning import (
    OpenResponsesReasoning,
    OpenResponsesReasoningTypedDict,
)
from .responsesimagegenerationcall import (
    ResponsesImageGenerationCall,
    ResponsesImageGenerationCallTypedDict,
)
from .responsesoutputitemfilesearchcall import (
    ResponsesOutputItemFileSearchCall,
    ResponsesOutputItemFileSearchCallTypedDict,
)
from .responsesoutputitemfunctioncall import (
    ResponsesOutputItemFunctionCall,
    ResponsesOutputItemFunctionCallTypedDict,
)
from .responsesoutputitemreasoning import (
    ResponsesOutputItemReasoning,
    ResponsesOutputItemReasoningTypedDict,
)
from .responsesoutputmessage import (
    ResponsesOutputMessage,
    ResponsesOutputMessageTypedDict,
)
from .responseswebsearchcalloutput import (
    ResponsesWebSearchCallOutput,
    ResponsesWebSearchCallOutputTypedDict,
)
from typing import List, Union
from typing_extensions import TypeAliasType


OpenResponsesInput1TypedDict = TypeAliasType(
    "OpenResponsesInput1TypedDict",
    Union[
        OpenResponsesEasyInputMessageTypedDict,
        ResponsesWebSearchCallOutputTypedDict,
        OpenResponsesInputMessageItemTypedDict,
        ResponsesOutputItemFileSearchCallTypedDict,
        ResponsesImageGenerationCallTypedDict,
        OpenResponsesFunctionCallOutputTypedDict,
        ResponsesOutputMessageTypedDict,
        OpenResponsesFunctionToolCallTypedDict,
        ResponsesOutputItemReasoningTypedDict,
        ResponsesOutputItemFunctionCallTypedDict,
        OpenResponsesReasoningTypedDict,
    ],
)


OpenResponsesInput1 = TypeAliasType(
    "OpenResponsesInput1",
    Union[
        OpenResponsesEasyInputMessage,
        ResponsesWebSearchCallOutput,
        OpenResponsesInputMessageItem,
        ResponsesOutputItemFileSearchCall,
        ResponsesImageGenerationCall,
        OpenResponsesFunctionCallOutput,
        ResponsesOutputMessage,
        OpenResponsesFunctionToolCall,
        ResponsesOutputItemReasoning,
        ResponsesOutputItemFunctionCall,
        OpenResponsesReasoning,
    ],
)


OpenResponsesInputTypedDict = TypeAliasType(
    "OpenResponsesInputTypedDict", Union[str, List[OpenResponsesInput1TypedDict]]
)
r"""Input for a response request - can be a string or array of items"""


OpenResponsesInput = TypeAliasType(
    "OpenResponsesInput", Union[str, List[OpenResponsesInput1]]
)
r"""Input for a response request - can be a string or array of items"""
