@discordjs/structures 0.2.0-dev.1769558523-b0e413c11 → 0.2.0-dev.1770422605-c460a920a

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 discord_api_types_v10 from 'discord-api-types/v10';
2
- import { APIAutoModerationAction, APIAutoModerationActionMetadata, APIAutoModerationRule, APIAutoModerationRuleTriggerMetadata, AttachmentFlags, ChannelFlags, MessageFlags, PermissionFlagsBits, GuildChannelType, ChannelType, ThreadChannelType, GuildTextChannelType, TextChannelType, APIChannel, APIPartialChannel, APIGuildForumTag, APIOverwrite, APIThreadMetadata, APINewsChannel, APIAnnouncementThreadChannel, APIGuildCategoryChannel, APIDMChannel, APIGuildForumChannel, APIGroupDMChannel, APIGuildMediaChannel, APIPrivateThreadChannel, APIPublicThreadChannel, APIGuildStageVoiceChannel, APITextChannel, APIGuildVoiceChannel, APIEmoji, APIEntitlement, APIInteractionDataResolved, APIInvite, APIExtendedInvite, APIMessageComponent, APIModalComponent, ComponentType, APIBaseComponent, APIComponentInActionRow, APIActionRowComponent, ButtonStyle, APIButtonComponentWithCustomId, APIButtonComponent, APISelectMenuComponent, APIChannelSelectComponent, APIContainerComponent, APIFileComponent, APIFileUploadComponent, APIButtonComponentWithURL, APIMediaGalleryComponent, APIMentionableSelectComponent, APIButtonComponentWithSKUId, APIRoleSelectComponent, APISectionComponent, APISeparatorComponent, APIStringSelectComponent, APITextDisplayComponent, APITextInputComponent, APIThumbnailComponent, APIUserSelectComponent, APIMessageComponentEmoji, APIMediaGalleryItem, SelectMenuDefaultValueType, APISelectMenuDefaultValue, APISelectMenuOption, APIUnfurledMediaItem, APIEmbed, APIEmbedAuthor, APIEmbedField, APIEmbedFooter, APIEmbedImage, APIEmbedProvider, APIEmbedThumbnail, APIEmbedVideo, InteractionType, APIMessageInteractionMetadata, APIApplicationCommandInteractionMetadata, APIAttachment, APIChannelMention, APIMessage, APIMessageActivity, APIMessageCall, APIMessageComponentInteractionMetadata, APIMessageReference, MessageReferenceType, APIModalSubmitInteractionMetadata, APIReaction, APIReactionCountDetails, APIMessageRoleSubscriptionData, APIPoll, APIPollAnswer, APIPollAnswerCount, APIPollMedia, APIPollResults, APISoundboardSound, APIStageInstance, APISticker, APIStickerPack, APITeam, APITeamMember, APIAvatarDecorationData, APIUser, APIConnection, APIVoiceState, APIVoiceRegion, APISubscription } from 'discord-api-types/v10';
2
+ import { APIAutoModerationAction, APIAutoModerationActionMetadata, APIAutoModerationRule, APIAutoModerationRuleTriggerMetadata, AttachmentFlags, ChannelFlags, MessageFlags, PermissionFlagsBits, SKUFlags, GuildChannelType, ChannelType, ThreadChannelType, GuildTextChannelType, TextChannelType, APIChannel, APIPartialChannel, APIGuildForumTag, APIOverwrite, APIThreadMetadata, APINewsChannel, APIAnnouncementThreadChannel, APIGuildCategoryChannel, APIDMChannel, APIGuildForumChannel, APIGroupDMChannel, APIGuildMediaChannel, APIPrivateThreadChannel, APIPublicThreadChannel, APIGuildStageVoiceChannel, APITextChannel, APIGuildVoiceChannel, APIEmoji, APIEntitlement, APIInteractionDataResolved, APIInvite, APIExtendedInvite, APIMessageComponent, APIModalComponent, ComponentType, APIBaseComponent, APIComponentInActionRow, APIActionRowComponent, ButtonStyle, APIButtonComponentWithCustomId, APIButtonComponent, APISelectMenuComponent, APIChannelSelectComponent, APIContainerComponent, APIFileComponent, APIFileUploadComponent, APIButtonComponentWithURL, APIMediaGalleryComponent, APIMentionableSelectComponent, APIButtonComponentWithSKUId, APIRoleSelectComponent, APISectionComponent, APISeparatorComponent, APIStringSelectComponent, APITextDisplayComponent, APITextInputComponent, APIThumbnailComponent, APIUserSelectComponent, APIMessageComponentEmoji, APIMediaGalleryItem, SelectMenuDefaultValueType, APISelectMenuDefaultValue, APISelectMenuOption, APIUnfurledMediaItem, APIEmbed, APIEmbedAuthor, APIEmbedField, APIEmbedFooter, APIEmbedImage, APIEmbedProvider, APIEmbedThumbnail, APIEmbedVideo, InteractionType, APIMessageInteractionMetadata, APIApplicationCommandInteractionMetadata, APIAttachment, APIChannelMention, APIMessage, APIMessageActivity, APIMessageCall, APIMessageComponentInteractionMetadata, APIMessageReference, MessageReferenceType, APIModalSubmitInteractionMetadata, APIReaction, APIReactionCountDetails, APIMessageRoleSubscriptionData, APIPoll, APIPollAnswer, APIPollAnswerCount, APIPollMedia, APIPollResults, APISKU, APISoundboardSound, APIStageInstance, APISticker, APIStickerPack, APITeam, APITeamMember, APIAvatarDecorationData, APIUser, APIConnection, APIWebhook, APIVoiceState, APIVoiceRegion, APISubscription } from 'discord-api-types/v10';
3
3
 
4
4
  declare const kData: unique symbol;
5
5
  declare const kClone: unique symbol;
