///
///
import { integer, Camelize, snowflake, Snowflake, SweeperType } from './types.js';
import { ActionTypes, AllowedMentionTypes, ApplicationCommandOptionTypes, ApplicationCommandTypes, ApplicationRoleConnectionMetadataType, ButtonStyles, ChannelTypes, ComponentTypes, DefaultMessageNotifications, ExplicitContentFilterLevel, GatewayEventNames, GatewayOpCodes, GuildFeatures, GuildNSFWLevel, GuildScheduledEventEntityType, GuildScheduledEventPrivacyLevel, GuildScheduledEventStatus, InteractionTypes, InviteTargetTypes, KeywordPresetTypes, Locales, MFALevel, MessageFlags, OverwriteType, PremiumTier, PremiumTypes, Status, SystemChannelFlags, TextInputStyles, ThreadAutoArchiveDuration, VerificationLevel, ApplicationCommandPermissionTypes } from './enums.js';
import User from '../classes/User.js';
import Member from '../classes/Member.js';
export interface ClientOptions {
token: `${string}.${string}.${string}`;
intents: integer;
identify?: Camelize;
}
export interface GatewayEventData {
op: GatewayOpCodes;
d?: Record;
s?: integer;
t?: string;
}
export interface GatewayHelloData {
op: GatewayOpCodes.Hello;
d: {
heartbeat_interval: integer;
};
}
export interface GatewayIdentifyData {
op: GatewayOpCodes.Identify;
d: {
token: string;
intents: integer;
properties: {
os: string;
browser: string;
device: string;
};
compress?: boolean;
large_threshold?: integer;
shard?: [integer, integer];
presence?: {
status: Status;
activities: Activity[];
afk: boolean;
since?: integer;
};
};
}
export interface RawPresenceData {
user: RawUserData;
guild_id: snowflake;
status: Status;
activities: Activity[];
client_status: {
desktop?: string;
mobile?: string;
web?: string;
};
}
export interface Presence {
user: User;
guildId?: Snowflake;
status: Status;
activities: Activity[];
clientStatus: {
desktop?: string;
mobile?: string;
web?: string;
};
__priority: number;
}
export interface Activity {
name: string;
type: integer;
url?: string;
}
export interface GatewayHeartbeatData {
op: GatewayOpCodes.Heartbeat;
d: integer;
}
export interface GatewayHeartbeatAckData {
op: GatewayOpCodes.HeartbeatAck;
d: integer;
}
export interface GatewayDispatchData {
op: GatewayOpCodes.Dispatch;
s: integer;
t: GatewayEventNames;
d: unknown;
}
export interface GatewayReadyData extends GatewayDispatchData {
t: GatewayEventNames.Ready;
d: {
v: 10 | 9;
user: RawUserData;
guilds: {
id: snowflake;
unavailable?: boolean;
}[];
session_id: string;
resume_gateway_url: string;
shard?: [integer, integer];
application: RawApplicationData;
};
}
export interface GatewayDebugData extends GatewayDispatchData {
t: GatewayEventNames.Debug;
d: {
message: unknown;
timestamp: number;
status: string;
};
s: number;
}
export interface RawUserData {
id: snowflake;
username: string;
discriminator: string;
avatar: string;
bot?: boolean;
system?: boolean;
mfa_enabled?: boolean;
banner?: string;
accent_color?: integer;
locale?: Locales;
verified?: boolean;
email?: string;
flags?: integer;
premium_type?: PremiumTypes;
public_flags?: integer;
banner_color: string;
global_name: string | null;
avatar_decoration: string | null;
display_name: string | null;
}
export interface RawApplicationData {
id: snowflake;
name: string;
icon: string;
description: string;
rpc_origins?: string[];
bot_public?: boolean;
bot_require_code_grant?: boolean;
terms_of_service_url?: string;
privacy_policy_url?: string;
owner: RawUserData;
verify_key: string;
team?: rawTeamData[];
guild_id?: snowflake;
primary_sku_id?: snowflake;
slug?: string;
cover_image?: string;
flags?: integer;
tags?: string[];
install_params?: string;
custom_install_url?: string;
role_Groups_verification_url?: string;
}
export interface rawTeamData {
icon?: string;
id: snowflake;
members: rawTeamMemberData[];
name: string;
owner_user_id: snowflake;
}
export interface rawTeamMemberData {
membership_state: 1 | 2;
permissions: string[];
team_id: snowflake;
user: RawUserData;
}
export interface GatewayResumedData extends GatewayDispatchData {
t: GatewayEventNames.Resumed;
d: {
_trace: string[];
};
}
export interface GatewayReconnectData extends GatewayDispatchData {
t: GatewayEventNames.Reconnect;
d: null;
}
export interface GatewayInvalidSessionData extends GatewayDispatchData {
t: GatewayEventNames.InvalidSession;
d: boolean;
}
export interface GatewayMessageCreateData extends GatewayDispatchData {
t: GatewayEventNames.MessageCreate;
d: RawMessageData;
}
export interface GatewayGuildCreateData extends GatewayDispatchData {
t: GatewayEventNames.GuildCreate;
d: RawGuildData;
}
export interface GatewayChannelCreateData extends GatewayDispatchData {
t: GatewayEventNames.ChannelCreate;
d: RawChannelData;
}
export interface GatewayInteractionCreateData extends GatewayDispatchData {
t: GatewayEventNames.InteractionCreate;
d: RawInteractionData;
}
export interface RawMessageData {
guild_id: snowflake;
member: RawMemberData;
edited_timestamp: any;
this: any;
id: snowflake;
channel_id: snowflake;
author: RawUserData;
content: string;
timestamp: string;
edited_timstamp: string | null;
tts: boolean;
mention_everyone: boolean;
mentions: RawUserData[];
mention_roles: snowflake[];
mention_channels?: RawChannelMentionData[];
attachments: RawAttachmentData[];
embeds: RawEmbedData[];
reactions?: RawReactionData[];
nonce?: string | integer;
pinned: boolean;
webhook_id?: snowflake;
type: integer;
activity?: RawMessageActivityData;
application?: RawApplicationData;
application_id?: snowflake;
message_reference?: RawMessageReferenceData;
flags?: integer;
stickers?: RawStickerData[];
referenced_message?: RawMessageData;
interaction?: RawMessageInteractionData;
thread?: RawChannelData;
components?: RawMessageComponentData[];
sticker_items?: RawStickerItemData[];
position?: integer;
role_subscription_data?: RawRoleSubscriptionData;
}
export interface RawRoleData {
id: snowflake;
name: string;
color: integer;
hoist: boolean;
icon?: string;
unicode_emoji?: string;
position: integer;
permissions: string;
managed: boolean;
mentionable: boolean;
tags?: RawRoleTagsData;
}
export interface RawRoleTagsData {
bot_id?: snowflake;
integration_id?: snowflake;
premium_subscriber?: null;
subscription_listing_id?: snowflake;
available_for_purchase?: null;
guild_connections?: null;
}
export interface RawChannelMentionData {
id: snowflake;
guild_id: snowflake;
type: integer;
name: string;
}
export interface RawAttachmentData {
id: snowflake;
filename: string;
description?: string;
content_type?: string;
size: integer;
url: string;
proxy_url: string;
height?: integer;
width?: integer;
ephemeral?: boolean;
}
export interface RawEmbedData {
title?: string;
type?: string;
description?: string;
url?: string;
timestamp?: string;
color?: integer;
footer?: {
text?: string;
icon_url?: string;
};
image?: {
url?: string;
};
thumbnail?: {
url?: string;
};
video?: {
url?: string;
proxy_url?: string;
height?: integer;
width?: integer;
};
provider?: {
name?: string;
url?: string;
};
author?: {
name?: string;
url?: string;
icon_url?: string;
};
fields?: {
name: string;
value: string;
inline?: boolean;
}[];
}
export interface RawReactionData {
count: integer;
me: boolean;
emoji: RawEmojiData;
}
export interface RawEmojiData {
id: snowflake | null;
name: string;
roles?: snowflake[];
user?: RawUserData;
require_colons?: boolean;
managed?: boolean;
animated?: boolean;
available?: boolean;
}
export interface RawMessageActivityData {
type: 1 | 2 | 3 | 5;
party_id?: string;
}
export interface RawMessageReferenceData {
message_id?: snowflake;
channel_id?: snowflake;
guild_id?: snowflake;
fail_if_not_exists?: boolean;
}
export interface RawMessageInteractionData {
id: snowflake;
type: InteractionTypes;
name: string;
user: RawUserData;
member?: RawMemberData;
}
export interface RawMemberData {
user?: RawUserData;
nick?: string;
avatar?: string;
roles: snowflake[];
joined_at: string;
premium_since?: string;
deaf: boolean;
mute: boolean;
pending?: boolean;
permissions?: string;
communication_disabled_until?: string;
}
export interface RawChannelData {
id: snowflake;
type: ChannelTypes;
guild_id?: snowflake;
position?: integer;
permission_overwrites?: RawOverwriteData[];
name?: string;
topic?: string | null;
nsfw?: boolean;
last_message_id?: snowflake;
bitrate?: integer;
user_limit?: integer;
rate_limit_per_user?: integer;
recipients?: RawUserData[];
icon?: string;
owner_id?: snowflake;
application_id?: snowflake;
parent_id?: snowflake;
last_pin_timestamp?: string;
rtc_region?: string;
video_quality_mode?: integer;
message_count?: integer;
member_count?: integer;
thread_metadata?: RawThreadMetadataData;
member?: RawThreadMemberData;
default_auto_archive_duration?: integer;
permissions?: string;
flags?: integer;
total_message_sent?: integer;
available_tags?: RawTagData[];
applied_tags?: snowflake[];
default_reaction_emoji?: RawDefaultReactionData[];
default_thread_rate_limit_per_user?: integer;
default_sort_order?: integer;
default_forum_layout?: integer;
}
export interface RawOverwriteData {
id: snowflake;
type: 0 | 1;
allow: string;
deny: string;
}
export interface RawThreadMetadataData {
archived: boolean;
auto_archive_duration: integer;
archive_timestamp: string;
locked?: boolean;
invitable?: boolean;
create_timestamp?: string;
}
export interface RawThreadMemberData {
id?: snowflake;
user_id?: snowflake;
join_timestamp?: string;
flags?: integer;
member?: RawMemberData;
}
export interface RawTagData {
id: snowflake;
name: string;
moderated: boolean;
emoji_id: snowflake | null;
emoji_name: string | null;
}
export interface RawDefaultReactionData {
emoji_id: snowflake | null;
emoji_name: string | null;
}
export interface RawStickerData {
id: snowflake;
pack_id?: snowflake;
name: string;
description: string | null;
tags?: string;
asset?: string;
type: 1 | 2;
format_type: 1 | 2 | 3 | 4;
available?: boolean;
guild_id?: snowflake;
user?: RawUserData;
sort_value?: integer;
}
export interface RawStickerItemData {
id: snowflake;
name: string;
format_type: 1 | 2 | 3 | 4;
}
export interface RawMessageComponentData {
type: 1;
components: (RawButtonData | RawMenuData | RawTextInputData)[];
}
export interface RawButtonData {
type: 2;
style: ButtonStyles;
label?: string;
emoji?: {
id?: snowflake;
name?: string;
animated?: boolean;
};
custom_id?: string;
url?: string;
disabled?: boolean;
}
export interface RawMenuData {
type: 3 | 5 | 6 | 7 | 8;
custom_id: string;
options?: RawMenuOptionData[];
channel_types?: ChannelTypes[];
placeholder?: string;
min_values?: integer;
max_values?: integer;
disabled?: boolean;
}
export interface RawMenuOptionData {
label: string;
value: string;
description?: string;
emoji?: {
id?: snowflake;
name?: string;
animated?: boolean;
};
default?: boolean;
}
export interface RawTextInputData {
type: 4;
custom_id: string;
placeholder?: string;
min_length?: integer;
max_length?: integer;
style: TextInputStyles;
}
export interface RawRoleSubscriptionData {
role_subscription_listing_id: snowflake;
tier_name: string;
total_months_subscribed: integer;
is_renewal: boolean;
}
export interface Queue {
global: boolean;
limit: integer;
remaining: integer;
reset: integer;
resetAfter: integer;
bucket: string;
route: string;
}
export interface requestOptions {
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
url: string;
auditLogReason?: string;
route: string;
params?: object;
}
export interface ApplicationRoleConnectionMetadata {
type: ApplicationRoleConnectionMetadataType;
key: string;
name: string;
nameLocalizations?: Record;
description: string;
descriptionLocalizations?: Record;
}
export interface AutoModerationRule {
name: string;
eventTypes: integer;
triggerType: integer;
triggerMetadata: AutoModerationRuleTriggerMetadata;
actions: {
type: ActionTypes;
metadata: ActionMetadata;
}[];
enabled?: boolean;
exemptRoles?: Snowflake[];
exemptChannels?: Snowflake[];
}
export interface AutoModerationRuleTriggerMetadata {
keywordFilter: string[];
regex_patterns: string[];
presets: KeywordPresetTypes;
allowList: string[];
mentionTotalLimit: integer;
}
export interface ActionMetadata {
channelId: snowflake;
durationSeconds: integer;
}
export interface MessagePayload {
content?: string;
tts?: boolean;
embeds?: Camelize[];
allowedMentions?: allowedMentions;
messageReference?: Camelize;
components?: Camelize[];
stickerIds?: Snowflake[];
attachments?: MessagePayloadAttachment[];
flags?: MessageFlags;
nounce?: string | integer;
}
export interface allowedMentions {
parse?: AllowedMentionTypes[];
roles?: snowflake[];
users?: snowflake[];
repliedUser?: boolean;
}
export interface MessagePayloadAttachment {
file?: {
blob: Blob;
key: `files[${integer}]}]`;
filename: string;
};
name: string;
data: string | Buffer;
spoiler?: boolean;
description?: string;
}
export interface EditChannelPermissionsPayload {
allow: string;
deny: string;
type: OverwriteType;
}
export interface RawGuildData {
id: snowflake;
name: string;
icon: string | null;
icon_hash: string | null;
splash: string | null;
discovery_splash: string | null;
owner?: boolean;
owner_id: snowflake;
permissions?: string;
afk_channel_id: snowflake | null;
afk_timeout: integer;
widget_enabled?: boolean;
widget_channel_id?: snowflake | null;
verification_level: VerificationLevel;
default_message_notifications: DefaultMessageNotifications;
explicit_content_filter: ExplicitContentFilterLevel;
roles: RawRoleData[];
emojis: RawEmojiData[];
features: GuildFeatures[];
mfa_level: MFALevel;
application_id?: snowflake;
system_channel_id?: snowflake;
system_channel_flags: SystemChannelFlags;
rules_channel_id?: snowflake;
max_presences?: integer;
max_members?: integer;
vanity_url_code?: string;
description?: string;
banner?: string;
premium_tier: PremiumTier;
premium_subscription_count?: integer;
preferred_locale: Locales;
public_updates_channel_id?: snowflake;
max_video_channel_users?: integer;
approximate_member_count?: integer;
approximate_presence_count?: integer;
welcome_screen?: RawWelcomeScreenData;
nsfw_level: GuildNSFWLevel;
stickers?: RawStickerData[];
premium_progress_bar_enabled?: boolean;
joined_at?: string;
large?: boolean;
unavailable?: boolean;
member_count?: integer;
voice_states?: RawVoiceStateData[];
members?: RawMemberData[];
channels?: RawChannelData[];
threads?: RawChannelData[];
presences?: RawPresenceData[];
stage_instances?: RawStageInstanceData[];
guild_scheduled_events?: RawGuildScheduledEventData[];
}
export interface RawWelcomeScreenData {
description: string | null;
welcome_channels: RawWelcomeScreenChannelData[];
}
export interface RawWelcomeScreenChannelData {
channel_id: snowflake;
description: string;
emoji_id: snowflake | null;
emoji_name: string | null;
}
export interface RawInviteData {
code: string;
guild?: RawGuildData;
channel: RawChannelData;
inviter?: RawUserData;
target_user?: RawUserData;
target_type?: InviteTargetTypes;
target_application?: RawApplicationData;
approximate_presence_count?: integer;
approximate_member_count?: integer;
expires_at?: string;
guild_scheduled_event?: RawGuildScheduledEventData;
}
export interface RawGuildScheduledEventData {
id: snowflake;
guild_id: snowflake;
channel_id: snowflake | null;
creator_id?: snowflake | null;
name: string;
description?: string;
scheduled_start_time: string;
scheduled_end_time: string | null;
privacy_level: GuildScheduledEventPrivacyLevel;
status: GuildScheduledEventStatus;
entity_type: GuildScheduledEventEntityType;
entity_id?: snowflake | null;
entity_metadata?: RawGuildScheduledEventEntityMetadata | null;
creator?: RawUserData;
user_count?: integer;
image?: string | null;
}
export interface RawGuildScheduledEventEntityMetadata {
location?: string;
}
export interface CreateChannelInvitePayload {
maxAge?: integer;
maxUses?: integer;
temporary?: boolean;
unique?: boolean;
targetUserId?: snowflake;
targetType?: InviteTargetTypes;
targetApplicationId?: snowflake;
}
export interface GroupDMAddRecipientPayload {
accessToken: string;
nick: string;
}
export interface StartThreadPayload {
name: string;
autoArchiveDuration: ThreadAutoArchiveDuration;
rateLimitPerUser?: integer;
}
export interface StartThreadInForumPayload extends StartThreadPayload {
message: MessagePayload;
applied_tags?: snowflake[];
}
export interface ListArchivedThreadsPayload {
before?: Snowflake;
limit?: integer;
}
export interface CreateGuildEmojiPayload {
name: string;
image: string;
roles?: Snowflake[];
}
export interface GroupConfigOptions {
sweeper?: SweeperOptions;
size?: number;
cacheFunction?: Function;
class: string;
}
export interface SweeperOptions {
type: SweeperType;
timeLimit?: number;
cacheTimeLimit?: number;
timer: NodeJS.Timer | null;
}
export interface RawStageInstanceData {
id: snowflake;
guild_id: snowflake;
channel_id: snowflake;
topic: string;
privacy_level: integer;
discoverable_disabled: boolean;
guild_scheduled_event_id: snowflake | null;
}
export interface StageInstances {
id: Snowflake;
guildId?: Snowflake;
channelId: Snowflake;
topic: string;
privacy: GuildScheduledEventPrivacyLevel;
discoverableDisabled: boolean;
guildScheduledEventId: Snowflake | null;
__priority: number;
}
export interface GuildScheduledEvent {
id: Snowflake;
guildId: Snowflake;
channelId: Snowflake | null;
creatorId?: Snowflake | null;
name: string;
description?: string;
scheduledStartTime: Date;
scheduledEndTime: Date | null;
privacy: GuildScheduledEventPrivacyLevel;
status: GuildScheduledEventStatus;
entityType: GuildScheduledEventEntityType;
entityId?: Snowflake | null;
entityMetadata?: RawGuildScheduledEventEntityMetadata | null;
creator?: User;
userCount?: integer;
image?: string | null;
}
export interface RawVoiceStateData {
guild_id: snowflake;
channel_id: snowflake | null;
user_id: snowflake;
member?: RawMemberData;
session_id: string;
deaf: boolean;
mute: boolean;
self_deaf: boolean;
self_mute: boolean;
self_stream?: boolean;
self_video: boolean;
suppress: boolean;
request_to_speak_timestamp: string | null;
}
export interface VoiceState {
guildId?: Snowflake;
channelId: Snowflake | null;
userId: Snowflake;
member?: Member;
sessionId: string;
deaf: boolean;
mute: boolean;
selfDeaf: boolean;
selfMute: boolean;
selfStream?: boolean;
selfVideo: boolean;
suppress: boolean;
requestToSpeakTimestamp: Date | null;
__priority: number;
}
export interface RawChannelMessageOptions {
around?: Snowflake;
before?: Snowflake;
after?: Snowflake;
limit?: integer;
}
export interface CreateGuildPayload {
name: string;
icon?: string;
verificationLevel?: VerificationLevel;
defaultMessageNotifications?: DefaultMessageNotifications;
explicitContentFilter?: ExplicitContentFilterLevel;
roles?: Camelize[];
channels?: Camelize[];
afkChannelId?: Snowflake;
afkTimeout?: integer;
systemChannelId?: Snowflake;
systemChannelFlags?: SystemChannelFlags;
}
export interface ModifyGuildChannelPositionsPayload {
id: Snowflake;
position?: integer;
lockPermissions?: boolean;
parentId?: Snowflake | null;
}
export interface ListGuildMembersPayload {
limit?: integer;
after?: Snowflake;
}
export interface SearchGuildMembersPayLoad {
query: string;
limit?: integer;
}
export interface AddGuildMemberPayload {
accessToken: string;
nick?: string;
roles?: Snowflake[];
mute?: boolean;
deaf?: boolean;
}
export interface ModifyGuildMemberPayload {
nick?: string | null;
roles?: Snowflake[];
mute?: boolean;
deaf?: boolean;
channelId?: Snowflake | null;
communicationDisabledUntil?: Date;
flags?: integer;
}
export interface CreateGuildBanPayload {
deleteMessageSeconds?: integer;
}
export interface GuildRolePayload {
name?: string;
permissions?: string;
color?: integer | `#${string}` | `0x${string}` | `rgb(${integer},${integer},${integer})`;
hoist?: boolean;
mentionable?: boolean;
icon?: string;
unicodeEmoji?: string;
}
export interface GetGuildPruneCountPayload {
days?: integer;
includeRoles?: Snowflake[];
}
export interface BeginGuildPrunePayload extends GetGuildPruneCountPayload {
computePruneCount?: boolean;
}
export interface ModifyGuildWidgetPayload {
enabled?: boolean;
channelId?: Snowflake | null;
}
export interface ModifyGuildWelcomeScreenPayload {
enabled?: boolean;
welcomeChannels?: Camelize[];
description?: string | null;
}
export interface ModifyUserVoiceStatePayload {
channelId: Snowflake | null;
suppress?: boolean;
}
export interface ModifyCurrentUserVoiceStatePayload extends ModifyUserVoiceStatePayload {
requestToSpeakTimestamp?: Date | null;
}
export interface RawInteractionData {
id: snowflake;
application_id: snowflake;
type: InteractionTypes;
data?: RawInteractionDataData;
guild_id?: snowflake;
channel?: RawChannelData;
channel_id?: snowflake;
member?: RawMemberData;
user?: RawUserData;
token: string;
version: integer;
message?: RawMessageData;
app_permissions?: string;
locale?: Locales;
guild_locale?: Locales;
custom_id?: string;
component_type?: ComponentTypes;
values?: SelectOption[];
components?: RawMessageComponentData;
}
export interface SelectOption {
label: string;
value: string;
description?: string;
emoji?: {
id?: snowflake;
name?: string;
animated?: boolean;
};
default?: boolean;
}
export interface RawInteractionDataData {
id: snowflake;
name: string;
type: ApplicationCommandTypes;
resolved?: RawInteractionApplicationCommandResolvedData;
options?: RawApplicationCommandInteractionDataOption[];
guild_id?: snowflake;
target_id?: snowflake;
}
export interface RawInteractionApplicationCommandResolvedData {
users?: Record;
members?: Record;
roles?: Record;
channels?: Record;
messages?: Record;
attachments?: Record;
}
export interface RawApplicationCommandInteractionDataOption {
name: string;
type: ApplicationCommandOptionTypes;
value?: string | integer | boolean;
options?: RawApplicationCommandInteractionDataOption[];
focused?: boolean;
}
export interface InteractionResponsePayload extends MessagePayload {
messageReference: undefined;
stickerIds: undefined;
nounce: undefined;
}
export interface AutoCompleteInteractionResponsePayload {
choices: {
name: string;
value: string;
nameLocalizations?: Record;
}[];
}
export interface ActionRow {
type: 1;
components: (RawButtonData | RawMenuData | RawTextInputData)[];
}
export interface ModalInteractionResponsePayload {
title: string;
customId: string;
components: Camelize<(ActionRow | RawTextInputData)>[];
}
export interface CreateApplicationCommandPayload {
name: string;
nameLocalizations?: Record;
description: string;
descriptionLocalizations?: Record;
options?: RawApplicationCommandOptionData[];
defaultMemberPermissions?: bigint;
dmPermissions?: string;
type?: ApplicationCommandTypes;
nsfw?: boolean;
}
export interface RawApplicationCommandOptionData {
type: ApplicationCommandOptionTypes;
name: string;
nameLocalizations?: Record;
description: string;
descriptionLocalizations?: Record;
required?: boolean;
choices?: RawApplicationCommandOptionChoiceData[];
options?: RawApplicationCommandOptionData[];
channelTypes?: ChannelTypes[];
minValue?: number;
maxValue?: number;
minLength?: integer;
maxLength?: integer;
autocomplete?: boolean;
}
export interface RawApplicationCommandOptionChoiceData {
name: string;
nameLocalizations?: Record;
value: string | integer | number;
}
export interface RawGuildApplicationCommandPermissions {
id: snowflake;
application_id: snowflake;
guild_id: snowflake;
permissions: RawApplicationCommandPermissions[];
}
export interface RawApplicationCommandPermissions {
id: snowflake;
type: ApplicationCommandPermissionTypes;
permission: boolean;
}
//# sourceMappingURL=interface.d.ts.map