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

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


V3WorkflowsSlackMessageUserUpdateName = Literal["slack_message_user",]


class V3WorkflowsSlackMessageUserUpdateDataTypedDict(TypedDict):
    member_id: NotRequired[str]
    message: NotRequired[str]


class V3WorkflowsSlackMessageUserUpdateData(BaseModel):
    member_id: Optional[str] = None

    message: Optional[str] = None


class V3WorkflowsSlackMessageUserUpdateTypedDict(TypedDict):
    name: V3WorkflowsSlackMessageUserUpdateName
    data: NotRequired[V3WorkflowsSlackMessageUserUpdateDataTypedDict]


class V3WorkflowsSlackMessageUserUpdate(BaseModel):
    name: V3WorkflowsSlackMessageUserUpdateName

    data: Optional[V3WorkflowsSlackMessageUserUpdateData] = None
