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

from __future__ import annotations
from .recipientbank_bankdetailscreate import (
    RecipientBankBankDetailsCreate,
    RecipientBankBankDetailsCreateTypedDict,
)
from .recipientbank_bankidcreate import (
    RecipientBankBankIDCreate,
    RecipientBankBankIDCreateTypedDict,
)
from ascend_sdk.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class WireWithdrawalRecipientBankCreateTypedDict(TypedDict):
    r"""A recipient bank / financial institution"""

    bank_id: RecipientBankBankIDCreateTypedDict
    r"""A bank identifier"""
    international_bank_details: NotRequired[RecipientBankBankDetailsCreateTypedDict]
    r"""Bank details"""


class WireWithdrawalRecipientBankCreate(BaseModel):
    r"""A recipient bank / financial institution"""

    bank_id: RecipientBankBankIDCreate
    r"""A bank identifier"""

    international_bank_details: Optional[RecipientBankBankDetailsCreate] = None
    r"""Bank details"""
