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

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


class MXAuthorizationCodeTypedDict(TypedDict):
    r"""The authorization code of a MX account which allows a processor to retrieve a linked payment account.

    `sandbox` - When linking a bank account to a `sandbox` account using a MX authorization code it will utilize MX's sandbox environment.
    The MX authorization code provided must be generated from MX's sandbox environment.
    """

    authorization_code: str


class MXAuthorizationCode(BaseModel):
    r"""The authorization code of a MX account which allows a processor to retrieve a linked payment account.

    `sandbox` - When linking a bank account to a `sandbox` account using a MX authorization code it will utilize MX's sandbox environment.
    The MX authorization code provided must be generated from MX's sandbox environment.
    """

    authorization_code: Annotated[str, pydantic.Field(alias="authorizationCode")]


try:
    MXAuthorizationCode.model_rebuild()
except NameError:
    pass
