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

from __future__ import annotations
from ascend_sdk.types import BaseModel
from enum import Enum
from typing_extensions import TypedDict


class Mechanism(str, Enum):
    r"""Cash transfer mechanism to search constraints for"""

    ACH = "ACH"
    ICT = "ICT"


class RetrieveContributionConstraintsRequestCreateTypedDict(TypedDict):
    r"""Request to retrieve retirement contribution constraints"""

    mechanism: Mechanism
    r"""Cash transfer mechanism to search constraints for"""
    name: str
    r"""Name of the account being queried, for retirement contribution constraints Format: accounts/{account}"""


class RetrieveContributionConstraintsRequestCreate(BaseModel):
    r"""Request to retrieve retirement contribution constraints"""

    mechanism: Mechanism
    r"""Cash transfer mechanism to search constraints for"""

    name: str
    r"""Name of the account being queried, for retirement contribution constraints Format: accounts/{account}"""