@@ -164,7 +164,9 @@ declare class AutoModerationAction<Omitted extends keyof APIAutoModerationAction
164
164
  */
165
165
  constructor(data: Partialize<APIAutoModerationAction, Omitted>);
166
166
  /**
167
- * The {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-action-types | action type}
167
+ * The action type
168
+ *
169
+ * @see {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-action-types}
168
170
  */
169
171
  get type(): "type" extends infer T ? T extends "type" ? T extends Omitted ? unknown : APIAutoModerationAction[T] : never : never;
170
172
  }
@@ -240,11 +242,15 @@ declare class AutoModerationRule<Omitted extends keyof APIAutoModerationRule | '
240
242
  */
241
243
  get creatorId(): "creator_id" extends infer T ? T extends "creator_id" ? T extends Omitted ? unknown : APIAutoModerationRule[T] : never : never;
242
244
  /**
243
- * The rule {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-event-types | event type}
245
+ * The rule event type
246
+ *
247
+ * @see {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-event-types}
244
248
  */
245
249
  get eventType(): "event_type" extends infer T ? T extends "event_type" ? T extends Omitted ? unknown : APIAutoModerationRule[T] : never : never;
246
250
  /**
247
- * The rule {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types | trigger type}
251
+ * The rule trigger type
252
+ *
253
+ * @see {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types}
248
254
  */
249
255
  get triggerType(): "trigger_type" extends infer T ? T extends "trigger_type" ? T extends Omitted ? unknown : APIAutoModerationRule[T] : never : never;
250
256
  /**
@@ -434,7 +440,7 @@ declare abstract class BitField<Flags extends string> {
434
440
  /**
435
441
  * Data structure that makes it easy to interact with a {@link Attachment#flags} bitfield.
436
442
  */
