import type { Identify, MakeRequired } from '../../common'; import type { APIAttachment, Snowflake } from '..'; import type { ChannelType } from '../utils'; /** * https://discord.com/developers/docs/interactions/message-components#component-object */ export interface APIBaseComponent { /** * The type of the component */ type: T; } /** * https://discord.com/developers/docs/interactions/message-components#component-object-component-types */ export declare enum ComponentType { /** * Action Row component */ ActionRow = 1, /** * Button component */ Button = 2, /** * Select menu for picking from defined text options */ StringSelect = 3, /** * Text Input component */ TextInput = 4, /** * Select menu for users */ UserSelect = 5, /** * Select menu for roles */ RoleSelect = 6, /** * Select menu for users and roles */ MentionableSelect = 7, /** * Select menu for channels */ ChannelSelect = 8, /** * Section for accessory */ Section = 9, /** * Text display component */ TextDisplay = 10, /** * Thumbnail component */ Thumbnail = 11, /** * Media Gallery component */ MediaGallery = 12, /** * File component */ File = 13, /** * Separator component */ Separator = 14, /** * Container component */ Container = 17, /** * Label component */ Label = 18, /** * File upload component */ FileUpload = 19, /** * Single-choice set of options */ RadioGroup = 21, /** * Multi-selectable group of checkboxes */ CheckboxGroup = 22, /** * Single checkbox for yes/no choice */ Checkbox = 23 } /** * https://discord.com/developers/docs/interactions/message-components#action-rows */ export interface APIActionRowComponent extends APIBaseComponent { /** * The components in the ActionRow */ components: T[]; } /** * https://discord.com/developers/docs/interactions/message-components#buttons */ export interface APIButtonComponentBase