@discordjs/builders 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _sapphire_shapeshift from '@sapphire/shapeshift';
2
- import { APIEmbedField, APIEmbedAuthor, APIEmbedFooter, APIEmbedImage, APIEmbed, APISelectMenuOption, APIMessageComponentEmoji, ButtonStyle, ChannelType, APIActionRowComponent, APIActionRowComponentTypes, APIBaseComponent, ComponentType, APIButtonComponent, Snowflake, APISelectMenuComponent, APIChannelSelectComponent, APIMentionableSelectComponent, APISelectMenuDefaultValue, SelectMenuDefaultValueType, APIRoleSelectComponent, APIStringSelectComponent, APIUserSelectComponent, APITextInputComponent, TextInputStyle, APIMessageActionRowComponent, APIModalActionRowComponent, APIModalComponent, APIMessageComponent, APIModalInteractionResponseCallbackData, LocalizationMap, LocaleString, InteractionContextType, Permissions, ApplicationIntegrationType, RESTPostAPIChatInputApplicationCommandsJSONBody, ApplicationCommandOptionType, APIApplicationCommandBasicOption, APIApplicationCommandAttachmentOption, APIApplicationCommandBooleanOption, APIApplicationCommandChannelOption, APIApplicationCommandOptionChoice, APIApplicationCommandIntegerOption, APIApplicationCommandMentionableOption, APIApplicationCommandNumberOption, APIApplicationCommandRoleOption, APIApplicationCommandStringOption, APIApplicationCommandUserOption, APIApplicationCommandSubcommandGroupOption, APIApplicationCommandSubcommandOption, APIApplicationCommandOption, Locale, ApplicationCommandType, RESTPostAPIContextMenuApplicationCommandsJSONBody } from 'discord-api-types/v10';
2
+ import { APIEmbedField, APIEmbedAuthor, APIEmbedFooter, APIEmbedImage, APIEmbed, APISelectMenuOption, APIMessageComponentEmoji, ButtonStyle, ChannelType, APIActionRowComponent, APIComponentInActionRow, APIMessageComponent, APIBaseComponent, ComponentType, APIButtonComponent, Snowflake, APISelectMenuComponent, APIChannelSelectComponent, APIMentionableSelectComponent, APISelectMenuDefaultValue, SelectMenuDefaultValueType, APIRoleSelectComponent, APIStringSelectComponent, APIUserSelectComponent, APITextInputComponent, TextInputStyle, APIComponentInMessageActionRow, APIComponentInModalActionRow, APIFileComponent, APISeparatorComponent, SeparatorSpacingSize, APITextDisplayComponent, APIContainerComponent, APIMediaGalleryComponent, APISectionComponent, APIComponentInContainer, APIMediaGalleryItem, APIThumbnailComponent, APIModalComponent, APIModalInteractionResponseCallbackData, LocalizationMap, LocaleString, InteractionContextType, Permissions, ApplicationIntegrationType, RESTPostAPIChatInputApplicationCommandsJSONBody, ApplicationCommandOptionType, APIApplicationCommandBasicOption, APIApplicationCommandAttachmentOption, APIApplicationCommandBooleanOption, APIApplicationCommandChannelOption, APIApplicationCommandOptionChoice, APIApplicationCommandIntegerOption, APIApplicationCommandMentionableOption, APIApplicationCommandNumberOption, APIApplicationCommandRoleOption, APIApplicationCommandStringOption, APIApplicationCommandUserOption, APIApplicationCommandSubcommandGroupOption, APIApplicationCommandSubcommandOption, APIApplicationCommandOption, Locale, ApplicationCommandType, RESTPostAPIContextMenuApplicationCommandsJSONBody } from 'discord-api-types/v10';
3
3
  export * from '@discordjs/formatters';
4
4
  import { JSONEncodable, Equatable } from '@discordjs/util';
5
5
 
@@ -40,7 +40,7 @@ declare const embedAuthorPredicate: _sapphire_shapeshift.ObjectValidator<{
40
40
  }>>;
41
41
  declare const RGBPredicate: _sapphire_shapeshift.NumberValidator<number>;
42
42
  declare const colorPredicate: _sapphire_shapeshift.UnionValidator<number | [number, number, number] | null>;
43
- declare const descriptionPredicate: _sapphire_shapeshift.UnionValidator<string | null>;
43
+ declare const descriptionPredicate$1: _sapphire_shapeshift.UnionValidator<string | null>;
44
44
  declare const footerTextPredicate: _sapphire_shapeshift.UnionValidator<string | null>;