437
- declare class AttachmentFlagsBitField extends BitField<keyof AttachmentFlags> {
443
+ declare class AttachmentFlagsBitField extends BitField<keyof typeof AttachmentFlags> {
438
444
  /**
439
445
  * Numeric attachment flags.
440
446
  */
@@ -445,7 +451,7 @@ declare class AttachmentFlagsBitField extends BitField<keyof AttachmentFlags> {
445
451
  /**
446
452
  * Data structure that makes it easy to interact with a {@link (Channel:class).flags} bitfield.
447
453
  */
448
- declare class ChannelFlagsBitField extends BitField<keyof ChannelFlags> {
454
+ declare class ChannelFlagsBitField extends BitField<keyof typeof ChannelFlags> {
449
455
  /**
450
456
  * Numeric guild channel flags.
451
457
  */
@@ -456,7 +462,7 @@ declare class ChannelFlagsBitField extends BitField<keyof ChannelFlags> {
456
462
  /**
457
463
  * Data structure that makes it easy to interact with a {@link Message#flags} bitfield.
458
464
  */
459
- declare class MessageFlagsBitField extends BitField<keyof MessageFlags> {
465
+ declare class MessageFlagsBitField extends BitField<keyof typeof MessageFlags> {
460
466
  /**
461
467
  * Numeric message flags.
462
468
  */
@@ -573,6 +579,17 @@ declare class PermissionsBitField extends BitField<keyof typeof PermissionFlagsB
573
579
  toArray(): ("CreateInstantInvite" | "KickMembers" | "BanMembers" | "Administrator" | "ManageChannels" | "ManageGuild" | "AddReactions" | "ViewAuditLog" | "PrioritySpeaker" | "Stream" | "ViewChannel" | "SendMessages" | "SendTTSMessages" | "ManageMessages" | "EmbedLinks" | "AttachFiles" | "ReadMessageHistory" | "MentionEveryone" | "UseExternalEmojis" | "ViewGuildInsights" | "Connect" | "Speak" | "MuteMembers" | "DeafenMembers" | "MoveMembers" | "UseVAD" | "ChangeNickname" | "ManageNicknames" | "ManageRoles" | "ManageWebhooks" | "ManageEmojisAndStickers" | "ManageGuildExpressions" | "UseApplicationCommands" | "RequestToSpeak" | "ManageEvents" | "ManageThreads" | "CreatePublicThreads" | "CreatePrivateThreads" | "UseExternalStickers" | "SendMessagesInThreads" | "UseEmbeddedActivities" | "ModerateMembers" | "ViewCreatorMonetizationAnalytics" | "UseSoundboard" | "CreateGuildExpressions" | "CreateEvents" | "UseExternalSounds" | "SendVoiceMessages" | "SendPolls" | "UseExternalApps" | "PinMessages" | "BypassSlowmode")[];
574
580
  }
575
581
 
582
+ /**
583
+ * Data structure that makes it easy to interact with an {@link SKUFlags} bitfield.
584
+ */
585
+ declare class SKUFlagsBitField extends BitField<keyof typeof SKUFlags> {
586
+ /**
587
+ * Numeric SKU flags.
588
+ */
589
+ static readonly Flags: typeof SKUFlags;
590
+ toJSON(): string | number;
591
+ }
592
+
576
593
  interface ChannelPermissionMixin<Type extends Exclude<GuildChannelType, ChannelType.GuildDirectory | ThreadChannelType> = Exclude<GuildChannelType, ChannelType.GuildDirectory | ThreadChannelType>> extends Channel<Type> {
577
594
  }
578
595
  /**
@@ -3034,6 +3051,48 @@ declare class PollResults<Omitted extends keyof APIPollResults | '' = ''> extend
3034
3051
  get isFinalized(): "is_finalized" extends infer T ? T extends "is_finalized" ? T extends Omitted ? unknown : APIPollResults[T] : never : never;
3035
3052
  }
3036
3053
 
3054
+ /**
3055
+ * Represents any SKU (stock-keeping units) on Discord.
3056
+ *
3057
+ * @typeParam Omitted - Specify the properties that will not be stored in the raw data field as a union, implement via `DataTemplate`
3058
+ */
3059
+ declare class SKU<Omitted extends keyof APISKU | '' = ''> extends Structure<APISKU, Omitted> {
3060
+ /**
3061
+ * The template used for removing data from the raw data stored for each SKU
3062
+ */
3063
+ static readonly DataTemplate: Partial<APISKU>;
3064
+ /**
3065
+ * @param data - The raw data received from the API for the SKU
3066
+ */
3067
+ constructor(data: Partialize<APISKU, Omitted>);
3068
+ /**
3069
+ * Id of the SKU
3070
+ */
3071
+ get id(): "id" extends infer T ? T extends "id" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3072
+ /**
3073
+ * Type of SKU
3074
+ *
3075
+ * @see {@link https://discord.com/developers/docs/resources/sku#sku-object-sku-types}
3076
+ */
3077
+ get type(): "type" extends infer T ? T extends "type" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3078
+ /**
3079
+ * Id of the parent application
3080
+ */
3081
+ get applicationId(): "application_id" extends infer T ? T extends "application_id" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3082
+ /**
3083
+ * Customer-facing name of your premium offering
3084
+ */
3085
+ get name(): "name" extends infer T ? T extends "name" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3086
+ /**
3087
+ * System-generated URL slug based on the SKU's name
3088
+ */
3089
+ get slug(): "slug" extends infer T ? T extends "slug" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3090
+ /**
3091
+ * SKU flags combined as a bitfield
3092
+ */
3093
+ get flags(): SKUFlagsBitField | null;
3094
+ }
3095
+
3037
3096
  /**
3038
3097
  * Represents any soundboard sound on Discord.
3039
3098
  *
@@ -3497,6 +3556,71 @@ declare class Connection<Omitted extends keyof APIConnection | '' = ''> extends
3497
3556
  get visibility(): "visibility" extends infer T ? T extends "visibility" ? T extends Omitted ? unknown : APIConnection[T] : never : never;
3498
3557
  }
3499
3558
 
3559
+ /**
3560
+ * Represents any webhook on Discord.
3561
+ *
3562
+ * @typeParam Omitted - Specify the properties that will not be stored in the raw data field as a union, implement via `DataTemplate`
3563
+ * @remarks has substructures `User`, `Guild`, `Channel` which need to be instantiated and stored by an extending class using it
3564
+ */
3565
+ declare class Webhook<Omitted extends keyof APIWebhook | '' = ''> extends Structure<APIWebhook, Omitted> {
3566
+ /**
3567
+ * The template used for removing data from the raw data stored for each webhook
3568
+ */
3569
+ static readonly DataTemplate: Partial<APIWebhook>;
3570
+ /**
3571
+ * @param data - The raw data received from the API for the webhook
3572
+ */
3573
+ constructor(data: Partialize<APIWebhook, Omitted>);
3574
+ /**
3575
+ * The id of the webhook
3576
+ */
3577
+ get id(): "id" extends infer T ? T extends "id" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3578
+ /**
3579
+ * The type of the webhook
3580
+ *
3581
+ * @see {@link https://discord.com/developers/docs/resources/webhook#webhook-object-webhook-types}
3582
+ */
3583
+ get type(): "type" extends infer T ? T extends "type" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3584
+ /**
3585
+ * The guild id this webhook is for, if any
3586
+ */
3587
+ get guildId(): ("guild_id" extends infer T ? T extends "guild_id" ? T extends Omitted ? unknown : APIWebhook[T] : never : never) | undefined;
3588
+ /**
3589
+ * The channel id this webhook is for, if any
3590
+ */
3591
+ get channelId(): "channel_id" extends infer T ? T extends "channel_id" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3592
+ /**
3593
+ * The default name of the webhook
3594
+ */
3595
+ get name(): "name" extends infer T ? T extends "name" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3596
+ /**
3597
+ * The default user avatar hash of the webhook
3598
+ *
3599
+ * @see {@link https://discord.com/developers/docs/reference#image-formatting}
3600
+ */
3601
+ get avatar(): "avatar" extends infer T ? T extends "avatar" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3602
+ /**
3603
+ * The secure token of the webhook (returned for incoming webhooks)
3604
+ */
3605
+ get token(): ("token" extends infer T ? T extends "token" ? T extends Omitted ? unknown : APIWebhook[T] : never : never) | undefined;
3606
+ /**
3607
+ * The id of the bot/OAuth2 application that created this webhook
3608
+ */
3609
+ get applicationId(): "application_id" extends infer T ? T extends "application_id" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3610
+ /**
3611
+ * The url used for executing the webhook (returned by the webhooks OAuth2 flow)
3612
+ */
3613
+ get url(): ("url" extends infer T ? T extends "url" ? T extends Omitted ? unknown : APIWebhook[T] : never : never) | undefined;
3614
+ /**
3615
+ * The timestamp the webhook was created at
3616
+ */
3617
+ get createdTimestamp(): number | null;
3618
+ /**
3619
+ * The time the webhook was created at
3620
+ */
3621
+ get createdAt(): Date | null;
3622
+ }
3623
+
3500
3624
  /**
3501
3625
  * Represents any voice state on Discord.
3502
3626
  *
@@ -3696,4 +3820,4 @@ declare function extendTemplate<SuperTemplate extends Record<string, unknown>>(s
3696
3820
  */
3697
3821
  declare function dateToDiscordISOTimestamp(date: Date): string;
3698
3822
 
3699
- export { type APIActualInvite, ActionRowComponent, AnnouncementChannel, AnnouncementThreadChannel, ApplicationCommandInteractionMetadata, AppliedTagsMixin, Attachment, AttachmentFlagsBitField, AutoModerationAction, AutoModerationActionMetadata, AutoModerationRule, AutoModerationRuleTriggerMetadata, AvatarDecorationData, BitField, type BitFieldResolvable, ButtonComponent, type ButtonDataType, CategoryChannel, Channel, type ChannelDataType, ChannelFlagsBitField, ChannelMention, ChannelOwnerMixin, ChannelParentMixin, ChannelPermissionMixin, ChannelPinMixin, ChannelSelectMenuComponent, ChannelSlowmodeMixin, ChannelTopicMixin, ChannelWebhookMixin, type CollapseUnion, Component, type ComponentDataType, ComponentEmoji, Connection, ContainerComponent, DMChannel, DMChannelMixin, DataTemplatePropertyName, Embed, EmbedAuthor, EmbedField, EmbedFooter, EmbedImage, EmbedProvider, EmbedThumbnail, EmbedVideo, Emoji, Entitlement, type EnumLike, FileComponent, FileUploadComponent, ForumChannel, ForumTag, GroupDMChannel, GroupDMMixin, GuildChannelMixin, type If, InteractionMetadata, type InteractionMetadataType, InteractiveButtonComponent, Invite, LabeledButtonComponent, LinkButtonComponent, MediaChannel, MediaGalleryComponent, MediaGalleryItem, MentionableSelectMenuComponent, type MergePrototype, type MergePrototypes, Message, MessageActivity, MessageCall, MessageComponentInteractionMetadata, MessageFlagsBitField, MessageReference, Mixin, type MixinBase, type MixinTypes, type Mixinable, ModalSubmitInteractionMetadata, type NonAbstract, OptimizeDataPropertyName, type OptionalPropertyNames, type PartialChannel, type Partialize, PermissionOverwrite, PermissionsBitField, Poll, PollAnswer, PollAnswerCount, PollMedia, PollResults, PremiumButtonComponent, PrivateThreadChannel, PublicThreadChannel, Reaction, ReactionCountDetails, type RecursiveReadonlyArray, type ReplaceOmittedWithUnknown, ResolvedInteractionData, RoleSelectMenuComponent, RoleSubscriptionData, SectionComponent, SelectMenuComponent, SelectMenuDefaultValue, SeparatorComponent, SoundboardSound, StageChannel, StageInstance, Sticker, StickerPack, StringSelectMenuComponent, StringSelectMenuOption, Structure, Subscription, Team, TeamMember, TextChannel, TextChannelMixin, TextDisplayComponent, TextInputComponent, ThreadChannelMixin, ThreadMetadata, ThreadOnlyChannelMixin, ThumbnailComponent, UnfurledMediaItem, User, UserSelectMenuComponent, VoiceChannel, VoiceChannelMixin, VoiceRegion, VoiceState, dateToDiscordISOTimestamp, extendTemplate };
3823
+ export { type APIActualInvite, ActionRowComponent, AnnouncementChannel, AnnouncementThreadChannel, ApplicationCommandInteractionMetadata, AppliedTagsMixin, Attachment, AttachmentFlagsBitField, AutoModerationAction, AutoModerationActionMetadata, AutoModerationRule, AutoModerationRuleTriggerMetadata, AvatarDecorationData, BitField, type BitFieldResolvable, ButtonComponent, type ButtonDataType, CategoryChannel, Channel, type ChannelDataType, ChannelFlagsBitField, ChannelMention, ChannelOwnerMixin, ChannelParentMixin, ChannelPermissionMixin, ChannelPinMixin, ChannelSelectMenuComponent, ChannelSlowmodeMixin, ChannelTopicMixin, ChannelWebhookMixin, type CollapseUnion, Component, type ComponentDataType, ComponentEmoji, Connection, ContainerComponent, DMChannel, DMChannelMixin, DataTemplatePropertyName, Embed, EmbedAuthor, EmbedField, EmbedFooter, EmbedImage, EmbedProvider, EmbedThumbnail, EmbedVideo, Emoji, Entitlement, type EnumLike, FileComponent, FileUploadComponent, ForumChannel, ForumTag, GroupDMChannel, GroupDMMixin, GuildChannelMixin, type If, InteractionMetadata, type InteractionMetadataType, InteractiveButtonComponent, Invite, LabeledButtonComponent, LinkButtonComponent, MediaChannel, MediaGalleryComponent, MediaGalleryItem, MentionableSelectMenuComponent, type MergePrototype, type MergePrototypes, Message, MessageActivity, MessageCall, MessageComponentInteractionMetadata, MessageFlagsBitField, MessageReference, Mixin, type MixinBase, type MixinTypes, type Mixinable, ModalSubmitInteractionMetadata, type NonAbstract, OptimizeDataPropertyName, type OptionalPropertyNames, type PartialChannel, type Partialize, PermissionOverwrite, PermissionsBitField, Poll, PollAnswer, PollAnswerCount, PollMedia, PollResults, PremiumButtonComponent, PrivateThreadChannel, PublicThreadChannel, Reaction, ReactionCountDetails, type RecursiveReadonlyArray, type ReplaceOmittedWithUnknown, ResolvedInteractionData, RoleSelectMenuComponent, RoleSubscriptionData, SKU, SKUFlagsBitField, SectionComponent, SelectMenuComponent, SelectMenuDefaultValue, SeparatorComponent, SoundboardSound, StageChannel, StageInstance, Sticker, StickerPack, StringSelectMenuComponent, StringSelectMenuOption, Structure, Subscription, Team, TeamMember, TextChannel, TextChannelMixin, TextDisplayComponent, TextInputComponent, ThreadChannelMixin, ThreadMetadata, ThreadOnlyChannelMixin, ThumbnailComponent, UnfurledMediaItem, User, UserSelectMenuComponent, VoiceChannel, VoiceChannelMixin, VoiceRegion, VoiceState, Webhook, dateToDiscordISOTimestamp, extendTemplate };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as discord_api_types_v10 from 'discord-api-types/v10';
2
- import { APIAutoModerationAction, APIAutoModerationActionMetadata, APIAutoModerationRule, APIAutoModerationRuleTriggerMetadata, AttachmentFlags, ChannelFlags, MessageFlags, PermissionFlagsBits, GuildChannelType, ChannelType, ThreadChannelType, GuildTextChannelType, TextChannelType, APIChannel, APIPartialChannel, APIGuildForumTag, APIOverwrite, APIThreadMetadata, APINewsChannel, APIAnnouncementThreadChannel, APIGuildCategoryChannel, APIDMChannel, APIGuildForumChannel, APIGroupDMChannel, APIGuildMediaChannel, APIPrivateThreadChannel, APIPublicThreadChannel, APIGuildStageVoiceChannel, APITextChannel, APIGuildVoiceChannel, APIEmoji, APIEntitlement, APIInteractionDataResolved, APIInvite, APIExtendedInvite, APIMessageComponent, APIModalComponent, ComponentType, APIBaseComponent, APIComponentInActionRow, APIActionRowComponent, ButtonStyle, APIButtonComponentWithCustomId, APIButtonComponent, APISelectMenuComponent, APIChannelSelectComponent, APIContainerComponent, APIFileComponent, APIFileUploadComponent, APIButtonComponentWithURL, APIMediaGalleryComponent, APIMentionableSelectComponent, APIButtonComponentWithSKUId, APIRoleSelectComponent, APISectionComponent, APISeparatorComponent, APIStringSelectComponent, APITextDisplayComponent, APITextInputComponent, APIThumbnailComponent, APIUserSelectComponent, APIMessageComponentEmoji, APIMediaGalleryItem, SelectMenuDefaultValueType, APISelectMenuDefaultValue, APISelectMenuOption, APIUnfurledMediaItem, APIEmbed, APIEmbedAuthor, APIEmbedField, APIEmbedFooter, APIEmbedImage, APIEmbedProvider, APIEmbedThumbnail, APIEmbedVideo, InteractionType, APIMessageInteractionMetadata, APIApplicationCommandInteractionMetadata, APIAttachment, APIChannelMention, APIMessage, APIMessageActivity, APIMessageCall, APIMessageComponentInteractionMetadata, APIMessageReference, MessageReferenceType, APIModalSubmitInteractionMetadata, APIReaction, APIReactionCountDetails, APIMessageRoleSubscriptionData, APIPoll, APIPollAnswer, APIPollAnswerCount, APIPollMedia, APIPollResults, APISoundboardSound, APIStageInstance, APISticker, APIStickerPack, APITeam, APITeamMember, APIAvatarDecorationData, APIUser, APIConnection, APIVoiceState, APIVoiceRegion, APISubscription } from 'discord-api-types/v10';
2
+ import { APIAutoModerationAction, APIAutoModerationActionMetadata, APIAutoModerationRule, APIAutoModerationRuleTriggerMetadata, AttachmentFlags, ChannelFlags, MessageFlags, PermissionFlagsBits, SKUFlags, GuildChannelType, ChannelType, ThreadChannelType, GuildTextChannelType, TextChannelType, APIChannel, APIPartialChannel, APIGuildForumTag, APIOverwrite, APIThreadMetadata, APINewsChannel, APIAnnouncementThreadChannel, APIGuildCategoryChannel, APIDMChannel, APIGuildForumChannel, APIGroupDMChannel, APIGuildMediaChannel, APIPrivateThreadChannel, APIPublicThreadChannel, APIGuildStageVoiceChannel, APITextChannel, APIGuildVoiceChannel, APIEmoji, APIEntitlement, APIInteractionDataResolved, APIInvite, APIExtendedInvite, APIMessageComponent, APIModalComponent, ComponentType, APIBaseComponent, APIComponentInActionRow, APIActionRowComponent, ButtonStyle, APIButtonComponentWithCustomId, APIButtonComponent, APISelectMenuComponent, APIChannelSelectComponent, APIContainerComponent, APIFileComponent, APIFileUploadComponent, APIButtonComponentWithURL, APIMediaGalleryComponent, APIMentionableSelectComponent, APIButtonComponentWithSKUId, APIRoleSelectComponent, APISectionComponent, APISeparatorComponent, APIStringSelectComponent, APITextDisplayComponent, APITextInputComponent, APIThumbnailComponent, APIUserSelectComponent, APIMessageComponentEmoji, APIMediaGalleryItem, SelectMenuDefaultValueType, APISelectMenuDefaultValue, APISelectMenuOption, APIUnfurledMediaItem, APIEmbed, APIEmbedAuthor, APIEmbedField, APIEmbedFooter, APIEmbedImage, APIEmbedProvider, APIEmbedThumbnail, APIEmbedVideo, InteractionType, APIMessageInteractionMetadata, APIApplicationCommandInteractionMetadata, APIAttachment, APIChannelMention, APIMessage, APIMessageActivity, APIMessageCall, APIMessageComponentInteractionMetadata, APIMessageReference, MessageReferenceType, APIModalSubmitInteractionMetadata, APIReaction, APIReactionCountDetails, APIMessageRoleSubscriptionData, APIPoll, APIPollAnswer, APIPollAnswerCount, APIPollMedia, APIPollResults, APISKU, APISoundboardSound, APIStageInstance, APISticker, APIStickerPack, APITeam, APITeamMember, APIAvatarDecorationData, APIUser, APIConnection, APIWebhook, APIVoiceState, APIVoiceRegion, APISubscription } from 'discord-api-types/v10';
3
3
 
4
4
  declare const kData: unique symbol;
5
5
  declare const kClone: unique symbol;
@@ -164,7 +164,9 @@ declare class AutoModerationAction<Omitted extends keyof APIAutoModerationAction
164
164
  */
165
165
  constructor(data: Partialize<APIAutoModerationAction, Omitted>);
166
166
  /**
167
- * The {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-action-types | action type}
167
+ * The action type
168
+ *
169
+ * @see {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-action-types}
168
170
  */
169
171
  get type(): "type" extends infer T ? T extends "type" ? T extends Omitted ? unknown : APIAutoModerationAction[T] : never : never;
170
172
  }
@@ -240,11 +242,15 @@ declare class AutoModerationRule<Omitted extends keyof APIAutoModerationRule | '
240
242
  */
241
243
  get creatorId(): "creator_id" extends infer T ? T extends "creator_id" ? T extends Omitted ? unknown : APIAutoModerationRule[T] : never : never;
242
244
  /**
243
- * The rule {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-event-types | event type}
245
+ * The rule event type
246
+ *
247
+ * @see {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-event-types}
244
248
  */
245
249
  get eventType(): "event_type" extends infer T ? T extends "event_type" ? T extends Omitted ? unknown : APIAutoModerationRule[T] : never : never;
246
250
  /**
247
- * The rule {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types | trigger type}
251
+ * The rule trigger type
252
+ *
253
+ * @see {@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types}
248
254
  */
249
255
  get triggerType(): "trigger_type" extends infer T ? T extends "trigger_type" ? T extends Omitted ? unknown : APIAutoModerationRule[T] : never : never;
250
256
  /**
@@ -434,7 +440,7 @@ declare abstract class BitField<Flags extends string> {
434
440
  /**
435
441
  * Data structure that makes it easy to interact with a {@link Attachment#flags} bitfield.
436
442
  */
437
- declare class AttachmentFlagsBitField extends BitField<keyof AttachmentFlags> {
443
+ declare class AttachmentFlagsBitField extends BitField<keyof typeof AttachmentFlags> {
438
444
  /**
439
445
  * Numeric attachment flags.
440
446
  */
@@ -445,7 +451,7 @@ declare class AttachmentFlagsBitField extends BitField<keyof AttachmentFlags> {
445
451
  /**
446
452
  * Data structure that makes it easy to interact with a {@link (Channel:class).flags} bitfield.
447
453
  */
448
- declare class ChannelFlagsBitField extends BitField<keyof ChannelFlags> {
454
+ declare class ChannelFlagsBitField extends BitField<keyof typeof ChannelFlags> {
449
455
  /**
450
456
  * Numeric guild channel flags.
451
457
  */
@@ -456,7 +462,7 @@ declare class ChannelFlagsBitField extends BitField<keyof ChannelFlags> {
456
462
  /**
457
463
  * Data structure that makes it easy to interact with a {@link Message#flags} bitfield.
458
464
  */
459
- declare class MessageFlagsBitField extends BitField<keyof MessageFlags> {
465
+ declare class MessageFlagsBitField extends BitField<keyof typeof MessageFlags> {
460
466
  /**
461
467
  * Numeric message flags.
462
468
  */
@@ -573,6 +579,17 @@ declare class PermissionsBitField extends BitField<keyof typeof PermissionFlagsB
573
579
  toArray(): ("CreateInstantInvite" | "KickMembers" | "BanMembers" | "Administrator" | "ManageChannels" | "ManageGuild" | "AddReactions" | "ViewAuditLog" | "PrioritySpeaker" | "Stream" | "ViewChannel" | "SendMessages" | "SendTTSMessages" | "ManageMessages" | "EmbedLinks" | "AttachFiles" | "ReadMessageHistory" | "MentionEveryone" | "UseExternalEmojis" | "ViewGuildInsights" | "Connect" | "Speak" | "MuteMembers" | "DeafenMembers" | "MoveMembers" | "UseVAD" | "ChangeNickname" | "ManageNicknames" | "ManageRoles" | "ManageWebhooks" | "ManageEmojisAndStickers" | "ManageGuildExpressions" | "UseApplicationCommands" | "RequestToSpeak" | "ManageEvents" | "ManageThreads" | "CreatePublicThreads" | "CreatePrivateThreads" | "UseExternalStickers" | "SendMessagesInThreads" | "UseEmbeddedActivities" | "ModerateMembers" | "ViewCreatorMonetizationAnalytics" | "UseSoundboard" | "CreateGuildExpressions" | "CreateEvents" | "UseExternalSounds" | "SendVoiceMessages" | "SendPolls" | "UseExternalApps" | "PinMessages" | "BypassSlowmode")[];
574
580
  }
575
581
 
582
+ /**
583
+ * Data structure that makes it easy to interact with an {@link SKUFlags} bitfield.
584
+ */
585
+ declare class SKUFlagsBitField extends BitField<keyof typeof SKUFlags> {
586
+ /**
587
+ * Numeric SKU flags.
588
+ */
589
+ static readonly Flags: typeof SKUFlags;
590
+ toJSON(): string | number;
591
+ }
592
+
576
593
  interface ChannelPermissionMixin<Type extends Exclude<GuildChannelType, ChannelType.GuildDirectory | ThreadChannelType> = Exclude<GuildChannelType, ChannelType.GuildDirectory | ThreadChannelType>> extends Channel<Type> {
577
594
  }
578
595
  /**
@@ -3034,6 +3051,48 @@ declare class PollResults<Omitted extends keyof APIPollResults | '' = ''> extend
3034
3051
  get isFinalized(): "is_finalized" extends infer T ? T extends "is_finalized" ? T extends Omitted ? unknown : APIPollResults[T] : never : never;
3035
3052
  }
3036
3053
 
3054
+ /**
3055
+ * Represents any SKU (stock-keeping units) on Discord.
3056
+ *
3057
+ * @typeParam Omitted - Specify the properties that will not be stored in the raw data field as a union, implement via `DataTemplate`
3058
+ */
3059
+ declare class SKU<Omitted extends keyof APISKU | '' = ''> extends Structure<APISKU, Omitted> {
3060
+ /**
3061
+ * The template used for removing data from the raw data stored for each SKU
3062
+ */
3063
+ static readonly DataTemplate: Partial<APISKU>;
3064
+ /**
3065
+ * @param data - The raw data received from the API for the SKU
3066
+ */
3067
+ constructor(data: Partialize<APISKU, Omitted>);
3068
+ /**
3069
+ * Id of the SKU
3070
+ */
3071
+ get id(): "id" extends infer T ? T extends "id" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3072
+ /**
3073
+ * Type of SKU
3074
+ *
3075
+ * @see {@link https://discord.com/developers/docs/resources/sku#sku-object-sku-types}
3076
+ */
3077
+ get type(): "type" extends infer T ? T extends "type" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3078
+ /**
3079
+ * Id of the parent application
3080
+ */
3081
+ get applicationId(): "application_id" extends infer T ? T extends "application_id" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3082
+ /**
3083
+ * Customer-facing name of your premium offering
3084
+ */
3085
+ get name(): "name" extends infer T ? T extends "name" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3086
+ /**
3087
+ * System-generated URL slug based on the SKU's name
3088
+ */
3089
+ get slug(): "slug" extends infer T ? T extends "slug" ? T extends Omitted ? unknown : APISKU[T] : never : never;
3090
+ /**
3091
+ * SKU flags combined as a bitfield
3092
+ */
3093
+ get flags(): SKUFlagsBitField | null;
3094
+ }
3095
+
3037
3096
  /**
3038
3097
  * Represents any soundboard sound on Discord.
3039
3098
  *
@@ -3497,6 +3556,71 @@ declare class Connection<Omitted extends keyof APIConnection | '' = ''> extends
3497
3556
  get visibility(): "visibility" extends infer T ? T extends "visibility" ? T extends Omitted ? unknown : APIConnection[T] : never : never;
3498
3557
  }
3499
3558
 
3559
+ /**
3560
+ * Represents any webhook on Discord.
3561
+ *
3562
+ * @typeParam Omitted - Specify the properties that will not be stored in the raw data field as a union, implement via `DataTemplate`
3563
+ * @remarks has substructures `User`, `Guild`, `Channel` which need to be instantiated and stored by an extending class using it
3564
+ */
3565
+ declare class Webhook<Omitted extends keyof APIWebhook | '' = ''> extends Structure<APIWebhook, Omitted> {
3566
+ /**
3567
+ * The template used for removing data from the raw data stored for each webhook
3568
+ */
3569
+ static readonly DataTemplate: Partial<APIWebhook>;
3570
+ /**
3571
+ * @param data - The raw data received from the API for the webhook
3572
+ */
3573
+ constructor(data: Partialize<APIWebhook, Omitted>);
3574
+ /**
3575
+ * The id of the webhook
3576
+ */
3577
+ get id(): "id" extends infer T ? T extends "id" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3578
+ /**
3579
+ * The type of the webhook
3580
+ *
3581
+ * @see {@link https://discord.com/developers/docs/resources/webhook#webhook-object-webhook-types}
3582
+ */
3583
+ get type(): "type" extends infer T ? T extends "type" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3584
+ /**
3585
+ * The guild id this webhook is for, if any
3586
+ */
3587
+ get guildId(): ("guild_id" extends infer T ? T extends "guild_id" ? T extends Omitted ? unknown : APIWebhook[T] : never : never) | undefined;
3588
+ /**
3589
+ * The channel id this webhook is for, if any
3590
+ */
3591
+ get channelId(): "channel_id" extends infer T ? T extends "channel_id" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3592
+ /**
3593
+ * The default name of the webhook
3594
+ */
3595
+ get name(): "name" extends infer T ? T extends "name" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3596
+ /**
3597
+ * The default user avatar hash of the webhook
3598
+ *
3599
+ * @see {@link https://discord.com/developers/docs/reference#image-formatting}
3600
+ */
3601
+ get avatar(): "avatar" extends infer T ? T extends "avatar" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3602
+ /**
3603
+ * The secure token of the webhook (returned for incoming webhooks)
3604
+ */
3605
+ get token(): ("token" extends infer T ? T extends "token" ? T extends Omitted ? unknown : APIWebhook[T] : never : never) | undefined;
3606
+ /**
3607
+ * The id of the bot/OAuth2 application that created this webhook
3608
+ */
3609
+ get applicationId(): "application_id" extends infer T ? T extends "application_id" ? T extends Omitted ? unknown : APIWebhook[T] : never : never;
3610
+ /**
3611
+ * The url used for executing the webhook (returned by the webhooks OAuth2 flow)
3612
+ */
3613
+ get url(): ("url" extends infer T ? T extends "url" ? T extends Omitted ? unknown : APIWebhook[T] : never : never) | undefined;
3614
+ /**
3615
+ * The timestamp the webhook was created at
3616
+ */
3617
+ get createdTimestamp(): number | null;
3618
+ /**
3619
+ * The time the webhook was created at
3620
+ */
3621
+ get createdAt(): Date | null;
3622
+ }
3623
+
3500
3624
  /**
3501
3625
  * Represents any voice state on Discord.
3502
3626
  *
@@ -3696,4 +3820,4 @@ declare function extendTemplate<SuperTemplate extends Record<string, unknown>>(s
3696
3820
  */
3697
3821
  declare function dateToDiscordISOTimestamp(date: Date): string;
3698
3822
 
3699
- export { type APIActualInvite, ActionRowComponent, AnnouncementChannel, AnnouncementThreadChannel, ApplicationCommandInteractionMetadata, AppliedTagsMixin, Attachment, AttachmentFlagsBitField, AutoModerationAction, AutoModerationActionMetadata, AutoModerationRule, AutoModerationRuleTriggerMetadata, AvatarDecorationData, BitField, type BitFieldResolvable, ButtonComponent, type ButtonDataType, CategoryChannel, Channel, type ChannelDataType, ChannelFlagsBitField, ChannelMention, ChannelOwnerMixin, ChannelParentMixin, ChannelPermissionMixin, ChannelPinMixin, ChannelSelectMenuComponent, ChannelSlowmodeMixin, ChannelTopicMixin, ChannelWebhookMixin, type CollapseUnion, Component, type ComponentDataType, ComponentEmoji, Connection, ContainerComponent, DMChannel, DMChannelMixin, DataTemplatePropertyName, Embed, EmbedAuthor, EmbedField, EmbedFooter, EmbedImage, EmbedProvider, EmbedThumbnail, EmbedVideo, Emoji, Entitlement, type EnumLike, FileComponent, FileUploadComponent, ForumChannel, ForumTag, GroupDMChannel, GroupDMMixin, GuildChannelMixin, type If, InteractionMetadata, type InteractionMetadataType, InteractiveButtonComponent, Invite, LabeledButtonComponent, LinkButtonComponent, MediaChannel, MediaGalleryComponent, MediaGalleryItem, MentionableSelectMenuComponent, type MergePrototype, type MergePrototypes, Message, MessageActivity, MessageCall, MessageComponentInteractionMetadata, MessageFlagsBitField, MessageReference, Mixin, type MixinBase, type MixinTypes, type Mixinable, ModalSubmitInteractionMetadata, type NonAbstract, OptimizeDataPropertyName, type OptionalPropertyNames, type PartialChannel, type Partialize, PermissionOverwrite, PermissionsBitField, Poll, PollAnswer, PollAnswerCount, PollMedia, PollResults, PremiumButtonComponent, PrivateThreadChannel, PublicThreadChannel, Reaction, ReactionCountDetails, type RecursiveReadonlyArray, type ReplaceOmittedWithUnknown, ResolvedInteractionData, RoleSelectMenuComponent, RoleSubscriptionData, SectionComponent, SelectMenuComponent, SelectMenuDefaultValue, SeparatorComponent, SoundboardSound, StageChannel, StageInstance, Sticker, StickerPack, StringSelectMenuComponent, StringSelectMenuOption, Structure, Subscription, Team, TeamMember, TextChannel, TextChannelMixin, TextDisplayComponent, TextInputComponent, ThreadChannelMixin, ThreadMetadata, ThreadOnlyChannelMixin, ThumbnailComponent, UnfurledMediaItem, User, UserSelectMenuComponent, VoiceChannel, VoiceChannelMixin, VoiceRegion, VoiceState, dateToDiscordISOTimestamp, extendTemplate };
3823
+ export { type APIActualInvite, ActionRowComponent, AnnouncementChannel, AnnouncementThreadChannel, ApplicationCommandInteractionMetadata, AppliedTagsMixin, Attachment, AttachmentFlagsBitField, AutoModerationAction, AutoModerationActionMetadata, AutoModerationRule, AutoModerationRuleTriggerMetadata, AvatarDecorationData, BitField, type BitFieldResolvable, ButtonComponent, type ButtonDataType, CategoryChannel, Channel, type ChannelDataType, ChannelFlagsBitField, ChannelMention, ChannelOwnerMixin, ChannelParentMixin, ChannelPermissionMixin, ChannelPinMixin, ChannelSelectMenuComponent, ChannelSlowmodeMixin, ChannelTopicMixin, ChannelWebhookMixin, type CollapseUnion, Component, type ComponentDataType, ComponentEmoji, Connection, ContainerComponent, DMChannel, DMChannelMixin, DataTemplatePropertyName, Embed, EmbedAuthor, EmbedField, EmbedFooter, EmbedImage, EmbedProvider, EmbedThumbnail, EmbedVideo, Emoji, Entitlement, type EnumLike, FileComponent, FileUploadComponent, ForumChannel, ForumTag, GroupDMChannel, GroupDMMixin, GuildChannelMixin, type If, InteractionMetadata, type InteractionMetadataType, InteractiveButtonComponent, Invite, LabeledButtonComponent, LinkButtonComponent, MediaChannel, MediaGalleryComponent, MediaGalleryItem, MentionableSelectMenuComponent, type MergePrototype, type MergePrototypes, Message, MessageActivity, MessageCall, MessageComponentInteractionMetadata, MessageFlagsBitField, MessageReference, Mixin, type MixinBase, type MixinTypes, type Mixinable, ModalSubmitInteractionMetadata, type NonAbstract, OptimizeDataPropertyName, type OptionalPropertyNames, type PartialChannel, type Partialize, PermissionOverwrite, PermissionsBitField, Poll, PollAnswer, PollAnswerCount, PollMedia, PollResults, PremiumButtonComponent, PrivateThreadChannel, PublicThreadChannel, Reaction, ReactionCountDetails, type RecursiveReadonlyArray, type ReplaceOmittedWithUnknown, ResolvedInteractionData, RoleSelectMenuComponent, RoleSubscriptionData, SKU, SKUFlagsBitField, SectionComponent, SelectMenuComponent, SelectMenuDefaultValue, SeparatorComponent, SoundboardSound, StageChannel, StageInstance, Sticker, StickerPack, StringSelectMenuComponent, StringSelectMenuOption, Structure, Subscription, Team, TeamMember, TextChannel, TextChannelMixin, TextDisplayComponent, TextInputComponent, ThreadChannelMixin, ThreadMetadata, ThreadOnlyChannelMixin, ThumbnailComponent, UnfurledMediaItem, User, UserSelectMenuComponent, VoiceChannel, VoiceChannelMixin, VoiceRegion, VoiceState, Webhook, dateToDiscordISOTimestamp, extendTemplate };