# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations

from typing import Union
from typing_extensions import Required, TypeAlias, TypedDict

from .slack_settings_param import SlackSettingsParam
from .mobile_push_settings_param import MobilePushSettingsParam

__all__ = ["ChannelSettingUpdateParams", "Settings"]


class ChannelSettingUpdateParams(TypedDict, total=False):
    user_external_id: Required[str]

    settings: Required[Settings]
    """Provider-specific settings. Structure depends on channel provider."""


Settings: TypeAlias = Union[MobilePushSettingsParam, SlackSettingsParam]