45
45
  declare const embedFooterPredicate: _sapphire_shapeshift.ObjectValidator<{
46
46
  text: string | null;
@@ -52,26 +52,25 @@ declare const embedFooterPredicate: _sapphire_shapeshift.ObjectValidator<{
52
52
  declare const timestampPredicate: _sapphire_shapeshift.UnionValidator<number | Date | null>;
53
53
  declare const titlePredicate: _sapphire_shapeshift.UnionValidator<string | null>;
54
54
 
55
- declare const Assertions$5_RGBPredicate: typeof RGBPredicate;
56
- declare const Assertions$5_authorNamePredicate: typeof authorNamePredicate;
57
- declare const Assertions$5_colorPredicate: typeof colorPredicate;
58
- declare const Assertions$5_descriptionPredicate: typeof descriptionPredicate;
59
- declare const Assertions$5_embedAuthorPredicate: typeof embedAuthorPredicate;
60
- declare const Assertions$5_embedFieldPredicate: typeof embedFieldPredicate;
61
- declare const Assertions$5_embedFieldsArrayPredicate: typeof embedFieldsArrayPredicate;
62
- declare const Assertions$5_embedFooterPredicate: typeof embedFooterPredicate;
63
- declare const Assertions$5_fieldInlinePredicate: typeof fieldInlinePredicate;
64
- declare const Assertions$5_fieldLengthPredicate: typeof fieldLengthPredicate;
65
- declare const Assertions$5_fieldNamePredicate: typeof fieldNamePredicate;
66
- declare const Assertions$5_fieldValuePredicate: typeof fieldValuePredicate;
67
- declare const Assertions$5_footerTextPredicate: typeof footerTextPredicate;
68
- declare const Assertions$5_imageURLPredicate: typeof imageURLPredicate;
69
- declare const Assertions$5_timestampPredicate: typeof timestampPredicate;
70
- declare const Assertions$5_titlePredicate: typeof titlePredicate;
71
- declare const Assertions$5_urlPredicate: typeof urlPredicate;
72
- declare const Assertions$5_validateFieldLength: typeof validateFieldLength;
73
- declare namespace Assertions$5 {
74
- export { Assertions$5_RGBPredicate as RGBPredicate, Assertions$5_authorNamePredicate as authorNamePredicate, Assertions$5_colorPredicate as colorPredicate, Assertions$5_descriptionPredicate as descriptionPredicate, Assertions$5_embedAuthorPredicate as embedAuthorPredicate, Assertions$5_embedFieldPredicate as embedFieldPredicate, Assertions$5_embedFieldsArrayPredicate as embedFieldsArrayPredicate, Assertions$5_embedFooterPredicate as embedFooterPredicate, Assertions$5_fieldInlinePredicate as fieldInlinePredicate, Assertions$5_fieldLengthPredicate as fieldLengthPredicate, Assertions$5_fieldNamePredicate as fieldNamePredicate, Assertions$5_fieldValuePredicate as fieldValuePredicate, Assertions$5_footerTextPredicate as footerTextPredicate, Assertions$5_imageURLPredicate as imageURLPredicate, Assertions$5_timestampPredicate as timestampPredicate, Assertions$5_titlePredicate as titlePredicate, Assertions$5_urlPredicate as urlPredicate, Assertions$5_validateFieldLength as validateFieldLength };
55
+ declare const Assertions$6_RGBPredicate: typeof RGBPredicate;
56
+ declare const Assertions$6_authorNamePredicate: typeof authorNamePredicate;
57
+ declare const Assertions$6_colorPredicate: typeof colorPredicate;
58
+ declare const Assertions$6_embedAuthorPredicate: typeof embedAuthorPredicate;
59
+ declare const Assertions$6_embedFieldPredicate: typeof embedFieldPredicate;
60
+ declare const Assertions$6_embedFieldsArrayPredicate: typeof embedFieldsArrayPredicate;
61
+ declare const Assertions$6_embedFooterPredicate: typeof embedFooterPredicate;
62
+ declare const Assertions$6_fieldInlinePredicate: typeof fieldInlinePredicate;
63
+ declare const Assertions$6_fieldLengthPredicate: typeof fieldLengthPredicate;
64
+ declare const Assertions$6_fieldNamePredicate: typeof fieldNamePredicate;
65
+ declare const Assertions$6_fieldValuePredicate: typeof fieldValuePredicate;
66
+ declare const Assertions$6_footerTextPredicate: typeof footerTextPredicate;
67
+ declare const Assertions$6_imageURLPredicate: typeof imageURLPredicate;
68
+ declare const Assertions$6_timestampPredicate: typeof timestampPredicate;
69
+ declare const Assertions$6_titlePredicate: typeof titlePredicate;
70
+ declare const Assertions$6_urlPredicate: typeof urlPredicate;
71
+ declare const Assertions$6_validateFieldLength: typeof validateFieldLength;
72
+ declare namespace Assertions$6 {
73
+ export { Assertions$6_RGBPredicate as RGBPredicate, Assertions$6_authorNamePredicate as authorNamePredicate, Assertions$6_colorPredicate as colorPredicate, descriptionPredicate$1 as descriptionPredicate, Assertions$6_embedAuthorPredicate as embedAuthorPredicate, Assertions$6_embedFieldPredicate as embedFieldPredicate, Assertions$6_embedFieldsArrayPredicate as embedFieldsArrayPredicate, Assertions$6_embedFooterPredicate as embedFooterPredicate, Assertions$6_fieldInlinePredicate as fieldInlinePredicate, Assertions$6_fieldLengthPredicate as fieldLengthPredicate, Assertions$6_fieldNamePredicate as fieldNamePredicate, Assertions$6_fieldValuePredicate as fieldValuePredicate, Assertions$6_footerTextPredicate as footerTextPredicate, Assertions$6_imageURLPredicate as imageURLPredicate, Assertions$6_timestampPredicate as timestampPredicate, Assertions$6_titlePredicate as titlePredicate, Assertions$6_urlPredicate as urlPredicate, Assertions$6_validateFieldLength as validateFieldLength };
75
74
  }
76
75
 
77
76
  /**
@@ -346,6 +345,7 @@ declare class StringSelectMenuOptionBuilder implements JSONEncodable<APISelectMe
346
345
  toJSON(): APISelectMenuOption;
347
346
  }
348
347
 
348
+ declare const idValidator: _sapphire_shapeshift.NumberValidator<number>;
349
349
  declare const customIdValidator: _sapphire_shapeshift.StringValidator<string>;
350
350
  declare const emojiValidator: _sapphire_shapeshift.ObjectValidator<{
351
351
  name?: string | undefined;
@@ -393,31 +393,32 @@ declare const channelTypesValidator: _sapphire_shapeshift.ArrayValidator<Channel
393
393
  declare const urlValidator: _sapphire_shapeshift.StringValidator<string>;
394
394
  declare function validateRequiredButtonParameters(style?: ButtonStyle, label?: string, emoji?: APIMessageComponentEmoji, customId?: string, skuId?: string, url?: string): void;
395
395
 
396
- declare const Assertions$4_buttonLabelValidator: typeof buttonLabelValidator;
397
- declare const Assertions$4_buttonStyleValidator: typeof buttonStyleValidator;
398
- declare const Assertions$4_channelTypesValidator: typeof channelTypesValidator;
399
- declare const Assertions$4_customIdValidator: typeof customIdValidator;
400
- declare const Assertions$4_defaultValidator: typeof defaultValidator;
401
- declare const Assertions$4_disabledValidator: typeof disabledValidator;
402
- declare const Assertions$4_emojiValidator: typeof emojiValidator;
403
- declare const Assertions$4_jsonOptionValidator: typeof jsonOptionValidator;
404
- declare const Assertions$4_labelValueDescriptionValidator: typeof labelValueDescriptionValidator;
405
- declare const Assertions$4_minMaxValidator: typeof minMaxValidator;
406
- declare const Assertions$4_optionValidator: typeof optionValidator;
407
- declare const Assertions$4_optionsLengthValidator: typeof optionsLengthValidator;
408
- declare const Assertions$4_optionsValidator: typeof optionsValidator;
409
- declare const Assertions$4_urlValidator: typeof urlValidator;
410
- declare const Assertions$4_validateRequiredButtonParameters: typeof validateRequiredButtonParameters;
411
- declare const Assertions$4_validateRequiredSelectMenuOptionParameters: typeof validateRequiredSelectMenuOptionParameters;
412
- declare const Assertions$4_validateRequiredSelectMenuParameters: typeof validateRequiredSelectMenuParameters;
413
- declare namespace Assertions$4 {
414
- export { Assertions$4_buttonLabelValidator as buttonLabelValidator, Assertions$4_buttonStyleValidator as buttonStyleValidator, Assertions$4_channelTypesValidator as channelTypesValidator, Assertions$4_customIdValidator as customIdValidator, Assertions$4_defaultValidator as defaultValidator, Assertions$4_disabledValidator as disabledValidator, Assertions$4_emojiValidator as emojiValidator, Assertions$4_jsonOptionValidator as jsonOptionValidator, Assertions$4_labelValueDescriptionValidator as labelValueDescriptionValidator, Assertions$4_minMaxValidator as minMaxValidator, Assertions$4_optionValidator as optionValidator, Assertions$4_optionsLengthValidator as optionsLengthValidator, Assertions$4_optionsValidator as optionsValidator, placeholderValidator$1 as placeholderValidator, Assertions$4_urlValidator as urlValidator, Assertions$4_validateRequiredButtonParameters as validateRequiredButtonParameters, Assertions$4_validateRequiredSelectMenuOptionParameters as validateRequiredSelectMenuOptionParameters, Assertions$4_validateRequiredSelectMenuParameters as validateRequiredSelectMenuParameters };
396
+ declare const Assertions$5_buttonLabelValidator: typeof buttonLabelValidator;
397
+ declare const Assertions$5_buttonStyleValidator: typeof buttonStyleValidator;
398
+ declare const Assertions$5_channelTypesValidator: typeof channelTypesValidator;
399
+ declare const Assertions$5_customIdValidator: typeof customIdValidator;
400
+ declare const Assertions$5_defaultValidator: typeof defaultValidator;
401
+ declare const Assertions$5_disabledValidator: typeof disabledValidator;
402
+ declare const Assertions$5_emojiValidator: typeof emojiValidator;
403
+ declare const Assertions$5_idValidator: typeof idValidator;
404
+ declare const Assertions$5_jsonOptionValidator: typeof jsonOptionValidator;
405
+ declare const Assertions$5_labelValueDescriptionValidator: typeof labelValueDescriptionValidator;
406
+ declare const Assertions$5_minMaxValidator: typeof minMaxValidator;
407
+ declare const Assertions$5_optionValidator: typeof optionValidator;
408
+ declare const Assertions$5_optionsLengthValidator: typeof optionsLengthValidator;
409
+ declare const Assertions$5_optionsValidator: typeof optionsValidator;
410
+ declare const Assertions$5_urlValidator: typeof urlValidator;
411
+ declare const Assertions$5_validateRequiredButtonParameters: typeof validateRequiredButtonParameters;
412
+ declare const Assertions$5_validateRequiredSelectMenuOptionParameters: typeof validateRequiredSelectMenuOptionParameters;
413
+ declare const Assertions$5_validateRequiredSelectMenuParameters: typeof validateRequiredSelectMenuParameters;
414
+ declare namespace Assertions$5 {
415
+ export { Assertions$5_buttonLabelValidator as buttonLabelValidator, Assertions$5_buttonStyleValidator as buttonStyleValidator, Assertions$5_channelTypesValidator as channelTypesValidator, Assertions$5_customIdValidator as customIdValidator, Assertions$5_defaultValidator as defaultValidator, Assertions$5_disabledValidator as disabledValidator, Assertions$5_emojiValidator as emojiValidator, Assertions$5_idValidator as idValidator, Assertions$5_jsonOptionValidator as jsonOptionValidator, Assertions$5_labelValueDescriptionValidator as labelValueDescriptionValidator, Assertions$5_minMaxValidator as minMaxValidator, Assertions$5_optionValidator as optionValidator, Assertions$5_optionsLengthValidator as optionsLengthValidator, Assertions$5_optionsValidator as optionsValidator, placeholderValidator$1 as placeholderValidator, Assertions$5_urlValidator as urlValidator, Assertions$5_validateRequiredButtonParameters as validateRequiredButtonParameters, Assertions$5_validateRequiredSelectMenuOptionParameters as validateRequiredSelectMenuOptionParameters, Assertions$5_validateRequiredSelectMenuParameters as validateRequiredSelectMenuParameters };
415
416
  }
416
417
 
417
418
  /**
418
419
  * Any action row component data represented as an object.
419
420
  */
420
- type AnyAPIActionRowComponent = APIActionRowComponent<APIActionRowComponentTypes> | APIActionRowComponentTypes;
421
+ type AnyAPIActionRowComponent = APIActionRowComponent<APIComponentInActionRow> | APIComponentInActionRow | APIMessageComponent;
421
422
  /**
422
423
  * The base component builder that contains common symbols for all sorts of components.
423
424
  *
@@ -442,6 +443,16 @@ declare abstract class ComponentBuilder<DataType extends Partial<APIBaseComponen
442
443
  * @param data - The data to construct a component out of
443
444
  */
444
445
  constructor(data: Partial<DataType>);
446
+ /**
447
+ * Sets the id (not the custom id) for this component.
448
+ *
449
+ * @param id - The id for this component
450
+ */
451
+ setId(id: number): this;
452
+ /**
453
+ * Clears the id of this component, defaulting to a default incremented id.
454
+ */
455
+ clearId(): this;
445
456
  }
446
457
 
447
458
  /**
@@ -940,10 +951,6 @@ declare class TextInputBuilder extends ComponentBuilder<APITextInputComponent> i
940
951
  equals(other: APITextInputComponent | JSONEncodable<APITextInputComponent>): boolean;
941
952
  }
942
953
 
943
- /**
944
- * The builders that may be used for messages.
945
- */
946
- type MessageComponentBuilder = ActionRowBuilder<MessageActionRowComponentBuilder> | MessageActionRowComponentBuilder;
947
954
  /**
948
955
  * The builders that may be used for modals.
949
956
  */
@@ -965,7 +972,7 @@ type AnyComponentBuilder = MessageActionRowComponentBuilder | ModalActionRowComp
965
972
  *
966
973
  * @typeParam ComponentType - The types of components this action row holds
967
974
  */
968
- declare class ActionRowBuilder<ComponentType extends AnyComponentBuilder> extends ComponentBuilder<APIActionRowComponent<APIMessageActionRowComponent | APIModalActionRowComponent>> {
975
+ declare class ActionRowBuilder<ComponentType extends AnyComponentBuilder> extends ComponentBuilder<APIActionRowComponent<APIComponentInMessageActionRow | APIComponentInModalActionRow>> {
969
976
  /**
970
977
  * The components within this action row.
971
978
  */
@@ -1004,7 +1011,7 @@ declare class ActionRowBuilder<ComponentType extends AnyComponentBuilder> extend
1004
1011
  * .addComponents(button2, button3);
1005
1012
  * ```
1006
1013
  */
1007
- constructor({ components, ...data }?: Partial<APIActionRowComponent<APIActionRowComponentTypes>>);
1014
+ constructor({ components, ...data }?: Partial<APIActionRowComponent<APIComponentInActionRow>>);
1008
1015
  /**
1009
1016
  * Adds components to this action row.
1010
1017
  *
@@ -1023,6 +1030,504 @@ declare class ActionRowBuilder<ComponentType extends AnyComponentBuilder> extend
1023
1030
  toJSON(): APIActionRowComponent<ReturnType<ComponentType['toJSON']>>;
1024
1031
  }
1025
1032
 
1033
+ declare class FileBuilder extends ComponentBuilder<APIFileComponent> {
1034
+ /**
1035
+ * Creates a new file from API data.
1036
+ *
1037
+ * @param data - The API data to create this file with
1038
+ * @example
1039
+ * Creating a file from an API data object:
1040
+ * ```ts
1041
+ * const file = new FileBuilder({
1042
+ * spoiler: true,
1043
+ * file: {
1044
+ * url: 'attachment://file.png',
1045
+ * },
1046
+ * });
1047
+ * ```
1048
+ * @example
1049
+ * Creating a file using setters and API data:
1050
+ * ```ts
1051
+ * const file = new FileBuilder({
1052
+ * file: {
1053
+ * url: 'attachment://image.jpg',
1054
+ * },
1055
+ * })
1056
+ * .setSpoiler(false);
1057
+ * ```
1058
+ */
1059
+ constructor(data?: Partial<APIFileComponent>);
1060
+ /**
1061
+ * Sets the spoiler status of this file.
1062
+ *
1063
+ * @param spoiler - The spoiler status to use
1064
+ */
1065
+ setSpoiler(spoiler?: boolean): this;
1066
+ /**
1067
+ * Sets the media URL of this file.
1068
+ *
1069
+ * @param url - The URL to use
1070
+ */
1071
+ setURL(url: string): this;
1072
+ /**
1073
+ * {@inheritDoc ComponentBuilder.toJSON}
1074
+ */
1075
+ toJSON(): APIFileComponent;
1076
+ }
1077
+
1078
+ declare class SeparatorBuilder extends ComponentBuilder<APISeparatorComponent> {
1079
+ /**
1080
+ * Creates a new separator from API data.
1081
+ *
1082
+ * @param data - The API data to create this separator with
1083
+ * @example
1084
+ * Creating a separator from an API data object:
1085
+ * ```ts
1086
+ * const separator = new SeparatorBuilder({
1087
+ * spacing: SeparatorSpacingSize.Small,
1088
+ * divider: true,
1089
+ * });
1090
+ * ```
1091
+ * @example
1092
+ * Creating a separator using setters and API data:
1093
+ * ```ts
1094
+ * const separator = new SeparatorBuilder({
1095
+ * spacing: SeparatorSpacingSize.Large,
1096
+ * })
1097
+ * .setDivider(false);
1098
+ * ```
1099
+ */
1100
+ constructor(data?: Partial<APISeparatorComponent>);
1101
+ /**
1102
+ * Sets whether this separator should show a divider line.
1103
+ *
1104
+ * @param divider - Whether to show a divider line
1105
+ */
1106
+ setDivider(divider?: boolean): this;
1107
+ /**
1108
+ * Sets the spacing of this separator.
1109
+ *
1110
+ * @param spacing - The spacing to use
1111
+ */
1112
+ setSpacing(spacing: SeparatorSpacingSize): this;
1113
+ /**
1114
+ * Clears the spacing of this separator.
1115
+ */
1116
+ clearSpacing(): this;
1117
+ /**
1118
+ * {@inheritDoc ComponentBuilder.toJSON}
1119
+ */
1120
+ toJSON(): APISeparatorComponent;
1121
+ }
1122
+
1123
+ declare class TextDisplayBuilder extends ComponentBuilder<APITextDisplayComponent> {
1124
+ /**
1125
+ * Creates a new text display from API data.
1126
+ *
1127
+ * @param data - The API data to create this text display with
1128
+ * @example
1129
+ * Creating a text display from an API data object:
1130
+ * ```ts
1131
+ * const textDisplay = new TextDisplayBuilder({
1132
+ * content: 'some text',
1133
+ * });
1134
+ * ```
1135
+ * @example
1136
+ * Creating a text display using setters and API data:
1137
+ * ```ts
1138
+ * const textDisplay = new TextDisplayBuilder({
1139
+ * content: 'old text',
1140
+ * })
1141
+ * .setContent('new text');
1142
+ * ```
1143
+ */
1144
+ constructor(data?: Partial<APITextDisplayComponent>);
1145
+ /**
1146
+ * Sets the text of this text display.
1147
+ *
1148
+ * @param content - The text to use
1149
+ */
1150
+ setContent(content: string): this;
1151
+ /**
1152
+ * {@inheritDoc ComponentBuilder.toJSON}
1153
+ */
1154
+ toJSON(): APITextDisplayComponent;
1155
+ }
1156
+
1157
+ /**
1158
+ * The builders that may be used within a container.
1159
+ */
1160
+ type ContainerComponentBuilder = ActionRowBuilder<AnyComponentBuilder> | FileBuilder | MediaGalleryBuilder | SectionBuilder | SeparatorBuilder | TextDisplayBuilder;
1161
+ /**
1162
+ * A builder that creates API-compatible JSON data for a container.
1163
+ */
1164
+ declare class ContainerBuilder extends ComponentBuilder<APIContainerComponent> {
1165
+ /**
1166
+ * The components within this container.
1167
+ */
1168
+ readonly components: ContainerComponentBuilder[];
1169
+ /**
1170
+ * Creates a new container from API data.
1171
+ *
1172
+ * @param data - The API data to create this container with
1173
+ * @example
1174
+ * Creating a container from an API data object:
1175
+ * ```ts
1176
+ * const container = new ContainerBuilder({
1177
+ * components: [
1178
+ * {
1179
+ * content: "Some text here",
1180
+ * type: ComponentType.TextDisplay,
1181
+ * },
1182
+ * ],
1183
+ * });
1184
+ * ```
1185
+ * @example
1186
+ * Creating a container using setters and API data:
1187
+ * ```ts
1188
+ * const container = new ContainerBuilder({
1189
+ * components: [
1190
+ * {
1191
+ * content: "# Heading",
1192
+ * type: ComponentType.TextDisplay,
1193
+ * },
1194
+ * ],
1195
+ * })
1196
+ * .addComponents(separator, section);
1197
+ * ```
1198
+ */
1199
+ constructor({ components, ...data }?: Partial<APIContainerComponent>);
1200
+ /**
1201
+ * Sets the accent color of this container.
1202
+ *
1203
+ * @param color - The color to use
1204
+ */
1205
+ setAccentColor(color?: RGBTuple | number): this;
1206
+ /**
1207
+ * Clears the accent color of this container.
1208
+ */
1209
+ clearAccentColor(): this;
1210
+ /**
1211
+ * Adds action row components to this container.
1212
+ *
1213
+ * @param components - The action row components to add
1214
+ */
1215
+ addActionRowComponents<ComponentType extends MessageActionRowComponentBuilder>(...components: RestOrArray<ActionRowBuilder<ComponentType> | APIActionRowComponent<APIComponentInMessageActionRow> | ((builder: ActionRowBuilder<ComponentType>) => ActionRowBuilder<ComponentType>)>): this;
1216
+ /**
1217
+ * Adds file components to this container.
1218
+ *
1219
+ * @param components - The file components to add
1220
+ */
1221
+ addFileComponents(...components: RestOrArray<APIFileComponent | FileBuilder | ((builder: FileBuilder) => FileBuilder)>): this;
1222
+ /**
1223
+ * Adds media gallery components to this container.
1224
+ *
1225
+ * @param components - The media gallery components to add
1226
+ */
1227
+ addMediaGalleryComponents(...components: RestOrArray<APIMediaGalleryComponent | MediaGalleryBuilder | ((builder: MediaGalleryBuilder) => MediaGalleryBuilder)>): this;
1228
+ /**
1229
+ * Adds section components to this container.
1230
+ *
1231
+ * @param components - The section components to add
1232
+ */
1233
+ addSectionComponents(...components: RestOrArray<APISectionComponent | SectionBuilder | ((builder: SectionBuilder) => SectionBuilder)>): this;
1234
+ /**
1235
+ * Adds separator components to this container.
1236
+ *
1237
+ * @param components - The separator components to add
1238
+ */
1239
+ addSeparatorComponents(...components: RestOrArray<APISeparatorComponent | SeparatorBuilder | ((builder: SeparatorBuilder) => SeparatorBuilder)>): this;
1240
+ /**
1241
+ * Adds text display components to this container.
1242
+ *
1243
+ * @param components - The text display components to add
1244
+ */
1245
+ addTextDisplayComponents(...components: RestOrArray<APITextDisplayComponent | TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>): this;
1246
+ /**
1247
+ * Removes, replaces, or inserts components for this container.
1248
+ *
1249
+ * @param index - The index to start removing, replacing or inserting components
1250
+ * @param deleteCount - The amount of components to remove
1251
+ * @param components - The components to set
1252
+ */
1253
+ spliceComponents(index: number, deleteCount: number, ...components: RestOrArray<APIComponentInContainer | ContainerComponentBuilder>): this;
1254
+ /**
1255
+ * Sets the spoiler status of this container.
1256
+ *
1257
+ * @param spoiler - The spoiler status to use
1258
+ */
1259
+ setSpoiler(spoiler?: boolean): this;
1260
+ /**
1261
+ * {@inheritDoc ComponentBuilder.toJSON}
1262
+ */
1263
+ toJSON(): APIContainerComponent;
1264
+ }
1265
+
1266
+ declare class MediaGalleryItemBuilder implements JSONEncodable<APIMediaGalleryItem> {
1267
+ /**
1268
+ * The API data associated with this media gallery item.
1269
+ */
1270
+ readonly data: Partial<APIMediaGalleryItem>;
1271
+ /**
1272
+ * Creates a new media gallery item from API data.
1273
+ *
1274
+ * @param data - The API data to create this media gallery item with
1275
+ * @example
1276
+ * Creating a media gallery item from an API data object:
1277
+ * ```ts
1278
+ * const item = new MediaGalleryItemBuilder({
1279
+ * description: "Some text here",
1280
+ * media: {
1281
+ * url: 'https://cdn.discordapp.com/embed/avatars/2.png',
1282
+ * },
1283
+ * });
1284
+ * ```
1285
+ * @example
1286
+ * Creating a media gallery item using setters and API data:
1287
+ * ```ts
1288
+ * const item = new MediaGalleryItemBuilder({
1289
+ * media: {
1290
+ * url: 'https://cdn.discordapp.com/embed/avatars/5.png',
1291
+ * },
1292
+ * })
1293
+ * .setDescription("alt text");
1294
+ * ```
1295
+ */
1296
+ constructor(data?: Partial<APIMediaGalleryItem>);
1297
+ /**
1298
+ * Sets the description of this media gallery item.
1299
+ *
1300
+ * @param description - The description to use
1301
+ */
1302
+ setDescription(description: string): this;
1303
+ /**
1304
+ * Clears the description of this media gallery item.
1305
+ */
1306
+ clearDescription(): this;
1307
+ /**
1308
+ * Sets the spoiler status of this media gallery item.
1309
+ *
1310
+ * @param spoiler - The spoiler status to use
1311
+ */
1312
+ setSpoiler(spoiler?: boolean): this;
1313
+ /**
1314
+ * Sets the media URL of this media gallery item.
1315
+ *
1316
+ * @param url - The URL to use
1317
+ */
1318
+ setURL(url: string): this;
1319
+ /**
1320
+ * Serializes this builder to API-compatible JSON data.
1321
+ *
1322
+ * @remarks
1323
+ * This method runs validations on the data before serializing it.
1324
+ * As such, it may throw an error if the data is invalid.
1325
+ */
1326
+ toJSON(): APIMediaGalleryItem;
1327
+ }
1328
+
1329
+ /**
1330
+ * A builder that creates API-compatible JSON data for a container.
1331
+ */
1332
+ declare class MediaGalleryBuilder extends ComponentBuilder<APIMediaGalleryComponent> {
1333
+ /**
1334
+ * The components within this container.
1335
+ */
1336
+ readonly items: MediaGalleryItemBuilder[];
1337
+ /**
1338
+ * Creates a new media gallery from API data.
1339
+ *
1340
+ * @param data - The API data to create this media gallery with
1341
+ * @example
1342
+ * Creating a media gallery from an API data object:
1343
+ * ```ts
1344
+ * const mediaGallery = new MediaGalleryBuilder({
1345
+ * items: [
1346
+ * {
1347
+ * description: "Some text here",
1348
+ * media: {
1349
+ * url: 'https://cdn.discordapp.com/embed/avatars/2.png',
1350
+ * },
1351
+ * },
1352
+ * ],
1353
+ * });
1354
+ * ```
1355
+ * @example
1356
+ * Creating a media gallery using setters and API data:
1357
+ * ```ts
1358
+ * const mediaGallery = new MediaGalleryBuilder({
1359
+ * items: [
1360
+ * {
1361
+ * description: "alt text",
1362
+ * media: {
1363
+ * url: 'https://cdn.discordapp.com/embed/avatars/5.png',
1364
+ * },
1365
+ * },
1366
+ * ],
1367
+ * })
1368
+ * .addItems(item2, item3);
1369
+ * ```
1370
+ */
1371
+ constructor({ items, ...data }?: Partial<APIMediaGalleryComponent>);
1372
+ /**
1373
+ * Adds items to this media gallery.
1374
+ *
1375
+ * @param items - The items to add
1376
+ */
1377
+ addItems(...items: RestOrArray<APIMediaGalleryItem | MediaGalleryItemBuilder | ((builder: MediaGalleryItemBuilder) => MediaGalleryItemBuilder)>): this;
1378
+ /**
1379
+ * Removes, replaces, or inserts media gallery items for this media gallery.
1380
+ *
1381
+ * @param index - The index to start removing, replacing or inserting items
1382
+ * @param deleteCount - The amount of items to remove
1383
+ * @param items - The items to insert
1384
+ */
1385
+ spliceItems(index: number, deleteCount: number, ...items: RestOrArray<APIMediaGalleryItem | MediaGalleryItemBuilder | ((builder: MediaGalleryItemBuilder) => MediaGalleryItemBuilder)>): this;
1386
+ /**
1387
+ * {@inheritDoc ComponentBuilder.toJSON}
1388
+ */
1389
+ toJSON(): APIMediaGalleryComponent;
1390
+ }
1391
+
1392
+ /**
1393
+ * A builder that creates API-compatible JSON data for a section.
1394
+ */
1395
+ declare class SectionBuilder extends ComponentBuilder<APISectionComponent> {
1396
+ /**
1397
+ * The components within this section.
1398
+ */
1399
+ readonly components: ComponentBuilder[];
1400
+ /**
1401
+ * The accessory of this section.
1402
+ */
1403
+ readonly accessory?: ButtonBuilder | ThumbnailBuilder;
1404
+ /**
1405
+ * Creates a new section from API data.
1406
+ *
1407
+ * @param data - The API data to create this section with
1408
+ * @example
1409
+ * Creating a section from an API data object:
1410
+ * ```ts
1411
+ * const section = new SectionBuilder({
1412
+ * components: [
1413
+ * {
1414
+ * content: "Some text here",
1415
+ * type: ComponentType.TextDisplay,
1416
+ * },
1417
+ * ],
1418
+ * accessory: {
1419
+ * media: {
1420
+ * url: 'https://cdn.discordapp.com/embed/avatars/3.png',
1421
+ * },
1422
+ * }
1423
+ * });
1424
+ * ```
1425
+ * @example
1426
+ * Creating a section using setters and API data:
1427
+ * ```ts
1428
+ * const section = new SectionBuilder({
1429
+ * components: [
1430
+ * {
1431
+ * content: "# Heading",
1432
+ * type: ComponentType.TextDisplay,
1433
+ * },
1434
+ * ],
1435
+ * })
1436
+ * .setPrimaryButtonAccessory(button);
1437
+ * ```
1438
+ */
1439
+ constructor({ components, accessory, ...data }?: Partial<APISectionComponent>);
1440
+ /**
1441
+ * Sets the accessory of this section to a button.
1442
+ *
1443
+ * @param accessory - The accessory to use
1444
+ */
1445
+ setButtonAccessory(accessory: APIButtonComponent | ButtonBuilder | ((builder: ButtonBuilder) => ButtonBuilder)): this;
1446
+ /**
1447
+ * Sets the accessory of this section to a thumbnail.
1448
+ *
1449
+ * @param accessory - The accessory to use
1450
+ */
1451
+ setThumbnailAccessory(accessory: APIThumbnailComponent | ThumbnailBuilder | ((builder: ThumbnailBuilder) => ThumbnailBuilder)): this;
1452
+ /**
1453
+ * Adds text display components to this section.
1454
+ *
1455
+ * @param components - The text display components to add
1456
+ */
1457
+ addTextDisplayComponents(...components: RestOrArray<TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>): this;
1458
+ /**
1459
+ * Removes, replaces, or inserts text display components for this section.
1460
+ *
1461
+ * @param index - The index to start removing, replacing or inserting text display components
1462
+ * @param deleteCount - The amount of text display components to remove
1463
+ * @param components - The text display components to insert
1464
+ */
1465
+ spliceTextDisplayComponents(index: number, deleteCount: number, ...components: RestOrArray<APITextDisplayComponent | TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>): this;
1466
+ /**
1467
+ * {@inheritDoc ComponentBuilder.toJSON}
1468
+ */
1469
+ toJSON(): APISectionComponent;
1470
+ }
1471
+
1472
+ declare class ThumbnailBuilder extends ComponentBuilder<APIThumbnailComponent> {
1473
+ /**
1474
+ * Creates a new thumbnail from API data.
1475
+ *
1476
+ * @param data - The API data to create this thumbnail with
1477
+ * @example
1478
+ * Creating a thumbnail from an API data object:
1479
+ * ```ts
1480
+ * const thumbnaik = new ThumbnailBuilder({
1481
+ * description: 'some text',
1482
+ * media: {
1483
+ * url: 'https://cdn.discordapp.com/embed/avatars/4.png',
1484
+ * },
1485
+ * });
1486
+ * ```
1487
+ * @example
1488
+ * Creating a thumbnail using setters and API data:
1489
+ * ```ts
1490
+ * const thumbnail = new ThumbnailBuilder({
1491
+ * media: {
1492
+ * url: 'attachment://image.png',
1493
+ * },
1494
+ * })
1495
+ * .setDescription('alt text');
1496
+ * ```
1497
+ */
1498
+ constructor(data?: Partial<APIThumbnailComponent>);
1499
+ /**
1500
+ * Sets the description of this thumbnail.
1501
+ *
1502
+ * @param description - The description to use
1503
+ */
1504
+ setDescription(description: string): this;
1505
+ /**
1506
+ * Clears the description of this thumbnail.
1507
+ */
1508
+ clearDescription(): this;
1509
+ /**
1510
+ * Sets the spoiler status of this thumbnail.
1511
+ *
1512
+ * @param spoiler - The spoiler status to use
1513
+ */
1514
+ setSpoiler(spoiler?: boolean): this;
1515
+ /**
1516
+ * Sets the media URL of this thumbnail.
1517
+ *
1518
+ * @param url - The URL to use
1519
+ */
1520
+ setURL(url: string): this;
1521
+ /**
1522
+ * {@inheritdoc ComponentBuilder.toJSON}
1523
+ */
1524
+ toJSON(): APIThumbnailComponent;
1525
+ }
1526
+
1527
+ /**
1528
+ * The builders that may be used for messages.
1529
+ */
1530
+ type MessageComponentBuilder = ActionRowBuilder<MessageActionRowComponentBuilder> | ContainerBuilder | FileBuilder | MediaGalleryBuilder | MessageActionRowComponentBuilder | SectionBuilder | SeparatorBuilder | TextDisplayBuilder | ThumbnailBuilder;
1026
1531
  /**
1027
1532
  * Components here are mapped to their respective builder.
1028
1533
  */
@@ -1059,6 +1564,34 @@ interface MappedComponentTypes {
1059
1564
  * The channel select component type is associated with a {@link ChannelSelectMenuBuilder}.
1060
1565
  */
1061
1566
  [ComponentType.ChannelSelect]: ChannelSelectMenuBuilder;
1567
+ /**
1568
+ * The file component type is associated with a {@link FileBuilder}.
1569
+ */
1570
+ [ComponentType.File]: FileBuilder;
1571
+ /**
1572
+ * The separator component type is associated with a {@link SeparatorBuilder}.
1573
+ */
1574
+ [ComponentType.Separator]: SeparatorBuilder;
1575
+ /**
1576
+ * The container component type is associated with a {@link ContainerBuilder}.
1577
+ */
1578
+ [ComponentType.Container]: ContainerBuilder;
1579
+ /**
1580
+ * The text display component type is associated with a {@link TextDisplayBuilder}.
1581
+ */
1582
+ [ComponentType.TextDisplay]: TextDisplayBuilder;
1583
+ /**
1584
+ * The thumbnail component type is associated with a {@link ThumbnailBuilder}.
1585
+ */
1586
+ [ComponentType.Thumbnail]: ThumbnailBuilder;
1587
+ /**
1588
+ * The section component type is associated with a {@link SectionBuilder}.
1589
+ */
1590
+ [ComponentType.Section]: SectionBuilder;
1591
+ /**
1592
+ * The media gallery component type is associated with a {@link MediaGalleryBuilder}.
1593
+ */
1594
+ [ComponentType.MediaGallery]: MediaGalleryBuilder;
1062
1595
  }
1063
1596
  /**
1064
1597
  * Factory for creating components from API data.
@@ -1076,6 +1609,7 @@ declare function createComponentBuilder<ComponentType extends keyof MappedCompon
1076
1609
  * @param data - The API data to transform to a component class
1077
1610
  */
1078
1611
  declare function createComponentBuilder<ComponentBuilder extends MessageComponentBuilder | ModalComponentBuilder>(data: ComponentBuilder): ComponentBuilder;
1612
+ declare function resolveBuilder<ComponentType extends Record<PropertyKey, any>, Builder extends JSONEncodable<any>>(builder: Builder | ComponentType | ((builder: Builder) => Builder), Constructor: new (data?: ComponentType) => Builder): Builder;
1079
1613
 
1080
1614
  declare const textInputStyleValidator: _sapphire_shapeshift.NativeEnumValidator<typeof TextInputStyle>;
1081
1615
  declare const minLengthValidator: _sapphire_shapeshift.NumberValidator<number>;
@@ -1086,15 +1620,15 @@ declare const placeholderValidator: _sapphire_shapeshift.StringValidator<string>
1086
1620
  declare const labelValidator: _sapphire_shapeshift.StringValidator<string>;
1087
1621
  declare function validateRequiredParameters$3(customId?: string, style?: TextInputStyle, label?: string): void;
1088
1622
 
1089
- declare const Assertions$3_labelValidator: typeof labelValidator;
1090
- declare const Assertions$3_maxLengthValidator: typeof maxLengthValidator;
1091
- declare const Assertions$3_minLengthValidator: typeof minLengthValidator;
1092
- declare const Assertions$3_placeholderValidator: typeof placeholderValidator;
1093
- declare const Assertions$3_requiredValidator: typeof requiredValidator;
1094
- declare const Assertions$3_textInputStyleValidator: typeof textInputStyleValidator;
1095
- declare const Assertions$3_valueValidator: typeof valueValidator;
1096
- declare namespace Assertions$3 {
1097
- export { Assertions$3_labelValidator as labelValidator, Assertions$3_maxLengthValidator as maxLengthValidator, Assertions$3_minLengthValidator as minLengthValidator, Assertions$3_placeholderValidator as placeholderValidator, Assertions$3_requiredValidator as requiredValidator, Assertions$3_textInputStyleValidator as textInputStyleValidator, validateRequiredParameters$3 as validateRequiredParameters, Assertions$3_valueValidator as valueValidator };
1623
+ declare const Assertions$4_labelValidator: typeof labelValidator;
1624
+ declare const Assertions$4_maxLengthValidator: typeof maxLengthValidator;
1625
+ declare const Assertions$4_minLengthValidator: typeof minLengthValidator;
1626
+ declare const Assertions$4_placeholderValidator: typeof placeholderValidator;
1627
+ declare const Assertions$4_requiredValidator: typeof requiredValidator;
1628
+ declare const Assertions$4_textInputStyleValidator: typeof textInputStyleValidator;
1629
+ declare const Assertions$4_valueValidator: typeof valueValidator;
1630
+ declare namespace Assertions$4 {
1631
+ export { Assertions$4_labelValidator as labelValidator, Assertions$4_maxLengthValidator as maxLengthValidator, Assertions$4_minLengthValidator as minLengthValidator, Assertions$4_placeholderValidator as placeholderValidator, Assertions$4_requiredValidator as requiredValidator, Assertions$4_textInputStyleValidator as textInputStyleValidator, validateRequiredParameters$3 as validateRequiredParameters, Assertions$4_valueValidator as valueValidator };
1098
1632
  }
1099
1633
 
1100
1634
  /**
@@ -1132,7 +1666,7 @@ declare class ModalBuilder implements JSONEncodable<APIModalInteractionResponseC
1132
1666
  *
1133
1667
  * @param components - The components to add
1134
1668
  */
1135
- addComponents(...components: RestOrArray<ActionRowBuilder<ModalActionRowComponentBuilder> | APIActionRowComponent<APIModalActionRowComponent>>): this;
1669
+ addComponents(...components: RestOrArray<ActionRowBuilder<ModalActionRowComponentBuilder> | APIActionRowComponent<APIComponentInModalActionRow>>): this;
1136
1670
  /**
1137
1671
  * Sets components for this modal.
1138
1672
  *
@@ -1149,10 +1683,44 @@ declare const titleValidator: _sapphire_shapeshift.StringValidator<string>;
1149
1683
  declare const componentsValidator: _sapphire_shapeshift.ArrayValidator<[ActionRowBuilder<AnyComponentBuilder>, ...ActionRowBuilder<AnyComponentBuilder>[]], ActionRowBuilder<AnyComponentBuilder>>;
1150
1684
  declare function validateRequiredParameters$2(customId?: string, title?: string, components?: ActionRowBuilder<ModalActionRowComponentBuilder>[]): void;
1151
1685
 
1152
- declare const Assertions$2_componentsValidator: typeof componentsValidator;
1153
- declare const Assertions$2_titleValidator: typeof titleValidator;
1686
+ declare const Assertions$3_componentsValidator: typeof componentsValidator;
1687
+ declare const Assertions$3_titleValidator: typeof titleValidator;
1688
+ declare namespace Assertions$3 {
1689
+ export { Assertions$3_componentsValidator as componentsValidator, Assertions$3_titleValidator as titleValidator, validateRequiredParameters$2 as validateRequiredParameters };
1690
+ }
1691
+
1692
+ declare const unfurledMediaItemPredicate: _sapphire_shapeshift.ObjectValidator<{
1693
+ url: string;
1694
+ }, _sapphire_shapeshift.UndefinedToOptional<{
1695
+ url: string;
1696
+ }>>;
1697
+ declare const descriptionPredicate: _sapphire_shapeshift.StringValidator<string>;
1698
+ declare const filePredicate: _sapphire_shapeshift.ObjectValidator<{
1699
+ url: string;
1700
+ }, _sapphire_shapeshift.UndefinedToOptional<{
1701
+ url: string;
1702
+ }>>;
1703
+ declare const spoilerPredicate: _sapphire_shapeshift.BooleanValidator<boolean>;
1704
+ declare const dividerPredicate: _sapphire_shapeshift.BooleanValidator<boolean>;
1705
+ declare const spacingPredicate: _sapphire_shapeshift.NativeEnumValidator<typeof SeparatorSpacingSize>;
1706
+ declare const textDisplayContentPredicate: _sapphire_shapeshift.StringValidator<string>;
1707
+ declare const accessoryPredicate: _sapphire_shapeshift.UnionValidator<ButtonBuilder | ThumbnailBuilder>;
1708
+ declare const containerColorPredicate: _sapphire_shapeshift.UnionValidator<number | [number, number, number] | null | undefined>;
1709
+ declare function assertReturnOfBuilder$1<ReturnType extends MediaGalleryItemBuilder | TextDisplayBuilder>(input: unknown, ExpectedInstanceOf: new () => ReturnType): asserts input is ReturnType;
1710
+ declare function validateComponentArray<ReturnType extends ContainerComponentBuilder | MediaGalleryItemBuilder = ContainerComponentBuilder>(input: unknown, min: number, max: number, ExpectedInstanceOf?: new () => ReturnType): asserts input is ReturnType[];
1711
+
1712
+ declare const Assertions$2_accessoryPredicate: typeof accessoryPredicate;
1713
+ declare const Assertions$2_containerColorPredicate: typeof containerColorPredicate;
1714
+ declare const Assertions$2_descriptionPredicate: typeof descriptionPredicate;
1715
+ declare const Assertions$2_dividerPredicate: typeof dividerPredicate;
1716
+ declare const Assertions$2_filePredicate: typeof filePredicate;
1717
+ declare const Assertions$2_spacingPredicate: typeof spacingPredicate;
1718
+ declare const Assertions$2_spoilerPredicate: typeof spoilerPredicate;
1719
+ declare const Assertions$2_textDisplayContentPredicate: typeof textDisplayContentPredicate;
1720
+ declare const Assertions$2_unfurledMediaItemPredicate: typeof unfurledMediaItemPredicate;
1721
+ declare const Assertions$2_validateComponentArray: typeof validateComponentArray;
1154
1722
  declare namespace Assertions$2 {
1155
- export { Assertions$2_componentsValidator as componentsValidator, Assertions$2_titleValidator as titleValidator, validateRequiredParameters$2 as validateRequiredParameters };
1723
+ export { Assertions$2_accessoryPredicate as accessoryPredicate, assertReturnOfBuilder$1 as assertReturnOfBuilder, Assertions$2_containerColorPredicate as containerColorPredicate, Assertions$2_descriptionPredicate as descriptionPredicate, Assertions$2_dividerPredicate as dividerPredicate, Assertions$2_filePredicate as filePredicate, Assertions$2_spacingPredicate as spacingPredicate, Assertions$2_spoilerPredicate as spoilerPredicate, Assertions$2_textDisplayContentPredicate as textDisplayContentPredicate, Assertions$2_unfurledMediaItemPredicate as unfurledMediaItemPredicate, Assertions$2_validateComponentArray as validateComponentArray };
1156
1724
  }
1157
1725
 
1158
1726
  /**
@@ -2040,4 +2608,4 @@ declare function isValidationEnabled(): boolean;
2040
2608
  */
2041
2609
  declare const version: string;
2042
2610
 
2043
- export { ActionRowBuilder, type AnyAPIActionRowComponent, type AnyComponentBuilder, ApplicationCommandNumericOptionMinMaxValueMixin, type ApplicationCommandOptionAllowedChannelTypes, ApplicationCommandOptionBase, ApplicationCommandOptionChannelTypesMixin, ApplicationCommandOptionWithAutocompleteMixin, ApplicationCommandOptionWithChoicesMixin, BaseSelectMenuBuilder, ButtonBuilder, ChannelSelectMenuBuilder, Assertions$4 as ComponentAssertions, ComponentBuilder, Assertions as ContextMenuCommandAssertions, ContextMenuCommandBuilder, type ContextMenuCommandType, Assertions$5 as EmbedAssertions, type EmbedAuthorData, type EmbedAuthorOptions, EmbedBuilder, type EmbedFooterData, type EmbedFooterOptions, type EmbedImageData, type IconData, type MappedComponentTypes, MentionableSelectMenuBuilder, type MessageActionRowComponentBuilder, type MessageComponentBuilder, type ModalActionRowComponentBuilder, Assertions$2 as ModalAssertions, ModalBuilder, type ModalComponentBuilder, type RGBTuple, type RestOrArray, RoleSelectMenuBuilder, StringSelectMenuBuilder as SelectMenuBuilder, StringSelectMenuOptionBuilder as SelectMenuOptionBuilder, SharedNameAndDescription, SharedSlashCommand, SharedSlashCommandOptions, SharedSlashCommandSubcommands, Assertions$1 as SlashCommandAssertions, SlashCommandAttachmentOption, SlashCommandBooleanOption, SlashCommandBuilder, SlashCommandChannelOption, SlashCommandIntegerOption, SlashCommandMentionableOption, SlashCommandNumberOption, type SlashCommandOptionsOnlyBuilder, SlashCommandRoleOption, SlashCommandStringOption, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder, type SlashCommandSubcommandsOnlyBuilder, SlashCommandUserOption, StringSelectMenuBuilder, StringSelectMenuOptionBuilder, Assertions$3 as TextInputAssertions, TextInputBuilder, type ToAPIApplicationCommandOptions, UserSelectMenuBuilder, createComponentBuilder, disableValidators, embedLength, enableValidators, isValidationEnabled, normalizeArray, version };
2611
+ export { ActionRowBuilder, type AnyAPIActionRowComponent, type AnyComponentBuilder, ApplicationCommandNumericOptionMinMaxValueMixin, type ApplicationCommandOptionAllowedChannelTypes, ApplicationCommandOptionBase, ApplicationCommandOptionChannelTypesMixin, ApplicationCommandOptionWithAutocompleteMixin, ApplicationCommandOptionWithChoicesMixin, BaseSelectMenuBuilder, ButtonBuilder, ChannelSelectMenuBuilder, Assertions$5 as ComponentAssertions, ComponentBuilder, Assertions$2 as ComponentsV2Assertions, ContainerBuilder, type ContainerComponentBuilder, Assertions as ContextMenuCommandAssertions, ContextMenuCommandBuilder, type ContextMenuCommandType, Assertions$6 as EmbedAssertions, type EmbedAuthorData, type EmbedAuthorOptions, EmbedBuilder, type EmbedFooterData, type EmbedFooterOptions, type EmbedImageData, FileBuilder, type IconData, type MappedComponentTypes, MediaGalleryBuilder, MediaGalleryItemBuilder, MentionableSelectMenuBuilder, type MessageActionRowComponentBuilder, type MessageComponentBuilder, type ModalActionRowComponentBuilder, Assertions$3 as ModalAssertions, ModalBuilder, type ModalComponentBuilder, type RGBTuple, type RestOrArray, RoleSelectMenuBuilder, SectionBuilder, StringSelectMenuBuilder as SelectMenuBuilder, StringSelectMenuOptionBuilder as SelectMenuOptionBuilder, SeparatorBuilder, SharedNameAndDescription, SharedSlashCommand, SharedSlashCommandOptions, SharedSlashCommandSubcommands, Assertions$1 as SlashCommandAssertions, SlashCommandAttachmentOption, SlashCommandBooleanOption, SlashCommandBuilder, SlashCommandChannelOption, SlashCommandIntegerOption, SlashCommandMentionableOption, SlashCommandNumberOption, type SlashCommandOptionsOnlyBuilder, SlashCommandRoleOption, SlashCommandStringOption, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder, type SlashCommandSubcommandsOnlyBuilder, SlashCommandUserOption, StringSelectMenuBuilder, StringSelectMenuOptionBuilder, TextDisplayBuilder, Assertions$4 as TextInputAssertions, TextInputBuilder, ThumbnailBuilder, type ToAPIApplicationCommandOptions, UserSelectMenuBuilder, createComponentBuilder, disableValidators, embedLength, enableValidators, isValidationEnabled, normalizeArray, resolveBuilder, version };