"""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


V3WorkflowsSlackMessageChannelUpdateName = Literal["slack_message_channel",]


class V3WorkflowsSlackMessageChannelUpdateDataTypedDict(TypedDict):
    channel_id: NotRequired[str]
    channel_name: NotRequired[str]
    message: NotRequired[str]


class V3WorkflowsSlackMessageChannelUpdateData(BaseModel):
    channel_id: Optional[str] = None

    channel_name: Optional[str] = None

    message: Optional[str] = None


class V3WorkflowsSlackMessageChannelUpdateTypedDict(TypedDict):
    name: V3WorkflowsSlackMessageChannelUpdateName
    data: NotRequired[V3WorkflowsSlackMessageChannelUpdateDataTypedDict]


class V3WorkflowsSlackMessageChannelUpdate(BaseModel):
    name: V3WorkflowsSlackMessageChannelUpdateName

    data: Optional[V3WorkflowsSlackMessageChannelUpdateData] = None
