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

import typing

import pydantic
from ..core.pydantic_utilities import UniversalBaseModel
from .text_review_annotation_bounds import TextReviewAnnotationBounds
from .text_review_annotation_update_text_review_annotation_type import (
    TextReviewAnnotationUpdateTextReviewAnnotationType,
)


class TextReviewAnnotationUpdate(UniversalBaseModel):
    """
    Payload for updating an existing text review annotation.
    """

    bounds: typing.Optional[typing.List[TextReviewAnnotationBounds]] = pydantic.Field(default=None)
    """
    Optional bounds array. When omitted, previously stored bounds are preserved.
    """

    selection_text: typing.Optional[str] = pydantic.Field(default=None)
    """
    Optional selection text override.
    """

    suggested_text: typing.Optional[str] = pydantic.Field(default=None)
    """
    Optional suggestion override.
    """

    text_review_annotation_type: typing.Optional[TextReviewAnnotationUpdateTextReviewAnnotationType] = pydantic.Field(
        default=None
    )
    """
    Optional annotation type override.
    """

    model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
