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

from __future__ import annotations
from .calltoaction import CallToAction
from moovio_sdk.types import BaseModel
import pydantic
from typing_extensions import Annotated, TypedDict


class PaymentLinkDisplayOptionsTypedDict(TypedDict):
    r"""Customizable display options for a payment link."""

    title: str
    r"""The payment page title displayed to the user."""
    description: str
    r"""A payment description displayed to the user."""
    call_to_action: CallToAction
    r"""The text to be displayed on web form's submit button.

    If set to \"auto\" the UI will automatically select between
    \"pay\" and \"confirm\" for payments and payouts respectively.
    """


class PaymentLinkDisplayOptions(BaseModel):
    r"""Customizable display options for a payment link."""

    title: str
    r"""The payment page title displayed to the user."""

    description: str
    r"""A payment description displayed to the user."""

    call_to_action: Annotated[CallToAction, pydantic.Field(alias="callToAction")]
    r"""The text to be displayed on web form's submit button.

    If set to \"auto\" the UI will automatically select between
    \"pay\" and \"confirm\" for payments and payouts respectively.
    """


try:
    PaymentLinkDisplayOptions.model_rebuild()
except NameError:
    pass
