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

from __future__ import annotations
from .cardbrandfees import CardBrandFees, CardBrandFeesTypedDict
from moovio_sdk.types import BaseModel
import pydantic
from typing_extensions import Annotated, TypedDict


class CardAcquiringFeesTypedDict(TypedDict):
    r"""A detailed breakdown of card acquiring fees by card brand."""

    visa: CardBrandFeesTypedDict
    r"""Fees associated with Visa transactions."""
    mastercard: CardBrandFeesTypedDict
    r"""Fees associated with Mastercard transactions."""
    discover: CardBrandFeesTypedDict
    r"""Fees associated with Discover transactions."""
    american_express: CardBrandFeesTypedDict
    r"""Fees associated with American Express transactions."""


class CardAcquiringFees(BaseModel):
    r"""A detailed breakdown of card acquiring fees by card brand."""

    visa: CardBrandFees
    r"""Fees associated with Visa transactions."""

    mastercard: CardBrandFees
    r"""Fees associated with Mastercard transactions."""

    discover: CardBrandFees
    r"""Fees associated with Discover transactions."""

    american_express: Annotated[CardBrandFees, pydantic.Field(alias="americanExpress")]
    r"""Fees associated with American Express transactions."""


try:
    CardAcquiringFees.model_rebuild()
except NameError:
    pass
