# 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 .send_rcs_card_options_standalone_card_image_alignment import SendRcsCardOptionsStandaloneCardImageAlignment
from .send_rcs_card_options_standalone_card_orientation import SendRcsCardOptionsStandaloneCardOrientation


class RichStandaloneCardOptions(UniversalBaseModel):
    """
    Configure standalone card layout options for enhanced visual presentation.

    > **⚠️ Important Restriction**
    >
    > This option is **only valid for single card messages** with static media. Using it with multiple cards will cause the request to fail with a validation error.
    > GIFs and videos are not supported and will be rendered as vertical cards.
    """

    orientation: typing.Optional[SendRcsCardOptionsStandaloneCardOrientation] = pydantic.Field(default=None)
    """
    The orientation of the standalone card.
    """

    image_alignment: typing.Optional[SendRcsCardOptionsStandaloneCardImageAlignment] = pydantic.Field(default=None)
    """
    The alignment of the image in the standalone card. This field is ignored if orientation is VERTICAL.
    """

    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
