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

from __future__ import annotations
from .buttontypeenum import ButtonTypeEnum
from novu_py.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class PayloadTypedDict(TypedDict):
    r"""Payload of the action result"""


class Payload(BaseModel):
    r"""Payload of the action result"""


class MessageActionResultTypedDict(TypedDict):
    payload: NotRequired[PayloadTypedDict]
    r"""Payload of the action result"""
    type: NotRequired[ButtonTypeEnum]
    r"""Type of button for the action result"""


class MessageActionResult(BaseModel):
    payload: Optional[Payload] = None
    r"""Payload of the action result"""

    type: Optional[ButtonTypeEnum] = None
    r"""Type of button for the action result"""
