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

from __future__ import annotations
from ascend_sdk.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class CancelWireWithdrawalRequestCreateTypedDict(TypedDict):
    r"""Request to cancel an existing wire withdrawal. The cancel will only succeed if the wire has not made it to the SendingToBank state"""

    name: str
    r"""The name of the wire withdrawal to cancel"""
    reason: NotRequired[str]
    r"""The reason why the wire withdrawal is being canceled"""


class CancelWireWithdrawalRequestCreate(BaseModel):
    r"""Request to cancel an existing wire withdrawal. The cancel will only succeed if the wire has not made it to the SendingToBank state"""

    name: str
    r"""The name of the wire withdrawal to cancel"""

    reason: Optional[str] = None
    r"""The reason why the wire withdrawal is being canceled"""
