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

from __future__ import annotations
from .wallettype import WalletType
from moovio_sdk.types import BaseModel
import pydantic
from typing_extensions import Annotated, TypedDict


class TransferPaymentMethodsWalletTypedDict(TypedDict):
    wallet_id: str
    partner_account_id: str
    wallet_type: WalletType
    r"""Type of a wallet.
    - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
    - `general`: An additional, user-defined wallet created via API or Dashboard.
    """


class TransferPaymentMethodsWallet(BaseModel):
    wallet_id: Annotated[str, pydantic.Field(alias="walletID")]

    partner_account_id: Annotated[str, pydantic.Field(alias="partnerAccountID")]

    wallet_type: Annotated[WalletType, pydantic.Field(alias="walletType")]
    r"""Type of a wallet.
    - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
    - `general`: An additional, user-defined wallet created via API or Dashboard.
    """


try:
    TransferPaymentMethodsWallet.model_rebuild()
except NameError:
    pass
