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

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from .final_scores import FinalScores
from .helios_one_workflow_output import HeliosOneWorkflowOutput
from .initial_scores import InitialScores
from .workflow_error import WorkflowError


class TheiaOutput(UniversalBaseModel):
    errors: typing.Optional[typing.List[WorkflowError]] = None
    final_scores: typing.Optional[FinalScores] = None
    initial_scores: typing.Optional[InitialScores] = None
    merged_text: str
    original_text: str
    results: typing.List[HeliosOneWorkflowOutput]

    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
