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

from __future__ import annotations
from .amountdecimal import AmountDecimal, AmountDecimalTypedDict
from moovio_sdk.types import BaseModel
import pydantic
from typing_extensions import Annotated, TypedDict, deprecated


@deprecated(
    "warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
)
class PlatformFeesTypedDict(TypedDict):
    r"""A detailed breakdown of platform fees. This field is deprecated and will be removed in a future release. Use accountFees."""

    wallet_fee: AmountDecimalTypedDict
    r"""Fees associated with wallet services."""
    merchant_pci_fee: AmountDecimalTypedDict
    r"""Fees for PCI compliance."""
    total: AmountDecimalTypedDict
    r"""Total platform fees."""


@deprecated(
    "warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
)
class PlatformFees(BaseModel):
    r"""A detailed breakdown of platform fees. This field is deprecated and will be removed in a future release. Use accountFees."""

    wallet_fee: Annotated[AmountDecimal, pydantic.Field(alias="walletFee")]
    r"""Fees associated with wallet services."""

    merchant_pci_fee: Annotated[AmountDecimal, pydantic.Field(alias="merchantPCIFee")]
    r"""Fees for PCI compliance."""

    total: AmountDecimal
    r"""Total platform fees."""


try:
    PlatformFees.model_rebuild()
except NameError:
    pass
