"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
# @generated-id: c9427208725d

from __future__ import annotations
from mollie.types import BaseModel
import pydantic
from typing_extensions import Annotated, TypedDict


class TransferPartyAccountTypedDict(TypedDict):
    r"""The bank account details of the party."""

    iban: str
    r"""The IBAN (International Bank Account Number) of the account holder."""


class TransferPartyAccount(BaseModel):
    r"""The bank account details of the party."""

    iban: str
    r"""The IBAN (International Bank Account Number) of the account holder."""


class TransferPartyTypedDict(TypedDict):
    r"""A party involved in the transfer, representing either the debtor (sender) or creditor (recipient).
    Contains the party's name and account details.
    """

    full_name: str
    r"""The full name of the account holder."""
    account: TransferPartyAccountTypedDict
    r"""The bank account details of the party."""


class TransferParty(BaseModel):
    r"""A party involved in the transfer, representing either the debtor (sender) or creditor (recipient).
    Contains the party's name and account details.
    """

    full_name: Annotated[str, pydantic.Field(alias="fullName")]
    r"""The full name of the account holder."""

    account: TransferPartyAccount
    r"""The bank account details of the party."""


try:
    TransferParty.model_rebuild()
except NameError:
    pass
