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

from __future__ import annotations
from .mmsmessage import MmsMessage, MmsMessageTypedDict
from .price import Price, PriceTypedDict
from gsmservice_gateway.types import BaseModel
from typing import Dict, List, Union
from typing_extensions import TypeAliasType, TypedDict


GetMmsPriceRequestBodyTypedDict = TypeAliasType(
    "GetMmsPriceRequestBodyTypedDict",
    Union[MmsMessageTypedDict, List[MmsMessageTypedDict]],
)
r"""To check the price of a single message or messages with the same content to multiple recipients, pass a single `MmsMessage` object with the properties of this message. To check the price of multiple messages with different content at the same time, pass a `List[MmsMessage]` with the properties of each message."""


GetMmsPriceRequestBody = TypeAliasType(
    "GetMmsPriceRequestBody", Union[MmsMessage, List[MmsMessage]]
)
r"""To check the price of a single message or messages with the same content to multiple recipients, pass a single `MmsMessage` object with the properties of this message. To check the price of multiple messages with different content at the same time, pass a `List[MmsMessage]` with the properties of each message."""


class GetMmsPriceResponseTypedDict(TypedDict):
    headers: Dict[str, List[str]]
    result: List[PriceTypedDict]


class GetMmsPriceResponse(BaseModel):
    headers: Dict[str, List[str]]

    result: List[Price]
