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

from __future__ import annotations
from .addresscreate import AddressCreate, AddressCreateTypedDict
from ascend_sdk.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class RecipientBankBankDetailsCreateTypedDict(TypedDict):
    r"""Bank details"""

    address: AddressCreateTypedDict
    r"""The data structure containing attributes describing the location of an underlying entity."""
    bank_name: str
    r"""The name of the recipient bank / financial institution"""
    additional_info: NotRequired[str]
    r"""Any additional information to be communicated to the recipient bank, such as intermediary banks to be used."""


class RecipientBankBankDetailsCreate(BaseModel):
    r"""Bank details"""

    address: AddressCreate
    r"""The data structure containing attributes describing the location of an underlying entity."""

    bank_name: str
    r"""The name of the recipient bank / financial institution"""

    additional_info: Optional[str] = None
    r"""Any additional information to be communicated to the recipient bank, such as intermediary banks to be used."""
