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

from __future__ import annotations
from .billingcountandamount import BillingCountAndAmount, BillingCountAndAmountTypedDict
from moovio_sdk.types import BaseModel
import pydantic
from typing_extensions import Annotated, TypedDict


class OtherCardFeesTypedDict(TypedDict):
    r"""A detailed breakdown of other card-related fees."""

    disputes: BillingCountAndAmountTypedDict
    r"""Fees for disputes."""
    card_account_updater: BillingCountAndAmountTypedDict
    r"""Fees for card account updater services."""
    card_verification: BillingCountAndAmountTypedDict
    r"""Fees for card verification."""
    name_verification: BillingCountAndAmountTypedDict
    r"""Fees for name verification."""
    total: BillingCountAndAmountTypedDict
    r"""Total other card fees."""


class OtherCardFees(BaseModel):
    r"""A detailed breakdown of other card-related fees."""

    disputes: BillingCountAndAmount
    r"""Fees for disputes."""

    card_account_updater: Annotated[
        BillingCountAndAmount, pydantic.Field(alias="cardAccountUpdater")
    ]
    r"""Fees for card account updater services."""

    card_verification: Annotated[
        BillingCountAndAmount, pydantic.Field(alias="cardVerification")
    ]
    r"""Fees for card verification."""

    name_verification: Annotated[
        BillingCountAndAmount, pydantic.Field(alias="nameVerification")
    ]
    r"""Fees for name verification."""

    total: BillingCountAndAmount
    r"""Total other card fees."""


try:
    OtherCardFees.model_rebuild()
except NameError:
    pass
