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

from __future__ import annotations

import typing

import pydantic
import typing_extensions
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from ...core.serialization import FieldMetadata
from .document_information import DocumentInformation
from .entity_id import EntityId


class InboxItemFix_AddDocument(UniversalBaseModel):
    type: typing.Literal["addDocument"] = "addDocument"
    suggested_text_title: typing_extensions.Annotated[str, FieldMetadata(alias="suggestedTextTitle")]
    suggested_text: typing_extensions.Annotated[str, FieldMetadata(alias="suggestedText")]
    id: EntityId

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow


class InboxItemFix_DeactivateDocument(UniversalBaseModel):
    type: typing.Literal["deactivateDocument"] = "deactivateDocument"
    document_information: typing_extensions.Annotated[DocumentInformation, FieldMetadata(alias="documentInformation")]
    id: EntityId

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow


InboxItemFix = typing.Union[InboxItemFix_AddDocument, InboxItemFix_DeactivateDocument]
