import { type UserIdResolvable } from '@twurple/common'; import { type HelixChatAnnouncementColor } from './chat.external'; import { type HelixForwardPagination } from '../../utils/pagination/HelixPagination'; /** * An update request for a broadcaster's chat settings. */ export interface HelixUpdateChatSettingsParams { /** * Whether slow mode should be enabled. */ slowModeEnabled?: boolean; /** * The time to wait between messages in slow mode, in seconds. */ slowModeDelay?: number; /** * Whether follower only mode should be enabled. */ followerOnlyModeEnabled?: boolean; /** * The time after which users should be able to send messages after following, in minutes. */ followerOnlyModeDelay?: number; /** * Whether subscriber only mode should be enabled. */ subscriberOnlyModeEnabled?: boolean; /** * Whether emote only mode should be enabled. */ emoteOnlyModeEnabled?: boolean; /** * Whether unique chat mode should be enabled. */ uniqueChatModeEnabled?: boolean; /** * Whether non-moderator messages should be delayed. */ nonModeratorChatDelayEnabled?: boolean; /** * The delay of non-moderator messages, in seconds. */ nonModeratorChatDelay?: number; } /** * A request to send a message to a broadcaster's chat. */ export interface HelixSendChatMessageParams { /** * The ID of the chat message being replied to. If this is not set, message will not be sent as a reply. */ replyParentMessageId?: string; } /** * A request to send an announcement to a broadcaster's chat. */ export interface HelixSendChatAnnouncementParams { /** * The announcement to make in the broadcaster's chat room. Announcements are limited to a maximum of 500 characters; announcements longer than 500 characters are truncated. */ message: string; /** * The color used to highlight the announcement. If color is set to `primary` or is not set, the channel’s accent color is used to highlight the announcement. */ color?: HelixChatAnnouncementColor; } export type HelixChatBadgeScale = 1 | 2 | 4; /** * Filters for user emotes queries. */ export interface HelixUserEmotesFilter extends HelixForwardPagination { /** * The ID of a broadcaster you wish to get follower emotes of. Using this query parameter will * guarantee inclusion of the broadcaster’s follower emotes in the response body. * * If the user who retrieves their emotes is subscribed to the broadcaster specified, their follower emotes will * appear in the response body regardless of whether this query parameter is used. */ broadcaster?: UserIdResolvable; } //# sourceMappingURL=chat.input.d.ts.map