/* AUTO-GENERATED. DO NOT EDIT. */

/**
 * ActionTypes
 */
export const enum ActionTypes {
  /** User started typing in a channel */
  TYPING_START = "TYPING_START",
  /** Invite to a channel was created */
  INVITE_CREATE = "INVITE_CREATE",
  /** Invite to a channel was deleted */
  INVITE_DELETE = "INVITE_DELETE",
  /** Guild channel webhook was created, updated, or deleted */
  WEBHOOKS_UPDATE = "WEBHOOKS_UPDATE",
  /** New guild channel created */
  CHANNEL_CREATE = "CHANNEL_CREATE",
  /** Voice channel status was updated */
  VOICE_CHANNEL_STATUS_UPDATE = "VOICE_CHANNEL_STATUS_UPDATE",
  /** Channel was updated */
  CHANNEL_UPDATE = "CHANNEL_UPDATE",
  /** Channel was deleted */
  CHANNEL_DELETE = "CHANNEL_DELETE",
  /** Message was pinned or unpinned */
  CHANNEL_PINS_UPDATE = "CHANNEL_PINS_UPDATE",
  /** Thread created, also sent when being added to a private thread */
  THREAD_CREATE = "THREAD_CREATE",
  /** Thread was updated */
  THREAD_UPDATE = "THREAD_UPDATE",
  /** Thread was deleted */
  THREAD_DELETE = "THREAD_DELETE",
  /** Sent when gaining access to a channel, contains all active threads in that channel */
  THREAD_LIST_SYNC = "THREAD_LIST_SYNC",
  /** Thread member for the current user was updated */
  THREAD_MEMBER_UPDATE = "THREAD_MEMBER_UPDATE",
  /** Some user(s) were added to or removed from a thread */
  THREAD_MEMBERS_UPDATE = "THREAD_MEMBERS_UPDATE",
  /** Lazy-load for unavailable guild, guild became available, or user joined a new guild */
  GUILD_CREATE = "GUILD_CREATE",
  /** Guild was updated */
  GUILD_UPDATE = "GUILD_UPDATE",
  /** Guild became unavailable, or user left/was removed from a guild */
  GUILD_DELETE = "GUILD_DELETE",
  /** Guild emojis were updated */
  GUILD_EMOJIS_UPDATE = "GUILD_EMOJIS_UPDATE",
  /** Guild stickers were updated */
  GUILD_STICKERS_UPDATE = "GUILD_STICKERS_UPDATE",
  /** Guild integration was updated */
  GUILD_INTEGRATIONS_UPDATE = "GUILD_INTEGRATIONS_UPDATE",
  /** New user joined a guild */
  GUILD_MEMBER_ADD = "GUILD_MEMBER_ADD",
  /** Guild member was updated */
  GUILD_MEMBER_UPDATE = "GUILD_MEMBER_UPDATE",
  /** User was removed from a guild */
  GUILD_MEMBER_REMOVE = "GUILD_MEMBER_REMOVE",
  /** User was banned from a guild */
  GUILD_BAN_ADD = "GUILD_BAN_ADD",
  /** User was unbanned from a guild */
  GUILD_BAN_REMOVE = "GUILD_BAN_REMOVE",
  /** Guild role was created */
  GUILD_ROLE_CREATE = "GUILD_ROLE_CREATE",
  /** Guild role was updated */
  GUILD_ROLE_UPDATE = "GUILD_ROLE_UPDATE",
  /** Guild role was deleted */
  GUILD_ROLE_DELETE = "GUILD_ROLE_DELETE",
  /** Response to Request Guild Members */
  GUILD_MEMBERS_CHUNK = "GUILD_MEMBERS_CHUNK",
  /** Message was created */
  MESSAGE_CREATE = "MESSAGE_CREATE",
  /** Message was edited */
  MESSAGE_UPDATE = "MESSAGE_UPDATE",
  /** Message was deleted */
  MESSAGE_DELETE = "MESSAGE_DELETE",
  /** Multiple messages were deleted at once */
  MESSAGE_DELETE_BULK = "MESSAGE_DELETE_BULK",
  /** User reacted to a message */
  MESSAGE_REACTION_ADD = "MESSAGE_REACTION_ADD",
  /** User removed a reaction from a message */
  MESSAGE_REACTION_REMOVE = "MESSAGE_REACTION_REMOVE",
  /** All reactions were explicitly removed from a message */
  MESSAGE_REACTION_REMOVE_ALL = "MESSAGE_REACTION_REMOVE_ALL",
  /** All reactions for a given emoji were explicitly removed from a message */
  MESSAGE_REACTION_REMOVE_EMOJI = "MESSAGE_REACTION_REMOVE_EMOJI",
  /** Properties about the user changed */
  USER_UPDATE = "USER_UPDATE",
  /** Entitlement was created */
  ENTITLEMENT_CREATE = "ENTITLEMENT_CREATE",
  /** Entitlement was updated */
  ENTITLEMENT_UPDATE = "ENTITLEMENT_UPDATE",
  /** Entitlement was deleted */
  ENTITLEMENT_DELETE = "ENTITLEMENT_DELETE",
  /** Contains the initial state information */
  READY = "READY",
  /** Response to Resume */
  RESUMED = "RESUMED",
  /** User was updated */
  PRESENCE_UPDATE = "PRESENCE_UPDATE",
  /** Someone joined, left, or moved a voice channel */
  VOICE_STATE_UPDATE = "VOICE_STATE_UPDATE",
  /** Guild's voice server was updated */
  VOICE_SERVER_UPDATE = "VOICE_SERVER_UPDATE",
  /** Sent when a message is created in a lobby */
  LOBBY_MESSAGE_CREATE = "LOBBY_MESSAGE_CREATE",
  /** Sent when a message is updated in a lobby */
  LOBBY_MESSAGE_UPDATE = "LOBBY_MESSAGE_UPDATE",
  /** Sent when a message is deleted from a lobby */
  LOBBY_MESSAGE_DELETE = "LOBBY_MESSAGE_DELETE",
  /** Sent when a direct message is created during an active Social SDK session */
  GAME_DIRECT_MESSAGE_CREATE = "GAME_DIRECT_MESSAGE_CREATE",
  /** Sent when a direct message is deleted during an active Social SDK session */
  GAME_DIRECT_MESSAGE_DELETE = "GAME_DIRECT_MESSAGE_DELETE",
  /** Sent when a direct message is updated during an active Social SDK session */
  GAME_DIRECT_MESSAGE_UPDATE = "GAME_DIRECT_MESSAGE_UPDATE",
  /** User used an interaction, such as an Application Command */
  INTERACTION_CREATE = "INTERACTION_CREATE",
  /** Guild integration was created */
  INTEGRATION_CREATE = "INTEGRATION_CREATE",
  /** Guild integration was updated */
  INTEGRATION_UPDATE = "INTEGRATION_UPDATE",
  /** Guild integration was deleted */
  INTEGRATION_DELETE = "INTEGRATION_DELETE",
  /** Application command permission was updated */
  APPLICATION_COMMAND_PERMISSIONS_UPDATE = "APPLICATION_COMMAND_PERMISSIONS_UPDATE",
  /** Sent when an app was authorized by a user to a server or their account */
  APPLICATION_AUTHORIZED = "APPLICATION_AUTHORIZED",
  /** Sent when an app was deauthorized by a user */
  APPLICATION_DEAUTHORIZED = "APPLICATION_DEAUTHORIZED",
  /** Stage instance was created */
  STAGE_INSTANCE_CREATE = "STAGE_INSTANCE_CREATE",
  /** Stage instance was updated */
  STAGE_INSTANCE_UPDATE = "STAGE_INSTANCE_UPDATE",
  /** Stage instance was deleted or closed */
  STAGE_INSTANCE_DELETE = "STAGE_INSTANCE_DELETE",
  /** A guild audit log entry was created */
  GUILD_AUDIT_LOG_ENTRY_CREATE = "GUILD_AUDIT_LOG_ENTRY_CREATE",
  /** Guild scheduled event was created */
  GUILD_SCHEDULED_EVENT_CREATE = "GUILD_SCHEDULED_EVENT_CREATE",
  /** Guild scheduled event was updated */
  GUILD_SCHEDULED_EVENT_UPDATE = "GUILD_SCHEDULED_EVENT_UPDATE",
  /** Guild scheduled event was deleted */
  GUILD_SCHEDULED_EVENT_DELETE = "GUILD_SCHEDULED_EVENT_DELETE",
  /** User subscribed to a guild scheduled event */
  GUILD_SCHEDULED_EVENT_USER_ADD = "GUILD_SCHEDULED_EVENT_USER_ADD",
  /** User unsubscribed from a guild scheduled event */
  GUILD_SCHEDULED_EVENT_USER_REMOVE = "GUILD_SCHEDULED_EVENT_USER_REMOVE",
  /** Auto Moderation rule was created */
  AUTO_MODERATION_RULE_CREATE = "AUTO_MODERATION_RULE_CREATE",
  /** Auto Moderation rule was updated */
  AUTO_MODERATION_RULE_UPDATE = "AUTO_MODERATION_RULE_UPDATE",
  /** Auto Moderation rule was deleted */
  AUTO_MODERATION_RULE_DELETE = "AUTO_MODERATION_RULE_DELETE",
  /** Auto Moderation rule was triggered and an action was executed (.e.g. a message was blocked) */
  AUTO_MODERATION_ACTION_EXECUTION = "AUTO_MODERATION_ACTION_EXECUTION",
  GUILD_SOUNDBOARD_SOUNDS_UPDATE = "GUILD_SOUNDBOARD_SOUNDS_UPDATE",
  GUILD_SOUNDBOARD_SOUND_CREATE = "GUILD_SOUNDBOARD_SOUND_CREATE",
  GUILD_SOUNDBOARD_SOUND_UPDATE = "GUILD_SOUNDBOARD_SOUND_UPDATE",
  GUILD_SOUNDBOARD_SOUND_DELETE = "GUILD_SOUNDBOARD_SOUND_DELETE",
  /** User was added to a Quest (currently unavailable) */
  QUEST_USER_ENROLLMENT = "QUEST_USER_ENROLLMENT",
  RATE_LIMITED = "RATE_LIMITED",
}

/**
 * ActivityActionTypes
 */
export const enum ActivityActionTypes {
  JOIN = 1,
  SPECTATE = 2,
  LISTEN = 3,
  JOIN_REQUEST = 5,
  STREAM_REQUEST = 6,
}

/**
 * AfkTimeouts
 */
export const enum AfkTimeouts {
  ONE_MINUTE = 60,
  FIVE_MINUTES = 300,
  FIFTEEN_MINUTES = 900,
  THIRTY_MINUTES = 1800,
  ONE_HOUR = 3600,
}

/**
 * AllowedMentionTypes
 */
export const enum AllowedMentionTypes {
  /** Controls role mentions */
  USERS = "users",
  /** Controls user mentions */
  ROLES = "roles",
  /** Controls @everyone and @here mentions */
  EVERYONE = "everyone",
}

/**
 * ApplicationCommandOptionType
 */
export const enum ApplicationCommandOptionType {
  /** A sub-action within a command or group */
  SUB_COMMAND = 1,
  /** A group of subcommands */
  SUB_COMMAND_GROUP = 2,
  /** A string option */
  STRING = 3,
  /** An integer option. Any integer between -2^53 and 2^53 is a valid value */
  INTEGER = 4,
  /** A boolean option */
  BOOLEAN = 5,
  /** A snowflake option that represents a User */
  USER = 6,
  /** A snowflake option that represents a Channel. Includes all channel types and categories */
  CHANNEL = 7,
  /** A snowflake option that represents a Role */
  ROLE = 8,
  /** A snowflake option that represents anything you can mention */
  MENTIONABLE = 9,
  /** A number option. Any double between -2^53 and 2^53 is a valid value */
  NUMBER = 10,
  /** An attachment option */
  ATTACHMENT = 11,
}

/**
 * ApplicationCommandPermissionType
 */
export const enum ApplicationCommandPermissionType {
  /** This permission is for a role. */
  ROLE = 1,
  /** This permission is for a user. */
  USER = 2,
  /** This permission is for a channel. */
  CHANNEL = 3,
}

/**
 * ApplicationCommandType
 */
export const enum ApplicationCommandType {
  /** Slash commands; a text-based command that shows up when a user types / */
  CHAT = 1,
  /** A UI-based command that shows up when you right click or tap on a user */
  USER = 2,
  /** A UI-based command that shows up when you right click or tap on a message */
  MESSAGE = 3,
  /** A command that represents the primary way to use an application (e.g. launching an Activity) */
  PRIMARY_ENTRY_POINT = 4,
}

/**
 * ApplicationEventWebhooksStatus
 */
export const enum ApplicationEventWebhooksStatus {
  /** Webhook events are disabled by developer */
  DISABLED = 1,
  /** Webhook events are enabled by developer */
  ENABLED = 2,
  /** Webhook events are disabled by Discord, usually due to inactivity */
  DISABLED_BY_DISCORD = 3,
}

/**
 * ApplicationExplicitContentFilterTypes
 */
export const enum ApplicationExplicitContentFilterTypes {
  /** inherit guild content filter setting */
  INHERIT = 0,
  /** interactions will always be scanned */
  ALWAYS = 1,
}

/**
 * ApplicationIdentityProviderAuthType
 */
export const enum ApplicationIdentityProviderAuthType {
  OIDC = "OIDC",
  EPIC_ONLINE_SERVICES_ACCESS_TOKEN = "EPIC_ONLINE_SERVICES_ACCESS_TOKEN",
  EPIC_ONLINE_SERVICES_ID_TOKEN = "EPIC_ONLINE_SERVICES_ID_TOKEN",
  STEAM_SESSION_TICKET = "STEAM_SESSION_TICKET",
  UNITY_SERVICES_ID_TOKEN = "UNITY_SERVICES_ID_TOKEN",
  DISCORD_BOT_ISSUED_ACCESS_TOKEN = "DISCORD_BOT_ISSUED_ACCESS_TOKEN",
  APPLE_ID_TOKEN = "APPLE_ID_TOKEN",
  PLAYSTATION_NETWORK_ID_TOKEN = "PLAYSTATION_NETWORK_ID_TOKEN",
}

/**
 * ApplicationIntegrationType
 */
export const enum ApplicationIntegrationType {
  /** For Guild install. */
  GUILD_INSTALL = 0,
  /** For User install. */
  USER_INSTALL = 1,
}

/**
 * ApplicationTypes
 */
export const enum ApplicationTypes {
  GUILD_ROLE_SUBSCRIPTIONS = 4,
}

/**
 * AuditLogActionTypes
 */
export const enum AuditLogActionTypes {
  GUILD_UPDATE = 1,
  CHANNEL_CREATE = 10,
  CHANNEL_UPDATE = 11,
  CHANNEL_DELETE = 12,
  CHANNEL_OVERWRITE_CREATE = 13,
  CHANNEL_OVERWRITE_UPDATE = 14,
  CHANNEL_OVERWRITE_DELETE = 15,
  MEMBER_KICK = 20,
  MEMBER_PRUNE = 21,
  MEMBER_BAN_ADD = 22,
  MEMBER_BAN_REMOVE = 23,
  MEMBER_UPDATE = 24,
  MEMBER_ROLE_UPDATE = 25,
  MEMBER_MOVE = 26,
  MEMBER_DISCONNECT = 27,
  BOT_ADD = 28,
  ROLE_CREATE = 30,
  ROLE_UPDATE = 31,
  ROLE_DELETE = 32,
  INVITE_CREATE = 40,
  INVITE_UPDATE = 41,
  INVITE_DELETE = 42,
  WEBHOOK_CREATE = 50,
  WEBHOOK_UPDATE = 51,
  WEBHOOK_DELETE = 52,
  EMOJI_CREATE = 60,
  EMOJI_UPDATE = 61,
  EMOJI_DELETE = 62,
  MESSAGE_DELETE = 72,
  MESSAGE_BULK_DELETE = 73,
  MESSAGE_PIN = 74,
  MESSAGE_UNPIN = 75,
  INTEGRATION_CREATE = 80,
  INTEGRATION_UPDATE = 81,
  INTEGRATION_DELETE = 82,
  STAGE_INSTANCE_CREATE = 83,
  STAGE_INSTANCE_UPDATE = 84,
  STAGE_INSTANCE_DELETE = 85,
  STICKER_CREATE = 90,
  STICKER_UPDATE = 91,
  STICKER_DELETE = 92,
  GUILD_SCHEDULED_EVENT_CREATE = 100,
  GUILD_SCHEDULED_EVENT_UPDATE = 101,
  GUILD_SCHEDULED_EVENT_DELETE = 102,
  THREAD_CREATE = 110,
  THREAD_UPDATE = 111,
  THREAD_DELETE = 112,
  APPLICATION_COMMAND_PERMISSION_UPDATE = 121,
  SOUNDBOARD_SOUND_CREATE = 130,
  SOUNDBOARD_SOUND_UPDATE = 131,
  SOUNDBOARD_SOUND_DELETE = 132,
  AUTO_MODERATION_RULE_CREATE = 140,
  AUTO_MODERATION_RULE_UPDATE = 141,
  AUTO_MODERATION_RULE_DELETE = 142,
  AUTO_MODERATION_BLOCK_MESSAGE = 143,
  AUTO_MODERATION_FLAG_TO_CHANNEL = 144,
  AUTO_MODERATION_USER_COMM_DISABLED = 145,
  AUTO_MODERATION_QUARANTINE_USER = 146,
  CREATOR_MONETIZATION_REQUEST_CREATED = 150,
  CREATOR_MONETIZATION_TERMS_ACCEPTED = 151,
  ONBOARDING_PROMPT_CREATE = 163,
  ONBOARDING_PROMPT_UPDATE = 164,
  ONBOARDING_PROMPT_DELETE = 165,
  ONBOARDING_CREATE = 166,
  ONBOARDING_UPDATE = 167,
  GUILD_HOME_FEATURE_ITEM = 171,
  GUILD_HOME_REMOVE_ITEM = 172,
  HARMFUL_LINKS_BLOCKED_MESSAGE = 180,
  HOME_SETTINGS_CREATE = 190,
  HOME_SETTINGS_UPDATE = 191,
  VOICE_CHANNEL_STATUS_CREATE = 192,
  VOICE_CHANNEL_STATUS_DELETE = 193,
  GUILD_PROFILE_UPDATE = 211,
}

/**
 * AuthorType
 */
export const enum AuthorType {
  USER = "user",
  BOT = "bot",
  WEBHOOK = "webhook",
  NO_USER = "-user",
  NO_BOT = "-bot",
  NO_WEBHOOK = "-webhook",
}

/**
 * AutomodActionType
 */
export const enum AutomodActionType {
  /** Block a user's message and prevent it from being posted. A custom explanation can be specified and shown to members whenever their message is blocked */
  BLOCK_MESSAGE = 1,
  /** Send a system message to a channel in order to log the user message that triggered the rule */
  FLAG_TO_CHANNEL = 2,
  /** Temporarily disable a user's ability to communicate in the server (timeout) */
  USER_COMMUNICATION_DISABLED = 3,
  /** Prevent a user from interacting in the server */
  QUARANTINE_USER = 4,
}

/**
 * AutomodEventType
 */
export const enum AutomodEventType {
  /** A user submitted a message to a channel */
  MESSAGE_SEND = 1,
  /** A user is attempting to join the server or a member's properties were updated. */
  GUILD_MEMBER_JOIN_OR_UPDATE = 2,
}

/**
 * AutomodKeywordPresetType
 */
export const enum AutomodKeywordPresetType {
  /** Words and phrases that may be considered profanity */
  PROFANITY = 1,
  /** Words and phrases that may be considered as sexual content */
  SEXUAL_CONTENT = 2,
  /** Words and phrases that may be considered slurs and hate speech */
  SLURS = 3,
}

/**
 * AutomodTriggerType
 */
export const enum AutomodTriggerType {
  /** Check if content contains words from a list of keywords or matches regex */
  KEYWORD = 1,
  /** DEPRECATED */
  SPAM_LINK = 2,
  /** Check if content represents generic spam */
  ML_SPAM = 3,
  /** Check if content contains words from internal pre-defined wordsets */
  DEFAULT_KEYWORD_LIST = 4,
  /** Check if content contains more unique mentions than allowed */
  MENTION_SPAM = 5,
}

/**
 * AvailableLocalesEnum
 */
export const enum AvailableLocalesEnum {
  /** The ar locale */
  ar = "ar",
  /** The bg locale */
  bg = "bg",
  /** The cs locale */
  cs = "cs",
  /** The da locale */
  da = "da",
  /** The de locale */
  de = "de",
  /** The el locale */
  el = "el",
  /** The en-GB locale */
  "en-GB" = "en-GB",
  /** The en-US locale */
  "en-US" = "en-US",
  /** The es-419 locale */
  "es-419" = "es-419",
  /** The es-ES locale */
  "es-ES" = "es-ES",
  /** The fi locale */
  fi = "fi",
  /** The fr locale */
  fr = "fr",
  /** The he locale */
  he = "he",
  /** The hi locale */
  hi = "hi",
  /** The hr locale */
  hr = "hr",
  /** The hu locale */
  hu = "hu",
  /** The id locale */
  id = "id",
  /** The it locale */
  it = "it",
  /** The ja locale */
  ja = "ja",
  /** The ko locale */
  ko = "ko",
  /** The lt locale */
  lt = "lt",
  /** The nl locale */
  nl = "nl",
  /** The no locale */
  no = "no",
  /** The pl locale */
  pl = "pl",
  /** The pt-BR locale */
  "pt-BR" = "pt-BR",
  /** The ro locale */
  ro = "ro",
  /** The ru locale */
  ru = "ru",
  /** The sv-SE locale */
  "sv-SE" = "sv-SE",
  /** The th locale */
  th = "th",
  /** The tr locale */
  tr = "tr",
  /** The uk locale */
  uk = "uk",
  /** The vi locale */
  vi = "vi",
  /** The zh-CN locale */
  "zh-CN" = "zh-CN",
  /** The zh-TW locale */
  "zh-TW" = "zh-TW",
}

/**
 * ButtonStyleTypes
 */
export const enum ButtonStyleTypes {
  PRIMARY = 1,
  SECONDARY = 2,
  SUCCESS = 3,
  DANGER = 4,
  LINK = 5,
  PREMIUM = 6,
}

/**
 * ChannelPermissionOverwrites
 */
export const enum ChannelPermissionOverwrites {
  ROLE = 0,
  MEMBER = 1,
}

/**
 * ChannelTypes
 */
export const enum ChannelTypes {
  /** A direct message between users */
  DM = 1,
  /** A direct message between multiple users */
  GROUP_DM = 3,
  /** A text channel within a server */
  GUILD_TEXT = 0,
  /** A voice channel within a server */
  GUILD_VOICE = 2,
  /** An organizational category that contains up to 50 channels */
  GUILD_CATEGORY = 4,
  /** A channel that users can follow and crosspost into their own server (formerly news channels) */
  GUILD_ANNOUNCEMENT = 5,
  /** A temporary sub-channel within a GUILD_ANNOUNCEMENT channel */
  ANNOUNCEMENT_THREAD = 10,
  /** A temporary sub-channel within a GUILD_TEXT or GUILD_THREADS_ONLY channel type set */
  PUBLIC_THREAD = 11,
  /** A temporary sub-channel within a GUILD_TEXT channel that is only viewable by those invited and those with the MANAGE_THREADS permission */
  PRIVATE_THREAD = 12,
  /** A voice channel for hosting events with an audience */
  GUILD_STAGE_VOICE = 13,
  /** The channel in a hub containing the listed servers */
  GUILD_DIRECTORY = 14,
  /** Channel that can only contain threads */
  GUILD_FORUM = 15,
}

/**
 * ConnectedAccountProviders
 */
export const enum ConnectedAccountProviders {
  BATTLENET = "battlenet",
  BLUESKY = "bluesky",
  BUNGIE = "bungie",
  EBAY = "ebay",
  EPIC_GAMES = "epicgames",
  FACEBOOK = "facebook",
  GITHUB = "github",
  INSTAGRAM = "instagram",
  MASTODON = "mastodon",
  LEAGUE_OF_LEGENDS = "leagueoflegends",
  PAYPAL = "paypal",
  PLAYSTATION = "playstation",
  REDDIT = "reddit",
  RIOT_GAMES = "riotgames",
  ROBLOX = "roblox",
  SKYPE = "skype",
  SPOTIFY = "spotify",
  STEAM = "steam",
  TIKTOK = "tiktok",
  TWITCH = "twitch",
  TWITTER = "twitter",
  XBOX = "xbox",
  YOUTUBE = "youtube",
  DOMAIN = "domain",
}

/**
 * ConnectedAccountVisibility
 */
export const enum ConnectedAccountVisibility {
  NONE = 0,
  EVERYONE = 1,
}

/**
 * EmbeddedActivityLocationKind
 */
export const enum EmbeddedActivityLocationKind {
  /** guild channel */
  GUILD_CHANNEL = "gc",
  /** private channel */
  PRIVATE_CHANNEL = "pc",
  /** party */
  PARTY = "party",
}

/**
 * EntitlementTenantFulfillmentStatusResponse
 */
export const enum EntitlementTenantFulfillmentStatusResponse {
  UNKNOWN = 0,
  FULFILLMENT_NOT_NEEDED = 1,
  FULFILLMENT_NEEDED = 2,
  FULFILLED = 3,
  FULFILLMENT_FAILED = 4,
  UNFULFILLMENT_NEEDED = 5,
  UNFULFILLED = 6,
  UNFULFILLMENT_FAILED = 7,
}

/**
 * EntitlementTypes
 */
export const enum EntitlementTypes {
  APPLICATION_SUBSCRIPTION = 8,
  QUEST_REWARD = 10,
}

/**
 * ForumLayout
 */
export const enum ForumLayout {
  /** No default has been set for forum channel */
  DEFAULT = 0,
  /** Display posts as a list */
  LIST = 1,
  /** Display posts as a collection of tiles */
  GRID = 2,
}

/**
 * GuildExplicitContentFilterTypes
 */
export const enum GuildExplicitContentFilterTypes {
  /** media content will not be scanned */
  DISABLED = 0,
  /** media content sent by members without roles will be scanned */
  MEMBERS_WITHOUT_ROLES = 1,
  /** media content sent by all members will be scanned */
  ALL_MEMBERS = 2,
}

/**
 * GuildFeatures
 */
export const enum GuildFeatures {
  /** guild has access to set an animated guild banner image */
  ANIMATED_BANNER = "ANIMATED_BANNER",
  /** guild has access to set an animated guild icon */
  ANIMATED_ICON = "ANIMATED_ICON",
  /** guild is using the old permissions configuration behavior */
  APPLICATION_COMMAND_PERMISSIONS_V2 = "APPLICATION_COMMAND_PERMISSIONS_V2",
  /** guild has set up auto moderation rules */
  AUTO_MODERATION = "AUTO_MODERATION",
  /** guild has access to set a guild banner image */
  BANNER = "BANNER",
  /** guild can enable welcome screen, Membership Screening, stage channels and discovery, and             receives community updates */
  COMMUNITY = "COMMUNITY",
  /** guild has enabled monetization */
  CREATOR_MONETIZABLE_PROVISIONAL = "CREATOR_MONETIZABLE_PROVISIONAL",
  /** guild has enabled the role subscription promo page */
  CREATOR_STORE_PAGE = "CREATOR_STORE_PAGE",
  /** guild has been set as a support server on the App Directory */
  DEVELOPER_SUPPORT_SERVER = "DEVELOPER_SUPPORT_SERVER",
  /** guild is able to be discovered in the directory */
  DISCOVERABLE = "DISCOVERABLE",
  /** guild is able to be featured in the directory */
  FEATURABLE = "FEATURABLE",
  /** guild has paused invites, preventing new users from joining */
  INVITES_DISABLED = "INVITES_DISABLED",
  /** guild has access to set an invite splash background */
  INVITE_SPLASH = "INVITE_SPLASH",
  /** guild has enabled Membership Screening */
  MEMBER_VERIFICATION_GATE_ENABLED = "MEMBER_VERIFICATION_GATE_ENABLED",
  /** guild has increased custom sticker slots */
  MORE_STICKERS = "MORE_STICKERS",
  /** guild has access to create announcement channels */
  NEWS = "NEWS",
  /** guild is partnered */
  PARTNERED = "PARTNERED",
  /** guild can be previewed before joining via Membership Screening or the directory */
  PREVIEW_ENABLED = "PREVIEW_ENABLED",
  /** guild has disabled activity alerts in the configured safety alerts channel */
  RAID_ALERTS_DISABLED = "RAID_ALERTS_DISABLED",
  /** guild is able to set role icons */
  ROLE_ICONS = "ROLE_ICONS",
  /** guild has role subscriptions that can be purchased */
  ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE = "ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE",
  /** guild has enabled role subscriptions */
  ROLE_SUBSCRIPTIONS_ENABLED = "ROLE_SUBSCRIPTIONS_ENABLED",
  /** guild has enabled ticketed events */
  TICKETED_EVENTS_ENABLED = "TICKETED_EVENTS_ENABLED",
  /** guild has access to set a vanity URL */
  VANITY_URL = "VANITY_URL",
  /** guild is verified */
  VERIFIED = "VERIFIED",
  /** guild has access to set 384kbps bitrate in voice (previously VIP voice servers) */
  VIP_REGIONS = "VIP_REGIONS",
  /** guild has enabled the welcome screen */
  WELCOME_SCREEN_ENABLED = "WELCOME_SCREEN_ENABLED",
  /** guild is an official guild for one or more games */
  OFFICIAL_GAME_GUILD = "OFFICIAL_GAME_GUILD",
}

/**
 * GuildJoinRequestApplicationStatus
 */
export const enum GuildJoinRequestApplicationStatus {
  /** Applicant started but not yet submitted join request */
  STARTED = "STARTED",
  /** Applicant submitted join request that is awaiting review */
  SUBMITTED = "SUBMITTED",
  /** Join request rejected */
  REJECTED = "REJECTED",
  /** Join request approved */
  APPROVED = "APPROVED",
}

/**
 * GuildMFALevel
 */
export const enum GuildMFALevel {
  /** Guild has no MFA/2FA requirement for moderation actions */
  NONE = 0,
  /** Guild has a 2FA requirement for moderation actions */
  ELEVATED = 1,
}

/**
 * GuildMemberVerificationFormFieldType
 */
export const enum GuildMemberVerificationFormFieldType {
  /** Field requiring applicant to acknowledge list of terms */
  TERMS = "TERMS",
  /** Short text input field */
  TEXT_INPUT = "TEXT_INPUT",
  /** Long-form text input field */
  PARAGRAPH = "PARAGRAPH",
  /** Field where applicant selects one of many options */
  MULTIPLE_CHOICE = "MULTIPLE_CHOICE",
}

/**
 * GuildNSFWContentLevel
 */
export const enum GuildNSFWContentLevel {
  DEFAULT = 0,
  EXPLICIT = 1,
  SAFE = 2,
  AGE_RESTRICTED = 3,
}

/**
 * GuildOnboardingMode
 */
export const enum GuildOnboardingMode {
  /** Only Default Channels considered in constraints */
  ONBOARDING_DEFAULT = 0,
  /** Default Channels and Onboarding Prompts considered in constraints */
  ONBOARDING_ADVANCED = 1,
}

/**
 * GuildScheduledEventEntityTypes
 */
export const enum GuildScheduledEventEntityTypes {
  NONE = 0,
  STAGE_INSTANCE = 1,
  VOICE = 2,
  EXTERNAL = 3,
}

/**
 * GuildScheduledEventPrivacyLevels
 */
export const enum GuildScheduledEventPrivacyLevels {
  /** the scheduled event is only accessible to guild members */
  GUILD_ONLY = 2,
}

/**
 * GuildScheduledEventStatuses
 */
export const enum GuildScheduledEventStatuses {
  SCHEDULED = 1,
  ACTIVE = 2,
  COMPLETED = 3,
  CANCELED = 4,
}

/**
 * HasOption
 */
export const enum HasOption {
  LINK = "link",
  EMBED = "embed",
  FILE = "file",
  IMAGE = "image",
  VIDEO = "video",
  SOUND = "sound",
  STICKER = "sticker",
  POLL = "poll",
  SNAPSHOT = "snapshot",
  NO_LINK = "-link",
  NO_EMBED = "-embed",
  NO_FILE = "-file",
  NO_IMAGE = "-image",
  NO_VIDEO = "-video",
  NO_SOUND = "-sound",
  NO_STICKER = "-sticker",
  NO_POLL = "-poll",
  NO_SNAPSHOT = "-snapshot",
}

/**
 * IntegrationExpireBehaviorTypes
 */
export const enum IntegrationExpireBehaviorTypes {
  /** Remove role */
  REMOVE_ROLE = 0,
  /** Kick */
  KICK = 1,
}

/**
 * IntegrationExpireGracePeriodTypes
 */
export const enum IntegrationExpireGracePeriodTypes {
  /** 1 day */
  ONE_DAY = 1,
  /** 3 days */
  THREE_DAYS = 3,
  /** 7 days */
  SEVEN_DAYS = 7,
  /** 14 days */
  FOURTEEN_DAYS = 14,
  /** 30 days */
  THIRTY_DAYS = 30,
}

/**
 * IntegrationTypes
 */
export const enum IntegrationTypes {
  DISCORD = "discord",
  TWITCH = "twitch",
  YOUTUBE = "youtube",
  GUILD_SUBSCRIPTION = "guild_subscription",
}

/**
 * InteractionCallbackTypes
 */
export const enum InteractionCallbackTypes {
  PONG = 1,
  CHANNEL_MESSAGE_WITH_SOURCE = 4,
  DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE = 5,
  DEFERRED_UPDATE_MESSAGE = 6,
  UPDATE_MESSAGE = 7,
  APPLICATION_COMMAND_AUTOCOMPLETE_RESULT = 8,
  MODAL = 9,
  LAUNCH_ACTIVITY = 12,
  SOCIAL_LAYER_SKU_PURCHASE_ELIGIBILITY = 13,
}

/**
 * InteractionContextType
 */
export const enum InteractionContextType {
  /** This command can be used within a Guild. */
  GUILD = 0,
  /** This command can be used within a DM with this application's bot. */
  BOT_DM = 1,
  /** This command can be used within DMs and Group DMs with users. */
  PRIVATE_CHANNEL = 2,
}

/**
 * InteractionTypes
 */
export const enum InteractionTypes {
  /** Sent by Discord to validate your application's interaction handler */
  PING = 1,
  /** Sent when a user uses an application command */
  APPLICATION_COMMAND = 2,
  /** Sent when a user interacts with a message component previously sent by your application */
  MESSAGE_COMPONENT = 3,
  /** Sent when a user is filling in an autocomplete option in a chat command */
  APPLICATION_COMMAND_AUTOCOMPLETE = 4,
  /** Sent when a user submits a modal previously sent by your application */
  MODAL_SUBMIT = 5,
  /** Sent when Discord is checking if a user can purchase a Social Layer SKU */
  SOCIAL_LAYER_SKU_PURCHASE_ELIGIBILITY = 6,
}

/**
 * InviteTargetTypes
 */
export const enum InviteTargetTypes {
  STREAM = 1,
  EMBEDDED_APPLICATION = 2,
  ROLE_SUBSCRIPTIONS_PURCHASE = 3,
}

/**
 * InviteTypes
 */
export const enum InviteTypes {
  GUILD = 0,
  GROUP_DM = 1,
  FRIEND = 2,
}

/**
 * MessageComponentSeparatorSpacingSize
 */
export const enum MessageComponentSeparatorSpacingSize {
  /** Small spacing */
  SMALL = 1,
  /** Large spacing */
  LARGE = 2,
}

/**
 * MessageComponentTypes
 */
export const enum MessageComponentTypes {
  /** Container for other components */
  ACTION_ROW = 1,
  /** Button object */
  BUTTON = 2,
  /** Select menu for picking from defined text options */
  STRING_SELECT = 3,
  /** Text input object */
  TEXT_INPUT = 4,
  /** Select menu for users */
  USER_SELECT = 5,
  /** Select menu for roles */
  ROLE_SELECT = 6,
  /** Select menu for mentionables (users and roles) */
  MENTIONABLE_SELECT = 7,
  /** Select menu for channels */
  CHANNEL_SELECT = 8,
  /** Section component */
  SECTION = 9,
  /** Text component */
  TEXT_DISPLAY = 10,
  /** Thumbnail component */
  THUMBNAIL = 11,
  /** Media gallery component */
  MEDIA_GALLERY = 12,
  /** File component */
  FILE = 13,
  /** Separator component */
  SEPARATOR = 14,
  /** Container component */
  CONTAINER = 17,
  /** Label component */
  LABEL = 18,
  /** File upload component */
  FILE_UPLOAD = 19,
  /** Radio group component */
  RADIO_GROUP = 21,
  /** Checkbox group component */
  CHECKBOX_GROUP = 22,
  /** Checkbox component */
  CHECKBOX = 23,
}

/**
 * MessageReferenceType
 */
export const enum MessageReferenceType {
  /** Reference to a message */
  DEFAULT = 0,
}

/**
 * MessageShareCustomUserThemeBaseTheme
 */
export const enum MessageShareCustomUserThemeBaseTheme {
  /** No base theme */
  UNSET = 0,
  /** Dark base theme */
  DARK = 1,
  /** Light base theme */
  LIGHT = 2,
  /** Darker base theme */
  DARKER = 3,
  /** Midnight base theme */
  MIDNIGHT = 4,
}

/**
 * MessageType
 */
export const enum MessageType {
  DEFAULT = 0,
  RECIPIENT_ADD = 1,
  RECIPIENT_REMOVE = 2,
  CALL = 3,
  CHANNEL_NAME_CHANGE = 4,
  CHANNEL_ICON_CHANGE = 5,
  CHANNEL_PINNED_MESSAGE = 6,
  USER_JOIN = 7,
  GUILD_BOOST = 8,
  GUILD_BOOST_TIER_1 = 9,
  GUILD_BOOST_TIER_2 = 10,
  GUILD_BOOST_TIER_3 = 11,
  CHANNEL_FOLLOW_ADD = 12,
  GUILD_DISCOVERY_DISQUALIFIED = 14,
  GUILD_DISCOVERY_REQUALIFIED = 15,
  GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING = 16,
  GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING = 17,
  THREAD_CREATED = 18,
  REPLY = 19,
  CHAT_INPUT_COMMAND = 20,
  THREAD_STARTER_MESSAGE = 21,
  GUILD_INVITE_REMINDER = 22,
  CONTEXT_MENU_COMMAND = 23,
  AUTO_MODERATION_ACTION = 24,
  ROLE_SUBSCRIPTION_PURCHASE = 25,
  INTERACTION_PREMIUM_UPSELL = 26,
  STAGE_START = 27,
  STAGE_END = 28,
  STAGE_SPEAKER = 29,
  STAGE_TOPIC = 31,
  GUILD_APPLICATION_PREMIUM_SUBSCRIPTION = 32,
  GUILD_INCIDENT_ALERT_MODE_ENABLED = 36,
  GUILD_INCIDENT_ALERT_MODE_DISABLED = 37,
  GUILD_INCIDENT_REPORT_RAID = 38,
  GUILD_INCIDENT_REPORT_FALSE_ALARM = 39,
  POLL_RESULT = 46,
  HD_STREAMING_UPGRADED = 55,
}

/**
 * MetadataItemTypes
 */
export const enum MetadataItemTypes {
  /** the metadata value (integer) is less than or equal to the guild's configured value (integer) */
  INTEGER_LESS_THAN_EQUAL = 1,
  /** the metadata value (integer) is greater than or equal to the guild's configured value (integer) */
  INTEGER_GREATER_THAN_EQUAL = 2,
  /** the metadata value (integer) is equal to the guild's configured value (integer) */
  INTEGER_EQUAL = 3,
  /** the metadata value (integer) is not equal to the guild's configured value (integer) */
  INTEGER_NOT_EQUAL = 4,
  /** the metadata value (ISO8601 string) is less than or equal to the guild's configured value (integer; days before current date) */
  DATETIME_LESS_THAN_EQUAL = 5,
  /** the metadata value (ISO8601 string) is greater than or equal to the guild's configured value (integer; days before current date) */
  DATETIME_GREATER_THAN_EQUAL = 6,
  /** the metadata value (integer) is equal to the guild's configured value (integer; 1) */
  BOOLEAN_EQUAL = 7,
  /** the metadata value (integer) is not equal to the guild's configured value (integer; 1) */
  BOOLEAN_NOT_EQUAL = 8,
}

/**
 * NewMemberActionType
 */
export const enum NewMemberActionType {
  VIEW = 0,
  TALK = 1,
}

/**
 * OAuth2Scopes
 */
export const enum OAuth2Scopes {
  /** allows /users/@me without email */
  IDENTIFY = "identify",
  /** enables /users/@me to return an email */
  EMAIL = "email",
  /** allows /users/@me/connections to return linked third-party accounts */
  CONNECTIONS = "connections",
  /** allows /users/@me/guilds to return basic information about all of a user's guilds */
  GUILDS = "guilds",
  /** allows /guilds/{guild.id}/members/{user.id} to be used for joining users to a guild */
  GUILDS_JOIN = "guilds.join",
  /** allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild */
  GUILDS_MEMBERS_READ = "guilds.members.read",
  /** allows your app to join users to a group dm */
  GDM_JOIN = "gdm.join",
  /** for oauth2 bots, this puts the bot in the user's selected guild by default */
  BOT = "bot",
  /** for local rpc server access, this allows you to control a user's local Discord client - requires Discord approval */
  RPC = "rpc",
  /** for local rpc server access, this allows you to receive notifications pushed out to the user - requires Discord approval */
  RPC_NOTIFICATIONS_READ = "rpc.notifications.read",
  /** for local rpc server access, this allows you to read a user's voice settings and listen for voice events - requires Discord approval */
  RPC_VOICE_READ = "rpc.voice.read",
  /** for local rpc server access, this allows you to update a user's voice settings - requires Discord approval */
  RPC_VOICE_WRITE = "rpc.voice.write",
  /** for local rpc server access, this allows you to read a user's video status - requires Discord approval */
  RPC_VIDEO_READ = "rpc.video.read",
  /** for local rpc server access, this allows you to update a user's video settings - requires Discord approval */
  RPC_VIDEO_WRITE = "rpc.video.write",
  /** for local rpc server access, this allows you to read a user's screenshare status- requires Discord approval */
  RPC_SCREENSHARE_READ = "rpc.screenshare.read",
  /** for local rpc server access, this allows you to update a user's screenshare settings- requires Discord approval */
  RPC_SCREENSHARE_WRITE = "rpc.screenshare.write",
  /** for local rpc server access, this allows you to update a user's activity - requires Discord approval */
  RPC_ACTIVITIES_WRITE = "rpc.activities.write",
  /** this generates a webhook that is returned in the oauth token response for authorization code grants */
  WEBHOOK_INCOMING = "webhook.incoming",
  /** for local rpc server api access, this allows you to read messages from all client channels (otherwise restricted to channels/guilds your app creates) */
  MESSAGES_READ = "messages.read",
  /** allows your app to upload/update builds for a user's applications - requires Discord approval */
  APPLICATIONS_BUILDS_UPLOAD = "applications.builds.upload",
  /** allows your app to read build data for a user's applications */
  APPLICATIONS_BUILDS_READ = "applications.builds.read",
  /** allows your app to use commands in a guild */
  APPLICATIONS_COMMANDS = "applications.commands",
  /** allows your app to update permissions for its commands in a guild a user has permissions to */
  APPLICATIONS_COMMANDS_PERMISSIONS_UPDATE = "applications.commands.permissions.update",
  /** allows your app to update its commands using a Bearer token - client credentials grant only */
  APPLICATIONS_COMMANDS_UPDATE = "applications.commands.update",
  /** allows your app to read and update store data (SKUs, store listings, achievements, etc.) for a user's applications */
  APPLICATIONS_STORE_UPDATE = "applications.store.update",
  /** allows your app to read entitlements for a user's applications */
  APPLICATIONS_ENTITLEMENTS = "applications.entitlements",
  /** allows your app to fetch data from a user's "Now Playing/Recently Played" list - requires Discord approval */
  ACTIVITIES_READ = "activities.read",
  /** allows your app to update a user's activity - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER) */
  ACTIVITIES_WRITE = "activities.write",
  /** allows your app to send activity invites - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER) */
  ACTIVITIES_INVITES_WRITE = "activities.invites.write",
  /** allows your app to know a user's friends and implicit relationships - requires Discord approval */
  RELATIONSHIPS_READ = "relationships.read",
  /** allows your app to connect to voice on user's behalf and see all the voice members - requires Discord approval */
  VOICE = "voice",
  /** allows your app to see information about the user's DMs and group DMs - requires Discord approval */
  DM_CHANNELS_READ = "dm_channels.read",
  /** allows your app to update a user's connection and metadata for the app */
  ROLE_CONNECTIONS_WRITE = "role_connections.write",
  /** for OpenID Connect, this allows your app to receive user id and basic profile information */
  OPENID = "openid",
}

/**
 * OnboardingPromptType
 */
export const enum OnboardingPromptType {
  /** Multiple choice options */
  MULTIPLE_CHOICE = 0,
  /** Many options shown as a dropdown */
  DROPDOWN = 1,
}

/**
 * PremiumGuildTiers
 */
export const enum PremiumGuildTiers {
  /** Guild has not unlocked any Server Boost perks */
  NONE = 0,
  /** Guild has unlocked Server Boost level 1 perks */
  TIER_1 = 1,
  /** Guild has unlocked Server Boost level 2 perks */
  TIER_2 = 2,
  /** Guild has unlocked Server Boost level 3 perks */
  TIER_3 = 3,
}

/**
 * PremiumTypes
 */
export const enum PremiumTypes {
  /** None */
  NONE = 0,
  /** Nitro Classic */
  TIER_1 = 1,
  /** Nitro Standard */
  TIER_2 = 2,
  /** Nitro Basic */
  TIER_0 = 3,
}

/**
 * PurchaseType
 */
export const enum PurchaseType {
  GUILD_PRODUCT = 0,
}

/**
 * ReactionTypes
 */
export const enum ReactionTypes {
  /** Normal reaction type */
  NORMAL = 0,
  /** Burst reaction type */
  BURST = 1,
}

/**
 * SKUIneligibilityReason
 */
export const enum SKUIneligibilityReason {
  /** Other / catch-all */
  OTHER = 0,
  /** User already owns this SKU or one of its components */
  OWNS_SKU_OR_BUNDLE_COMPONENT = 1,
  /** User account is not on an eligible platform */
  PLATFORM_RESTRICTION = 2,
}

/**
 * SearchableEmbedType
 */
export const enum SearchableEmbedType {
  IMAGE = "image",
  VIDEO = "video",
  GIFV = "gif",
  SOUND = "sound",
  ARTICLE = "article",
}

/**
 * SnowflakeSelectDefaultValueTypes
 */
export const enum SnowflakeSelectDefaultValueTypes {
  USER = "user",
  ROLE = "role",
  CHANNEL = "channel",
}

/**
 * SortingMode
 */
export const enum SortingMode {
  RELEVANCE = "relevance",
  TIMESTAMP = "timestamp",
}

/**
 * SortingOrder
 */
export const enum SortingOrder {
  ASC = "asc",
  DESC = "desc",
}

/**
 * StageInstancesPrivacyLevels
 */
export const enum StageInstancesPrivacyLevels {
  /** The Stage instance is visible publicly. (deprecated) */
  PUBLIC = 1,
  /** The Stage instance is visible publicly. (deprecated) */
  GUILD_ONLY = 2,
}

/**
 * StickerFormatTypes
 */
export const enum StickerFormatTypes {
  PNG = 1,
  APNG = 2,
  LOTTIE = 3,
  GIF = 4,
}

/**
 * StickerTypes
 */
export const enum StickerTypes {
  /** an official sticker in a pack, part of Nitro or in a removed purchasable pack */
  STANDARD = 1,
  /** a sticker uploaded to a guild for the guild's members */
  GUILD = 2,
}

/**
 * TargetUsersJobStatusTypes
 */
export const enum TargetUsersJobStatusTypes {
  /** The default value. */
  UNSPECIFIED = 0,
  /** The job is still being processed. */
  PROCESSING = 1,
  /** The job has been completed successfully. */
  COMPLETED = 2,
  /** The job has failed, see error_message field for more details. */
  FAILED = 3,
}

/**
 * TeamMemberRoles
 */
export const enum TeamMemberRoles {
  /** Admins have similar access as owners, except they cannot take destructive actions on the team or team-owned apps. */
  ADMIN = "admin",
  /** Developers can access information about team-owned apps, like the client secret or public key. They can also take limited actions on team-owned apps, like configuring interaction endpoints or resetting the bot token. Members with the Developer role cannot manage the team or its members, or take destructive actions on team-owned apps. */
  DEVELOPER = "developer",
  /** Read-only members can access information about a team and any team-owned apps. Some examples include getting the IDs of applications and exporting payout records. Members can also invite bots associated with team-owned apps that are marked private. */
  READ_ONLY = "read_only",
}

/**
 * TeamMembershipStates
 */
export const enum TeamMembershipStates {
  /** User has been invited to the team. */
  INVITED = 1,
  /** User has accepted the team invitation. */
  ACCEPTED = 2,
}

/**
 * TextInputStyleTypes
 */
export const enum TextInputStyleTypes {
  /** Single-line input */
  SHORT = 1,
  /** Multi-line input */
  PARAGRAPH = 2,
}

/**
 * ThreadAutoArchiveDuration
 */
export const enum ThreadAutoArchiveDuration {
  /** One hour */
  ONE_HOUR = 60,
  /** One day */
  ONE_DAY = 1440,
  /** Three days */
  THREE_DAY = 4320,
  /** Seven days */
  SEVEN_DAY = 10080,
}

/**
 * ThreadSearchTagSetting
 */
export const enum ThreadSearchTagSetting {
  /** The thread tags must contain all tags in the search query */
  MATCH_ALL = "match_all",
  /** The thread tags must contain at least one of tags in the search query */
  MATCH_SOME = "match_some",
}

/**
 * ThreadSortOrder
 */
export const enum ThreadSortOrder {
  /** Sort forum posts by activity */
  LATEST_ACTIVITY = 0,
  /** Sort forum posts by creation time (from most recent to oldest) */
  CREATION_DATE = 1,
}

/**
 * ThreadSortingMode
 */
export const enum ThreadSortingMode {
  RELEVANCE = "relevance",
  CREATION_TIME = "creation_time",
  LAST_MESSAGE_TIME = "last_message_time",
  ARCHIVE_TIME = "archive_time",
}

/**
 * UserNotificationSettings
 */
export const enum UserNotificationSettings {
  /** members will receive notifications for all messages by default */
  ALL_MESSAGES = 0,
  /** members will receive notifications only for messages that @mention them by default */
  ONLY_MENTIONS = 1,
}

/**
 * VerificationLevels
 */
export const enum VerificationLevels {
  /** unrestricted */
  NONE = 0,
  /** must have verified email on account */
  LOW = 1,
  /** must be registered on Discord for longer than 5 minutes */
  MEDIUM = 2,
  /** must be a member of the server for longer than 10 minutes */
  HIGH = 3,
  /** must have a verified phone number */
  VERY_HIGH = 4,
}

/**
 * VideoQualityModes
 */
export const enum VideoQualityModes {
  /** Discord chooses the quality for optimal performance */
  AUTO = 1,
  /** 720p */
  FULL = 2,
}

/**
 * WebhookTypes
 */
export const enum WebhookTypes {
  /** Incoming Webhooks can post messages to channels with a generated token */
  GUILD_INCOMING = 1,
  /** Channel Follower Webhooks are internal webhooks used with Channel Following to post new messages into channels */
  CHANNEL_FOLLOWER = 2,
  /** Application webhooks are webhooks used with Interactions */
  APPLICATION_INCOMING = 3,
}

/**
 * WidgetImageStyles
 */
export const enum WidgetImageStyles {
  /** shield style widget with Discord icon and guild members online count */
  SHIELD = "shield",
  /** large image with guild icon, name and online count. "POWERED BY DISCORD" as the footer of the widget */
  BANNER1 = "banner1",
  /** smaller widget style with guild icon, name and online count. Split on the right with Discord logo */
  BANNER2 = "banner2",
  /** large image with guild icon, name and online count. In the footer, Discord logo on the left and "Chat Now" on the right */
  BANNER3 = "banner3",
  /** large Discord logo at the top of the widget. Guild icon, name and online count in the middle portion of the widget and a "JOIN MY SERVER" button at the bottom */
  BANNER4 = "banner4",
}

/**
 * WidgetUserDiscriminator
 */
export const enum WidgetUserDiscriminator {
  ZEROES = "0000",
}

// Components
export type AccountResponse = {
  id: string;
  name: string | null;
};

export type ActionRowComponentForMessageRequest = {
  type: MessageComponentTypes.ACTION_ROW;
  id?: number | null;
  components: (
    | ButtonComponentForMessageRequest
    | ChannelSelectComponentForMessageRequest
    | MentionableSelectComponentForMessageRequest
    | RoleSelectComponentForMessageRequest
    | StringSelectComponentForMessageRequest
    | UserSelectComponentForMessageRequest
  )[];
};

export type ActionRowComponentForModalRequest = {
  type: MessageComponentTypes.ACTION_ROW;
  id?: number | null;
  components: TextInputComponentForModalRequest[];
};

export type ActionRowComponentResponse = {
  type: MessageComponentTypes.ACTION_ROW;
  id: number;
  components: (
    | ButtonComponentResponse
    | ChannelSelectComponentResponse
    | MentionableSelectComponentResponse
    | RoleSelectComponentResponse
    | StringSelectComponentResponse
    | TextInputComponentResponse
    | UserSelectComponentResponse
  )[];
};

export type ActivitiesAttachmentResponse = {
  attachment: AttachmentResponse;
};

export type ApplicationCommandAttachmentOption = {
  type: ApplicationCommandOptionType.ATTACHMENT;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
};

export type ApplicationCommandAttachmentOptionResponse = {
  type: ApplicationCommandOptionType.ATTACHMENT;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
};

export type ApplicationCommandAutocompleteCallbackRequest = {
  type: InteractionCallbackTypes.APPLICATION_COMMAND_AUTOCOMPLETE_RESULT;
  data:
    | InteractionApplicationCommandAutocompleteCallbackIntegerData
    | InteractionApplicationCommandAutocompleteCallbackNumberData
    | InteractionApplicationCommandAutocompleteCallbackStringData;
};

export type ApplicationCommandBooleanOption = {
  type: ApplicationCommandOptionType.BOOLEAN;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
};

export type ApplicationCommandBooleanOptionResponse = {
  type: ApplicationCommandOptionType.BOOLEAN;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
};

export type ApplicationCommandChannelOption = {
  type: ApplicationCommandOptionType.CHANNEL;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
  channel_types?: ChannelTypes[] | null;
};

export type ApplicationCommandChannelOptionResponse = {
  type: ApplicationCommandOptionType.CHANNEL;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
  channel_types?: ChannelTypes[];
};

export type ApplicationCommandCreateRequest = {
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description?: string | null;
  description_localizations?: {
    [key: string]: string;
  } | null;
  options?:
    | (
        | ApplicationCommandAttachmentOption
        | ApplicationCommandBooleanOption
        | ApplicationCommandChannelOption
        | ApplicationCommandIntegerOption
        | ApplicationCommandMentionableOption
        | ApplicationCommandNumberOption
        | ApplicationCommandRoleOption
        | ApplicationCommandStringOption
        | ApplicationCommandSubcommandGroupOption
        | ApplicationCommandSubcommandOption
        | ApplicationCommandUserOption
      )[]
    | null;
  default_member_permissions?: number | null;
  dm_permission?: boolean | null;
  contexts?: InteractionContextType[] | null;
  integration_types?: ApplicationIntegrationType[] | null;
  handler?: null | ApplicationCommandHandler;
  type?: null | ApplicationCommandType;
};

export type ApplicationCommandHandler = number;

export type ApplicationCommandIntegerOption = {
  type: ApplicationCommandOptionType.INTEGER;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
  autocomplete?: boolean | null;
  choices?: ApplicationCommandOptionIntegerChoice[] | null;
  min_value?: null | Int53Type;
  max_value?: null | Int53Type;
};

export type ApplicationCommandIntegerOptionResponse = {
  type: ApplicationCommandOptionType.INTEGER;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
  autocomplete?: boolean;
  choices?: ApplicationCommandOptionIntegerChoiceResponse[];
  min_value?: Int53Type;
  max_value?: Int53Type;
};

export type ApplicationCommandInteractionMetadataResponse = {
  id: SnowflakeType;
  type: InteractionTypes.APPLICATION_COMMAND;
  user?: UserResponse;
  authorizing_integration_owners: {
    [key: string]: SnowflakeType;
  };
  original_response_message_id?: SnowflakeType;
  target_user?: UserResponse;
  target_message_id?: SnowflakeType;
};

export type ApplicationCommandMentionableOption = {
  type: ApplicationCommandOptionType.MENTIONABLE;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
};

export type ApplicationCommandMentionableOptionResponse = {
  type: ApplicationCommandOptionType.MENTIONABLE;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
};

export type ApplicationCommandNumberOption = {
  type: ApplicationCommandOptionType.NUMBER;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
  autocomplete?: boolean | null;
  choices?: ApplicationCommandOptionNumberChoice[] | null;
  min_value?: number | null;
  max_value?: number | null;
};

export type ApplicationCommandNumberOptionResponse = {
  type: ApplicationCommandOptionType.NUMBER;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
  autocomplete?: boolean;
  choices?: ApplicationCommandOptionNumberChoiceResponse[];
  min_value?: number;
  max_value?: number;
};

export type ApplicationCommandOptionIntegerChoice = {
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  value: Int53Type;
};

export type ApplicationCommandOptionIntegerChoiceResponse = {
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  value: Int53Type;
};

export type ApplicationCommandOptionNumberChoice = {
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  value: number;
};

export type ApplicationCommandOptionNumberChoiceResponse = {
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  value: number;
};

export type ApplicationCommandOptionStringChoice = {
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  value: string;
};

export type ApplicationCommandOptionStringChoiceResponse = {
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  value: string;
};

export type ApplicationCommandPatchRequestPartial = {
  name?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description?: string | null;
  description_localizations?: {
    [key: string]: string;
  } | null;
  options?:
    | (
        | ApplicationCommandAttachmentOption
        | ApplicationCommandBooleanOption
        | ApplicationCommandChannelOption
        | ApplicationCommandIntegerOption
        | ApplicationCommandMentionableOption
        | ApplicationCommandNumberOption
        | ApplicationCommandRoleOption
        | ApplicationCommandStringOption
        | ApplicationCommandSubcommandGroupOption
        | ApplicationCommandSubcommandOption
        | ApplicationCommandUserOption
      )[]
    | null;
  default_member_permissions?: number | null;
  dm_permission?: boolean | null;
  contexts?: InteractionContextType[] | null;
  integration_types?: ApplicationIntegrationType[] | null;
  handler?: null | ApplicationCommandHandler;
};

export type ApplicationCommandPermission = {
  id: SnowflakeType;
  type: ApplicationCommandPermissionType;
  permission: boolean;
};

export type ApplicationCommandResponse = {
  id: SnowflakeType;
  application_id: SnowflakeType;
  version: SnowflakeType;
  default_member_permissions: string | null;
  type: ApplicationCommandType;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  guild_id?: SnowflakeType;
  dm_permission?: boolean;
  contexts?: InteractionContextType[] | null;
  integration_types?: ApplicationIntegrationType[];
  options?: (
    | ApplicationCommandAttachmentOptionResponse
    | ApplicationCommandBooleanOptionResponse
    | ApplicationCommandChannelOptionResponse
    | ApplicationCommandIntegerOptionResponse
    | ApplicationCommandMentionableOptionResponse
    | ApplicationCommandNumberOptionResponse
    | ApplicationCommandRoleOptionResponse
    | ApplicationCommandStringOptionResponse
    | ApplicationCommandSubcommandGroupOptionResponse
    | ApplicationCommandSubcommandOptionResponse
    | ApplicationCommandUserOptionResponse
  )[];
  nsfw?: boolean;
};

export type ApplicationCommandRoleOption = {
  type: ApplicationCommandOptionType.ROLE;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
};

export type ApplicationCommandRoleOptionResponse = {
  type: ApplicationCommandOptionType.ROLE;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
};

export type ApplicationCommandStringOption = {
  type: ApplicationCommandOptionType.STRING;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
  autocomplete?: boolean | null;
  min_length?: number | null;
  max_length?: number | null;
  choices?: ApplicationCommandOptionStringChoice[] | null;
};

export type ApplicationCommandStringOptionResponse = {
  type: ApplicationCommandOptionType.STRING;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
  autocomplete?: boolean;
  choices?: ApplicationCommandOptionStringChoiceResponse[];
  min_length?: number;
  max_length?: number;
};

export type ApplicationCommandSubcommandGroupOption = {
  type: ApplicationCommandOptionType.SUB_COMMAND_GROUP;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
  options?: ApplicationCommandSubcommandOption[] | null;
};

export type ApplicationCommandSubcommandGroupOptionResponse = {
  type: ApplicationCommandOptionType.SUB_COMMAND_GROUP;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
  options?: ApplicationCommandSubcommandOptionResponse[];
};

export type ApplicationCommandSubcommandOption = {
  type: ApplicationCommandOptionType.SUB_COMMAND;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
  options?:
    | (
        | ApplicationCommandAttachmentOption
        | ApplicationCommandBooleanOption
        | ApplicationCommandChannelOption
        | ApplicationCommandIntegerOption
        | ApplicationCommandMentionableOption
        | ApplicationCommandNumberOption
        | ApplicationCommandRoleOption
        | ApplicationCommandStringOption
        | ApplicationCommandUserOption
      )[]
    | null;
};

export type ApplicationCommandSubcommandOptionResponse = {
  type: ApplicationCommandOptionType.SUB_COMMAND;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
  options?: (
    | ApplicationCommandAttachmentOptionResponse
    | ApplicationCommandBooleanOptionResponse
    | ApplicationCommandChannelOptionResponse
    | ApplicationCommandIntegerOptionResponse
    | ApplicationCommandMentionableOptionResponse
    | ApplicationCommandNumberOptionResponse
    | ApplicationCommandRoleOptionResponse
    | ApplicationCommandStringOptionResponse
    | ApplicationCommandUserOptionResponse
  )[];
};

export type ApplicationCommandUpdateRequest = {
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description?: string | null;
  description_localizations?: {
    [key: string]: string;
  } | null;
  options?:
    | (
        | ApplicationCommandAttachmentOption
        | ApplicationCommandBooleanOption
        | ApplicationCommandChannelOption
        | ApplicationCommandIntegerOption
        | ApplicationCommandMentionableOption
        | ApplicationCommandNumberOption
        | ApplicationCommandRoleOption
        | ApplicationCommandStringOption
        | ApplicationCommandSubcommandGroupOption
        | ApplicationCommandSubcommandOption
        | ApplicationCommandUserOption
      )[]
    | null;
  default_member_permissions?: number | null;
  dm_permission?: boolean | null;
  contexts?: InteractionContextType[] | null;
  integration_types?: ApplicationIntegrationType[] | null;
  handler?: null | ApplicationCommandHandler;
  type?: null | ApplicationCommandType;
  id?: null | SnowflakeType;
};

export type ApplicationCommandUserOption = {
  type: ApplicationCommandOptionType.USER;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean | null;
};

export type ApplicationCommandUserOptionResponse = {
  type: ApplicationCommandOptionType.USER;
  name: string;
  name_localized?: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localized?: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
  required?: boolean;
};

export type ApplicationFormPartial = {
  description?: {
    default: string;
    localizations?: {
      [key: string]: string;
    } | null;
  };
  icon?: string | null;
  cover_image?: string | null;
  team_id?: null | SnowflakeType;
  flags?: number | null;
  interactions_endpoint_url?: string | null;
  explicit_content_filter?: null | ApplicationExplicitContentFilterTypes;
  max_participants?: number | null;
  type?: null | ApplicationTypes;
  tags?: string[] | null;
  custom_install_url?: string | null;
  install_params?: null | ApplicationOAuth2InstallParams;
  role_connections_verification_url?: string | null;
  integration_types_config?: {
    [key: string]: null | ApplicationIntegrationTypeConfiguration;
  } | null;
  event_webhooks_status?: null | AutomodEventType;
  event_webhooks_url?: string | null;
  event_webhooks_types?:
    | (
        | ActionTypes.APPLICATION_AUTHORIZED
        | ActionTypes.APPLICATION_DEAUTHORIZED
        | ActionTypes.ENTITLEMENT_CREATE
        | ActionTypes.ENTITLEMENT_DELETE
        | ActionTypes.ENTITLEMENT_UPDATE
        | ActionTypes.GAME_DIRECT_MESSAGE_CREATE
        | ActionTypes.GAME_DIRECT_MESSAGE_DELETE
        | ActionTypes.GAME_DIRECT_MESSAGE_UPDATE
        | ActionTypes.LOBBY_MESSAGE_CREATE
        | ActionTypes.LOBBY_MESSAGE_DELETE
        | ActionTypes.LOBBY_MESSAGE_UPDATE
        | ActionTypes.QUEST_USER_ENROLLMENT
      )[]
    | null;
};

export type ApplicationIncomingWebhookResponse = {
  application_id: null | SnowflakeType;
  avatar: string | null;
  channel_id: null | SnowflakeType;
  guild_id?: null | SnowflakeType;
  id: SnowflakeType;
  name: string;
  type: WebhookTypes.APPLICATION_INCOMING;
  user?: UserResponse;
};

export type ApplicationIntegrationTypeConfiguration = {
  oauth2_install_params?: null | ApplicationOAuth2InstallParams;
};

export type ApplicationIntegrationTypeConfigurationResponse = {
  oauth2_install_params?: ApplicationOAuth2InstallParamsResponse;
};

export type ApplicationOAuth2InstallParams = {
  scopes?: (OAuth2Scopes.APPLICATIONS_COMMANDS | OAuth2Scopes.BOT)[] | null;
  permissions?: number | null;
};

export type ApplicationOAuth2InstallParamsResponse = {
  scopes: (OAuth2Scopes.APPLICATIONS_COMMANDS | OAuth2Scopes.BOT)[];
  permissions: string;
};

export type ApplicationResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  description: string;
  type: null | ApplicationTypes;
  cover_image?: string;
  primary_sku_id?: SnowflakeType;
  bot?: UserResponse;
  slug?: string;
  guild_id?: SnowflakeType;
  rpc_origins?: string[];
  bot_public?: boolean;
  bot_require_code_grant?: boolean;
  terms_of_service_url?: string;
  privacy_policy_url?: string;
  custom_install_url?: string;
  install_params?: ApplicationOAuth2InstallParamsResponse;
  integration_types_config?: {
    [key: string]: ApplicationIntegrationTypeConfigurationResponse;
  };
  verify_key: string;
  flags: number;
  flags_new: string;
  max_participants?: number | null;
  tags?: string[];
};

export type ApplicationRoleConnectionsMetadataItemRequest = {
  type: MetadataItemTypes;
  key: string;
  name: string;
  name_localizations?: {
    [key: string]: string | null;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string | null;
  } | null;
};

export type ApplicationRoleConnectionsMetadataItemResponse = {
  type: MetadataItemTypes;
  key: string;
  name: string;
  name_localizations?: {
    [key: string]: string;
  } | null;
  description: string;
  description_localizations?: {
    [key: string]: string;
  } | null;
};

export type ApplicationUserRoleConnectionResponse = {
  platform_name?: string;
  platform_username?: string | null;
  metadata?: {
    [key: string]: string;
  };
};

export type AttachmentResponse = {
  id: SnowflakeType;
  filename: string;
  size: number;
  url: string;
  proxy_url: string;
  width?: number;
  height?: number;
  duration_secs?: number;
  waveform?: string;
  description?: string;
  content_type?: string;
  ephemeral?: boolean;
  flags?: number;
  placeholder?: string;
  placeholder_version?: number;
  title?: string | null;
  application?: ApplicationResponse;
  clip_created_at?: string;
  clip_participants?: UserResponse[];
};

export type AuditLogEntryResponse = {
  id: SnowflakeType;
  action_type: AuditLogActionTypes;
  user_id: null | SnowflakeType;
  target_id: null | SnowflakeType;
  changes?: AuditLogObjectChangeResponse[];
  options?: {
    [key: string]: string;
  };
  reason?: string;
};

export type AuditLogObjectChangeResponse = {
  key: string | null;
  new_value?: unknown;
  old_value?: unknown;
};

export type BanUserFromGuildRequest = {
  delete_message_seconds?: number | null;
  delete_message_days?: number | null;
};

export type BaseCreateMessageCreateRequest = {
  content?: string | null;
  embeds?: RichEmbed[] | null;
  allowed_mentions?: null | MessageAllowedMentionsRequest;
  sticker_ids?: SnowflakeType[] | null;
  components?:
    | (
        | ActionRowComponentForMessageRequest
        | ContainerComponentForMessageRequest
        | FileComponentForMessageRequest
        | MediaGalleryComponentForMessageRequest
        | SectionComponentForMessageRequest
        | SeparatorComponentForMessageRequest
        | TextDisplayComponentForMessageRequest
      )[]
    | null;
  flags?: number | null;
  attachments?: MessageAttachmentRequest[] | null;
  poll?: null | PollCreateRequest;
  shared_client_theme?: null | CustomClientThemeShareRequest;
};

export type BasicApplicationResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  description: string;
  type: null | ApplicationTypes;
  cover_image?: string;
  primary_sku_id?: SnowflakeType;
  bot?: UserResponse;
};

export type BasicGuildMemberResponse = {
  avatar: string | null;
  avatar_decoration_data?: null | UserAvatarDecorationResponse;
  banner: string | null;
  communication_disabled_until: string | null;
  flags: number;
  joined_at: string;
  nick: string | null;
  pending: boolean;
  premium_since: string | null;
  roles: SnowflakeType[];
  collectibles?: null | UserCollectiblesResponse;
};

export type BasicMessageResponse = {
  type: MessageType;
  content: string;
  mentions: UserResponse[];
  mention_roles: SnowflakeType[];
  attachments: MessageAttachmentResponse[];
  embeds: MessageEmbedResponse[];
  timestamp: string;
  edited_timestamp: string | null;
  flags: number;
  components: (
    | ActionRowComponentResponse
    | ContainerComponentResponse
    | FileComponentResponse
    | MediaGalleryComponentResponse
    | SectionComponentResponse
    | SeparatorComponentResponse
    | TextDisplayComponentResponse
  )[];
  stickers?: (GuildStickerResponse | StandardStickerResponse)[];
  sticker_items?: MessageStickerItemResponse[];
  id: SnowflakeType;
  channel_id: SnowflakeType;
  author: UserResponse;
  pinned: boolean;
  mention_everyone: boolean;
  tts: boolean;
  call?: MessageCallResponse;
  activity?: MessageActivityResponse;
  application?: BasicApplicationResponse;
  application_id?: SnowflakeType;
  interaction?: MessageInteractionResponse;
  nonce?: number | string;
  webhook_id?: SnowflakeType;
  message_reference?: MessageReferenceResponse;
  thread?: ThreadResponse;
  mention_channels?: MessageMentionChannelResponse[];
  role_subscription_data?: MessageRoleSubscriptionDataResponse;
  purchase_notification?: PurchaseNotificationResponse;
  position?: number;
  resolved?: ResolvedObjectsResponse;
  poll?: PollResponse;
  shared_client_theme?: CustomClientThemeResponse;
  interaction_metadata?:
    | ApplicationCommandInteractionMetadataResponse
    | MessageComponentInteractionMetadataResponse
    | ModalSubmitInteractionMetadataResponse;
  message_snapshots?: MessageSnapshotResponse[];
};

export type BlockMessageAction = {
  type: AutomodActionType.BLOCK_MESSAGE;
  metadata?: null | BlockMessageActionMetadata;
};

export type BlockMessageActionMetadata = {
  custom_message?: string | null;
};

export type BlockMessageActionMetadataResponse = {
  custom_message?: string;
};

export type BlockMessageActionResponse = {
  type: AutomodActionType.BLOCK_MESSAGE;
  metadata: BlockMessageActionMetadataResponse;
};

export type BotAccountPatchRequest = {
  username: string;
  avatar?: string | null;
  banner?: string | null;
};

export type BotAddGuildMemberRequest = {
  nick?: string | null;
  roles?: SnowflakeType[] | null;
  mute?: boolean | null;
  deaf?: boolean | null;
  access_token: string;
  flags?: number | null;
};

export type BulkBanUsersRequest = {
  user_ids: SnowflakeType[];
  delete_message_seconds?: number | null;
};

export type BulkBanUsersResponse = {
  banned_users: SnowflakeType[];
  failed_users: SnowflakeType[];
};

export type BulkLobbyMemberRequest = {
  id: SnowflakeType;
  metadata?: {
    [key: string]: string;
  } | null;
  flags?: null | ActivityActionTypes.JOIN;
  remove_member?: boolean | null;
};

export type ButtonComponentForMessageRequest = {
  type: MessageComponentTypes.BUTTON;
  id?: number | null;
  custom_id?: string | null;
  style: ButtonStyleTypes;
  label?: string | null;
  disabled?: boolean | null;
  url?: string | null;
  sku_id?: null | SnowflakeType;
  emoji?: null | ComponentEmojiForRequest;
};

export type ButtonComponentResponse = {
  type: MessageComponentTypes.BUTTON;
  id: number;
  custom_id?: string;
  style: ButtonStyleTypes;
  label?: string;
  disabled?: boolean;
  emoji?: ComponentEmojiResponse;
  url?: string | null;
  sku_id?: SnowflakeType;
};

export type ChannelFollowerResponse = {
  channel_id: SnowflakeType;
  webhook_id: SnowflakeType;
};

export type ChannelFollowerWebhookResponse = {
  application_id: null | SnowflakeType;
  avatar: string | null;
  channel_id: null | SnowflakeType;
  guild_id?: null | SnowflakeType;
  id: SnowflakeType;
  name: string;
  type: WebhookTypes.CHANNEL_FOLLOWER;
  user?: UserResponse;
  source_guild?: WebhookSourceGuildResponse;
  source_channel?: WebhookSourceChannelResponse;
};

export type ChannelPermissionOverwriteRequest = {
  id: SnowflakeType;
  type?: null | ChannelPermissionOverwrites;
  allow?: number | null;
  deny?: number | null;
};

export type ChannelPermissionOverwriteResponse = {
  id: SnowflakeType;
  type: ChannelPermissionOverwrites;
  allow: string;
  deny: string;
};

export type ChannelSelectComponentForMessageRequest = {
  type: MessageComponentTypes.CHANNEL_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  default_values?: ChannelSelectDefaultValue[] | null;
  channel_types?: ChannelTypes[] | null;
};

export type ChannelSelectComponentForModalRequest = {
  type: MessageComponentTypes.CHANNEL_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  default_values?: ChannelSelectDefaultValue[] | null;
  channel_types?: ChannelTypes[] | null;
};

export type ChannelSelectComponentResponse = {
  type: MessageComponentTypes.CHANNEL_SELECT;
  id: number;
  custom_id: string;
  placeholder?: string;
  min_values: number;
  max_values: number;
  disabled?: boolean;
  channel_types?: ChannelTypes[];
  default_values?: ChannelSelectDefaultValueResponse[];
};

export type ChannelSelectDefaultValue = {
  type: SnowflakeSelectDefaultValueTypes.CHANNEL;
  id: SnowflakeType;
};

export type ChannelSelectDefaultValueResponse = {
  type: SnowflakeSelectDefaultValueTypes.CHANNEL;
  id: SnowflakeType;
};

export type CheckboxComponentForModalRequest = {
  type: MessageComponentTypes.CHECKBOX;
  id?: number | null;
  custom_id: string;
  default?: boolean | null;
};

export type CheckboxGroupComponentForModalRequest = {
  type: MessageComponentTypes.CHECKBOX_GROUP;
  id?: number | null;
  custom_id: string;
  min_values?: number | null;
  max_values?: number | null;
  required?: boolean | null;
  options: CheckboxGroupOptionForRequest[];
};

export type CheckboxGroupOptionForRequest = {
  label: string;
  value: string;
  description?: string | null;
  default?: boolean | null;
};

export type CommandPermissionResponse = {
  id: SnowflakeType;
  type: ApplicationCommandPermissionType;
  permission: boolean;
};

export type CommandPermissionsResponse = {
  id: SnowflakeType;
  application_id: SnowflakeType;
  guild_id: SnowflakeType;
  permissions: CommandPermissionResponse[];
};

export type ComponentEmojiForRequest = {
  id?: null | SnowflakeType;
  name: string;
};

export type ComponentEmojiResponse = {
  id?: SnowflakeType;
  name: string;
  animated?: boolean;
};

export type ConnectedAccountGuildResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
};

export type ConnectedAccountIntegrationResponse = {
  id: string;
  type: IntegrationTypes;
  account: AccountResponse;
  guild: ConnectedAccountGuildResponse;
};

export type ConnectedAccountResponse = {
  id: string;
  name: string | null;
  type: ConnectedAccountProviders;
  friend_sync: boolean;
  integrations?: ConnectedAccountIntegrationResponse[];
  show_activity: boolean;
  two_way_link: boolean;
  verified: boolean;
  visibility: ConnectedAccountVisibility;
  revoked?: boolean;
};

export type ContainerComponentForMessageRequest = {
  type: MessageComponentTypes.CONTAINER;
  id?: number | null;
  accent_color?: number | null;
  components: (
    | ActionRowComponentForMessageRequest
    | FileComponentForMessageRequest
    | MediaGalleryComponentForMessageRequest
    | SectionComponentForMessageRequest
    | SeparatorComponentForMessageRequest
    | TextDisplayComponentForMessageRequest
  )[];
  spoiler?: boolean | null;
};

export type ContainerComponentResponse = {
  type: MessageComponentTypes.CONTAINER;
  id: number;
  accent_color: number | null;
  components: (
    | ActionRowComponentResponse
    | FileComponentResponse
    | MediaGalleryComponentResponse
    | SectionComponentResponse
    | SeparatorComponentResponse
    | TextDisplayComponentResponse
  )[];
  spoiler: boolean;
};

export type CreateEntitlementRequestData = {
  sku_id: SnowflakeType;
  owner_id: SnowflakeType;
  owner_type: EntitlementOwnerTypes;
};

export type CreateForumThreadRequest = {
  name: string;
  auto_archive_duration?: null | ThreadAutoArchiveDuration;
  rate_limit_per_user?: number | null;
  applied_tags?: SnowflakeType[] | null;
  message: BaseCreateMessageCreateRequest;
};

export type CreateGroupDMInviteRequest = {
  max_age?: number | null;
};

export type CreateGuildChannelRequest = {
  type?:
    | null
    | ChannelTypes.GUILD_TEXT
    | ChannelTypes.GUILD_VOICE
    | ChannelTypes.GUILD_CATEGORY
    | ChannelTypes.GUILD_ANNOUNCEMENT
    | ChannelTypes.GUILD_STAGE_VOICE
    | ChannelTypes.GUILD_DIRECTORY
    | ChannelTypes.GUILD_FORUM;
  name: string;
  position?: number | null;
  topic?: string | null;
  bitrate?: number | null;
  user_limit?: number | null;
  nsfw?: boolean | null;
  rate_limit_per_user?: number | null;
  parent_id?: null | SnowflakeType;
  permission_overwrites?: ChannelPermissionOverwriteRequest[] | null;
  rtc_region?: string | null;
  video_quality_mode?: null | VideoQualityModes;
  default_auto_archive_duration?: null | ThreadAutoArchiveDuration;
  default_reaction_emoji?: null | UpdateDefaultReactionEmojiRequest;
  default_thread_rate_limit_per_user?: number | null;
  default_sort_order?: null | ThreadSortOrder;
  default_forum_layout?: null | ForumLayout;
  default_tag_setting?: null | ThreadSearchTagSetting;
  available_tags?: (null | CreateOrUpdateThreadTagRequest)[] | null;
};

export type CreateGuildInviteRequest = {
  max_age?: number | null;
  temporary?: boolean | null;
  max_uses?: number | null;
  unique?: boolean | null;
  target_user_id?: null | SnowflakeType;
  target_application_id?: null | SnowflakeType;
  target_type?: null | AutomodEventType;
};

export type CreateMessageInteractionCallbackRequest = {
  type:
    | InteractionCallbackTypes.CHANNEL_MESSAGE_WITH_SOURCE
    | InteractionCallbackTypes.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE;
  data?: null | IncomingWebhookInteractionRequest;
};

export type CreateMessageInteractionCallbackResponse = {
  type: InteractionCallbackTypes.CHANNEL_MESSAGE_WITH_SOURCE;
  message: MessageResponse;
};

export type CreateOrUpdateThreadTagRequest = {
  name: string;
  emoji_id?: null | SnowflakeType;
  emoji_name?: string | null;
  moderated?: boolean | null;
};

export type CreatePrivateChannelRequest = {
  recipient_id?: null | SnowflakeType;
  access_tokens?: string[] | null;
  nicks?: {
    [key: string]: string | null;
  } | null;
};

export type CreateRoleRequest = {
  name?: string | null;
  permissions?: number | null;
  color?: number | null;
  colors?: null | RoleColors;
  hoist?: boolean | null;
  mentionable?: boolean | null;
  icon?: string | null;
  unicode_emoji?: string | null;
};

export type CreateTextThreadWithMessageRequest = {
  name: string;
  auto_archive_duration?: null | ThreadAutoArchiveDuration;
  rate_limit_per_user?: number | null;
};

export type CreateTextThreadWithoutMessageRequest = {
  name: string;
  auto_archive_duration?: null | ThreadAutoArchiveDuration;
  rate_limit_per_user?: number | null;
  type?:
    | null
    | ChannelTypes.ANNOUNCEMENT_THREAD
    | ChannelTypes.PUBLIC_THREAD
    | ChannelTypes.PRIVATE_THREAD;
  invitable?: boolean | null;
};

export type CreatedThreadResponse = {
  id: SnowflakeType;
  type: ChannelTypes.ANNOUNCEMENT_THREAD | ChannelTypes.PUBLIC_THREAD | ChannelTypes.PRIVATE_THREAD;
  last_message_id?: null | SnowflakeType;
  flags: number;
  last_pin_timestamp?: string | null;
  guild_id: SnowflakeType;
  name: string;
  parent_id?: null | SnowflakeType;
  rate_limit_per_user?: number;
  bitrate?: number;
  user_limit?: number;
  rtc_region?: string | null;
  video_quality_mode?: VideoQualityModes;
  permissions?: string;
  owner_id: SnowflakeType;
  thread_metadata: ThreadMetadataResponse;
  message_count: number;
  member_count: number;
  total_message_sent: number;
  applied_tags?: SnowflakeType[];
  member?: ThreadMemberResponse;
};

export type CustomClientThemeResponse = {
  colors: string[];
  gradient_angle: number;
  base_mix: number;
  base_theme: MessageShareCustomUserThemeBaseTheme;
};

export type CustomClientThemeShareRequest = {
  colors: string[];
  gradient_angle: number;
  base_mix: number;
  base_theme?: null | MessageShareCustomUserThemeBaseTheme;
};

export type DefaultKeywordListTriggerMetadata = {
  allow_list?: string[] | null;
  presets?: AutomodKeywordPresetType[] | null;
};

export type DefaultKeywordListTriggerMetadataResponse = {
  allow_list: string[];
  presets: AutomodKeywordPresetType[];
};

export type DefaultKeywordListUpsertRequest = {
  name: string;
  event_type: AutomodEventType;
  actions?:
    | (
        | BlockMessageAction
        | FlagToChannelAction
        | QuarantineUserAction
        | UserCommunicationDisabledAction
      )[]
    | null;
  enabled?: boolean | null;
  exempt_roles?: SnowflakeType[] | null;
  exempt_channels?: SnowflakeType[] | null;
  trigger_type: AutomodTriggerType.DEFAULT_KEYWORD_LIST;
  trigger_metadata: DefaultKeywordListTriggerMetadata;
};

export type DefaultKeywordListUpsertRequestPartial = {
  name?: string;
  event_type?: AutomodEventType;
  actions?:
    | (
        | BlockMessageAction
        | FlagToChannelAction
        | QuarantineUserAction
        | UserCommunicationDisabledAction
      )[]
    | null;
  enabled?: boolean | null;
  exempt_roles?: SnowflakeType[] | null;
  exempt_channels?: SnowflakeType[] | null;
  trigger_type?: AutomodTriggerType.DEFAULT_KEYWORD_LIST;
  trigger_metadata?: DefaultKeywordListTriggerMetadata;
};

export type DefaultKeywordRuleResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  creator_id: SnowflakeType;
  name: string;
  event_type: AutomodEventType;
  actions: (
    | BlockMessageActionResponse
    | FlagToChannelActionResponse
    | QuarantineUserActionResponse
    | UserCommunicationDisabledActionResponse
  )[];
  trigger_type: AutomodTriggerType.DEFAULT_KEYWORD_LIST;
  enabled: boolean;
  exempt_roles: SnowflakeType[];
  exempt_channels: SnowflakeType[];
  trigger_metadata: DefaultKeywordListTriggerMetadataResponse;
};

export type DefaultReactionEmojiResponse = {
  emoji_id: null | SnowflakeType;
  emoji_name: string | null;
};

export type DiscordIntegrationResponse = {
  type: IntegrationTypes.DISCORD;
  name: string | null;
  account: AccountResponse;
  enabled: boolean;
  id: SnowflakeType;
  application: IntegrationApplicationResponse;
  scopes: (OAuth2Scopes.APPLICATIONS_COMMANDS | OAuth2Scopes.BOT | OAuth2Scopes.WEBHOOK_INCOMING)[];
  user?: UserResponse;
};

export type EmbeddedActivityInstance = {
  application_id: SnowflakeType;
  instance_id: string;
  launch_id: string;
  location: GuildChannelLocation | PrivateChannelLocation;
  users: SnowflakeType[];
};

export type EmojiResponse = {
  id: SnowflakeType;
  name: string;
  user?: UserResponse;
  roles: SnowflakeType[];
  require_colons: boolean;
  managed: boolean;
  animated: boolean;
  available: boolean;
};

export type EntitlementOwnerTypes = number;

export type EntitlementResponse = {
  id: SnowflakeType;
  sku_id: SnowflakeType;
  application_id: SnowflakeType;
  user_id: SnowflakeType;
  guild_id?: null | SnowflakeType;
  deleted: boolean;
  starts_at: string | null;
  ends_at: string | null;
  type: EntitlementTypes;
  fulfilled_at?: string | null;
  fulfillment_status?: null | EntitlementTenantFulfillmentStatusResponse;
  consumed?: boolean;
  gifter_user_id?: null | SnowflakeType;
  parent_id?: null | SnowflakeType;
};

export type EntityMetadataExternal = {
  location: string;
};

export type EntityMetadataExternalResponse = {
  location: string;
};

export type EntityMetadataStageInstance = {};

export type EntityMetadataStageInstanceResponse = {};

export type EntityMetadataVoice = {};

export type EntityMetadataVoiceResponse = {};

export type ExternalConnectionIntegrationResponse = {
  type: IntegrationTypes.TWITCH | IntegrationTypes.YOUTUBE;
  name: string | null;
  account: AccountResponse;
  enabled: boolean;
  id: string;
  user: UserResponse;
  revoked?: boolean;
  expire_behavior?: IntegrationExpireBehaviorTypes;
  expire_grace_period?: IntegrationExpireGracePeriodTypes;
  subscriber_count?: number;
  synced_at?: string;
  role_id?: null | SnowflakeType;
  syncing?: boolean;
  enable_emoticons?: boolean;
};

export type ExternalScheduledEventCreateRequest = {
  name: string;
  description?: string | null;
  image?: string | null;
  scheduled_start_time: string;
  scheduled_end_time?: string | null;
  privacy_level: GuildScheduledEventPrivacyLevels;
  entity_type: GuildScheduledEventEntityTypes.EXTERNAL;
  channel_id?: null | SnowflakeType;
  entity_metadata: EntityMetadataExternal;
};

export type ExternalScheduledEventPatchRequestPartial = {
  status?: null | GuildScheduledEventStatuses;
  name?: string;
  description?: string | null;
  image?: string | null;
  scheduled_start_time?: string;
  scheduled_end_time?: string | null;
  entity_type?: null | ActivityActionTypes.LISTEN;
  privacy_level?: GuildScheduledEventPrivacyLevels;
  channel_id?: null | SnowflakeType;
  entity_metadata?: EntityMetadataExternal;
};

export type ExternalScheduledEventResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  name: string;
  description: string | null;
  channel_id: null | SnowflakeType;
  creator_id: null | SnowflakeType;
  creator?: UserResponse;
  image: string | null;
  scheduled_start_time: string;
  scheduled_end_time: string | null;
  status: GuildScheduledEventStatuses;
  entity_type: GuildScheduledEventEntityTypes.EXTERNAL;
  entity_id: null | SnowflakeType;
  user_count?: number;
  privacy_level: GuildScheduledEventPrivacyLevels;
  user_rsvp?: null | ScheduledEventUserResponse;
  entity_metadata: EntityMetadataExternalResponse;
};

export type FileComponentForMessageRequest = {
  type: MessageComponentTypes.FILE;
  id?: number | null;
  spoiler?: boolean | null;
  file: UnfurledMediaRequestWithAttachmentReferenceRequired;
};

export type FileComponentResponse = {
  type: MessageComponentTypes.FILE;
  id: number;
  file: UnfurledMediaResponse;
  name: string | null;
  size: number | null;
  spoiler: boolean;
};

export type FileUploadComponentForModalRequest = {
  type: MessageComponentTypes.FILE_UPLOAD;
  id?: number | null;
  custom_id: string;
  min_values?: number | null;
  max_values?: number | null;
  required?: boolean | null;
};

export type FlagToChannelAction = {
  type: AutomodActionType.FLAG_TO_CHANNEL;
  metadata: FlagToChannelActionMetadata;
};

export type FlagToChannelActionMetadata = {
  channel_id: SnowflakeType;
};

export type FlagToChannelActionMetadataResponse = {
  channel_id: SnowflakeType;
};

export type FlagToChannelActionResponse = {
  type: AutomodActionType.FLAG_TO_CHANNEL;
  metadata: FlagToChannelActionMetadataResponse;
};

export type ForumTagResponse = {
  id: SnowflakeType;
  name: string;
  moderated: boolean;
  emoji_id: null | SnowflakeType;
  emoji_name: string | null;
};

export type FriendInviteResponse = {
  type: InviteTypes.FRIEND;
  code: string;
  inviter?: UserResponse;
  max_age?: number;
  created_at?: string;
  expires_at: string | null;
  friends_count?: number;
  channel: null | InviteChannelResponse;
  is_contact?: boolean;
  uses?: number;
  max_uses?: number;
  flags?: number;
};

export type GatewayBotResponse = {
  url: string;
  session_start_limit: GatewayBotSessionStartLimitResponse;
  shards: number;
};

export type GatewayBotSessionStartLimitResponse = {
  max_concurrency: number;
  remaining: number;
  reset_after: number;
  total: number;
};

export type GatewayResponse = {
  url: string;
};

export type GithubAuthor = {
  username?: string | null;
  name: string;
};

export type GithubCheckApp = {
  name: string;
};

export type GithubCheckPullRequest = {
  number: number;
};

export type GithubCheckRun = {
  conclusion?: string | null;
  name: string;
  html_url: string;
  check_suite: GithubCheckSuite;
  details_url?: string | null;
  output?: null | GithubCheckRunOutput;
  pull_requests?: GithubCheckPullRequest[] | null;
};

export type GithubCheckRunOutput = {
  title?: string | null;
  summary?: string | null;
};

export type GithubCheckSuite = {
  conclusion?: string | null;
  head_branch?: string | null;
  head_sha: string;
  pull_requests?: GithubCheckPullRequest[] | null;
  app: GithubCheckApp;
};

export type GithubComment = {
  id: number;
  html_url: string;
  user: GithubUser;
  commit_id?: string | null;
  body: string;
};

export type GithubCommit = {
  id: string;
  url: string;
  message: string;
  author: GithubAuthor;
};

export type GithubDiscussion = {
  title: string;
  number: number;
  html_url: string;
  answer_html_url?: string | null;
  body?: string | null;
  user: GithubUser;
};

export type GithubIssue = {
  id: number;
  number: number;
  html_url: string;
  user: GithubUser;
  title: string;
  body?: string | null;
  pull_request?: unknown;
};

export type GithubRelease = {
  id: number;
  tag_name: string;
  html_url: string;
  author: GithubUser;
};

export type GithubRepository = {
  id: number;
  html_url: string;
  name: string;
  full_name: string;
};

export type GithubReview = {
  user: GithubUser;
  body?: string | null;
  html_url: string;
  state: string;
};

export type GithubUser = {
  id: number;
  login: string;
  html_url: string;
  avatar_url: string;
};

export type GithubWebhook = {
  action?: string | null;
  ref?: string | null;
  ref_type?: string | null;
  comment?: null | GithubComment;
  issue?: null | GithubIssue;
  pull_request?: null | GithubIssue;
  repository?: null | GithubRepository;
  forkee?: null | GithubRepository;
  sender: GithubUser;
  member?: null | GithubUser;
  release?: null | GithubRelease;
  head_commit?: null | GithubCommit;
  commits?: GithubCommit[] | null;
  forced?: boolean | null;
  compare?: string | null;
  review?: null | GithubReview;
  check_run?: null | GithubCheckRun;
  check_suite?: null | GithubCheckSuite;
  discussion?: null | GithubDiscussion;
  answer?: null | GithubComment;
};

export type GroupDMInviteResponse = {
  type: InviteTypes.GROUP_DM;
  code: string;
  inviter?: UserResponse;
  max_age?: number;
  created_at?: string;
  expires_at: string | null;
  channel: InviteChannelResponse;
  approximate_member_count?: number | null;
};

export type GuildAuditLogResponse = {
  audit_log_entries: AuditLogEntryResponse[];
  users: UserResponse[];
  integrations: (
    | PartialDiscordIntegrationResponse
    | PartialExternalConnectionIntegrationResponse
    | PartialGuildSubscriptionIntegrationResponse
  )[];
  webhooks: (
    | ApplicationIncomingWebhookResponse
    | ChannelFollowerWebhookResponse
    | GuildIncomingWebhookResponse
  )[];
  guild_scheduled_events: (
    | ExternalScheduledEventResponse
    | StageScheduledEventResponse
    | VoiceScheduledEventResponse
  )[];
  threads: ThreadResponse[];
  application_commands: ApplicationCommandResponse[];
  auto_moderation_rules: (
    | DefaultKeywordRuleResponse
    | KeywordRuleResponse
    | MLSpamRuleResponse
    | MentionSpamRuleResponse
    | SpamLinkRuleResponse
    | null
  )[];
};

export type GuildBanResponse = {
  user: UserResponse;
  reason: string | null;
};

export type GuildChannelLocation = {
  id: string;
  kind: EmbeddedActivityLocationKind.GUILD_CHANNEL;
  channel_id: SnowflakeType;
  guild_id: SnowflakeType;
};

export type GuildChannelResponse = {
  id: SnowflakeType;
  type:
    | ChannelTypes.GUILD_TEXT
    | ChannelTypes.GUILD_VOICE
    | ChannelTypes.GUILD_CATEGORY
    | ChannelTypes.GUILD_ANNOUNCEMENT
    | ChannelTypes.GUILD_STAGE_VOICE
    | ChannelTypes.GUILD_DIRECTORY
    | ChannelTypes.GUILD_FORUM;
  last_message_id?: null | SnowflakeType;
  flags: number;
  last_pin_timestamp?: string | null;
  guild_id: SnowflakeType;
  name: string;
  parent_id?: null | SnowflakeType;
  rate_limit_per_user?: number;
  bitrate?: number;
  user_limit?: number;
  rtc_region?: string | null;
  video_quality_mode?: VideoQualityModes;
  permissions?: string;
  topic?: string | null;
  default_auto_archive_duration?: ThreadAutoArchiveDuration;
  default_thread_rate_limit_per_user?: number;
  position: number;
  permission_overwrites?: ChannelPermissionOverwriteResponse[];
  nsfw?: boolean;
  available_tags?: ForumTagResponse[];
  default_reaction_emoji?: null | DefaultReactionEmojiResponse;
  default_sort_order?: null | ThreadSortOrder;
  default_forum_layout?: ForumLayout;
  default_tag_setting?: null | ThreadSearchTagSetting;
  hd_streaming_until?: string;
  hd_streaming_buyer_id?: SnowflakeType;
};

export type GuildHomeSettingsResponse = {
  guild_id: SnowflakeType;
  enabled: boolean;
  welcome_message?: WelcomeMessageResponse;
  new_member_actions: NewMemberActionResponse[];
  resource_channels: ResourceChannelResponse[];
};

export type GuildIncidentsDataResponse = {
  invites_disabled_until: string | null;
  dms_disabled_until: string | null;
};

export type GuildIncomingWebhookResponse = {
  application_id: null | SnowflakeType;
  avatar: string | null;
  channel_id: null | SnowflakeType;
  guild_id?: null | SnowflakeType;
  id: SnowflakeType;
  name: string;
  type: WebhookTypes.GUILD_INCOMING;
  user?: UserResponse;
  token?: string;
  url?: string;
};

export type GuildInviteResponse = {
  type: InviteTypes.GUILD;
  code: string;
  inviter?: UserResponse;
  max_age?: number;
  created_at?: string;
  expires_at: string | null;
  is_contact?: boolean;
  flags?: number;
  guild: InviteGuildResponse;
  guild_id: SnowflakeType;
  channel: InviteChannelResponse;
  target_type?: InviteTargetTypes;
  target_user?: UserResponse;
  target_application?: InviteApplicationResponse;
  guild_scheduled_event?: ScheduledEventResponse;
  uses?: number;
  max_uses?: number;
  temporary?: boolean;
  approximate_member_count?: number | null;
  approximate_presence_count?: number | null;
  is_nickname_changeable?: boolean;
  roles?: InviteGuildRoleResponse[] | null;
};

export type GuildJoinRequestResponse = {
  id: SnowflakeType;
  created_at: string;
  reviewed_at: string | null;
  application_status: null | GuildJoinRequestApplicationStatus;
  /** Reason request was rejected. Only set when application_status is REJECTED */
  rejection_reason: string | null;
  guild_id: SnowflakeType;
  user_id: SnowflakeType;
  user?: null | UserResponse;
  /** Applicant's responses on join request form */
  form_responses?:
    | (
        | MultipleChoiceFormFieldResponse
        | ParagraphFormFieldResponse
        | TermsFormFieldResponse
        | TextInputFormFieldResponse
      )[]
    | null;
  actioned_by_user?: null | UserResponse;
};

export type GuildJoinRequestsListResponse = {
  total?: number;
  guild_join_requests?: GuildJoinRequestResponse[];
};

export type GuildMemberResponse = {
  avatar: string | null;
  avatar_decoration_data?: null | UserAvatarDecorationResponse;
  banner: string | null;
  communication_disabled_until: string | null;
  flags: number;
  joined_at: string;
  nick: string | null;
  pending: boolean;
  premium_since: string | null;
  roles: SnowflakeType[];
  collectibles?: null | UserCollectiblesResponse;
  user: UserResponse;
  mute: boolean;
  deaf: boolean;
};

export type GuildOnboardingResponse = {
  guild_id: SnowflakeType;
  prompts: OnboardingPromptResponse[];
  default_channel_ids: SnowflakeType[];
  enabled: boolean;
  mode: GuildOnboardingMode;
};

export type GuildPatchRequestPartial = {
  name?: string;
  description?: string | null;
  region?: string | null;
  icon?: string | null;
  verification_level?: null | VerificationLevels;
  default_message_notifications?: null | UserNotificationSettings;
  explicit_content_filter?: null | GuildExplicitContentFilterTypes;
  preferred_locale?: null | AvailableLocalesEnum;
  afk_timeout?: null | AfkTimeouts;
  afk_channel_id?: null | SnowflakeType;
  system_channel_id?: null | SnowflakeType;
  splash?: string | null;
  banner?: string | null;
  system_channel_flags?: number | null;
  features?: (string | null)[] | null;
  discovery_splash?: string | null;
  home_header?: string | null;
  rules_channel_id?: null | SnowflakeType;
  safety_alerts_channel_id?: null | SnowflakeType;
  public_updates_channel_id?: null | SnowflakeType;
  premium_progress_bar_enabled?: boolean | null;
};

export type GuildPreviewResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  description: string | null;
  home_header: string | null;
  splash: string | null;
  discovery_splash: string | null;
  features: GuildFeatures[];
  approximate_member_count: number;
  approximate_presence_count: number;
  emojis: EmojiResponse[];
  stickers: GuildStickerResponse[];
};

export type GuildProductPurchaseResponse = {
  listing_id: SnowflakeType;
  product_name: string;
};

export type GuildPruneResponse = {
  pruned: number | null;
};

export type GuildResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  description: string | null;
  home_header: string | null;
  splash: string | null;
  discovery_splash: string | null;
  features: GuildFeatures[];
  banner: string | null;
  owner_id: SnowflakeType;
  application_id: null | SnowflakeType;
  region: string;
  afk_channel_id: null | SnowflakeType;
  afk_timeout: AfkTimeouts;
  system_channel_id: null | SnowflakeType;
  system_channel_flags: number;
  widget_enabled: boolean;
  widget_channel_id: null | SnowflakeType;
  verification_level: VerificationLevels;
  roles: GuildRoleResponse[];
  default_message_notifications: UserNotificationSettings;
  mfa_level: GuildMFALevel;
  explicit_content_filter: GuildExplicitContentFilterTypes;
  max_presences: number | null;
  max_members: number;
  max_stage_video_channel_users: number;
  max_video_channel_users: number;
  vanity_url_code: string | null;
  premium_tier: PremiumGuildTiers;
  premium_subscription_count: number;
  preferred_locale: AvailableLocalesEnum;
  rules_channel_id: null | SnowflakeType;
  safety_alerts_channel_id: null | SnowflakeType;
  public_updates_channel_id: null | SnowflakeType;
  premium_progress_bar_enabled: boolean;
  premium_progress_bar_enabled_user_updated_at?: string | null;
  nsfw: boolean;
  nsfw_level: GuildNSFWContentLevel;
  emojis: EmojiResponse[];
  stickers: GuildStickerResponse[];
  incidents_data: null | GuildIncidentsDataResponse;
};

export type GuildRoleColorsResponse = {
  primary_color: number;
  secondary_color: number | null;
  tertiary_color: number | null;
};

export type GuildRoleResponse = {
  id: SnowflakeType;
  name: string;
  description: string | null;
  permissions: string;
  position: number;
  color: number;
  colors: GuildRoleColorsResponse;
  hoist: boolean;
  managed: boolean;
  mentionable: boolean;
  icon: string | null;
  unicode_emoji: string | null;
  tags?: GuildRoleTagsResponse;
  flags: number;
};

export type GuildRoleTagsResponse = {
  premium_subscriber?: null;
  bot_id?: SnowflakeType;
  integration_id?: SnowflakeType;
  subscription_listing_id?: SnowflakeType;
  available_for_purchase?: null;
  guild_connections?: null;
};

export type GuildSearchResponse = {
  messages: SearchMessageResponse[][];
  doing_deep_historical_index: boolean;
  total_results: number;
  threads?: ThreadResponse[] | null;
  members?: ThreadMemberResponse[] | null;
  documents_indexed?: number | null;
};

export type GuildStickerResponse = {
  id: SnowflakeType;
  name: string;
  tags: string;
  type: StickerTypes.GUILD;
  format_type: null | StickerFormatTypes;
  description: string | null;
  available: boolean;
  guild_id: SnowflakeType;
  user?: UserResponse;
};

export type GuildSubscriptionIntegrationResponse = {
  type: IntegrationTypes.GUILD_SUBSCRIPTION;
  name: string | null;
  account: AccountResponse;
  enabled: boolean;
  id: SnowflakeType;
};

export type GuildTemplateChannelResponse = {
  id: number | null;
  type:
    | ChannelTypes.GUILD_TEXT
    | ChannelTypes.GUILD_VOICE
    | ChannelTypes.GUILD_CATEGORY
    | ChannelTypes.GUILD_FORUM;
  name: string | null;
  position: number | null;
  topic: string | null;
  bitrate: number;
  user_limit: number;
  nsfw: boolean;
  rate_limit_per_user: number;
  parent_id: null | SnowflakeType;
  default_auto_archive_duration: null | ThreadAutoArchiveDuration;
  permission_overwrites: ChannelPermissionOverwriteResponse[];
  available_tags: GuildTemplateChannelTags[] | null;
  template: string;
  default_reaction_emoji: null | DefaultReactionEmojiResponse;
  default_thread_rate_limit_per_user: number | null;
  default_sort_order: null | ThreadSortOrder;
  default_forum_layout: null | ForumLayout;
  default_tag_setting: null | ThreadSearchTagSetting;
  icon_emoji: null | IconEmojiResponse;
  theme_color: number | null;
};

export type GuildTemplateChannelTags = {
  id: number | null;
  name: string;
  emoji_id: null | SnowflakeType;
  emoji_name: string | null;
  moderated: boolean | null;
};

export type GuildTemplateResponse = {
  code: string;
  name: string;
  description: string | null;
  usage_count: number;
  creator_id: SnowflakeType;
  creator: null | UserResponse;
  created_at: string;
  updated_at: string;
  source_guild_id: SnowflakeType;
  serialized_source_guild: GuildTemplateSnapshotResponse;
  is_dirty: boolean | null;
};

export type GuildTemplateRoleColorsResponse = {
  primary_color: number;
  secondary_color: number | null;
  tertiary_color: number | null;
};

export type GuildTemplateRoleResponse = {
  id: number;
  name: string;
  permissions: string;
  color: number;
  colors: null | GuildTemplateRoleColorsResponse;
  hoist: boolean;
  mentionable: boolean;
  icon: string | null;
  unicode_emoji: string | null;
};

export type GuildTemplateSnapshotResponse = {
  name: string;
  description: string | null;
  region: string | null;
  verification_level: VerificationLevels;
  default_message_notifications: UserNotificationSettings;
  explicit_content_filter: GuildExplicitContentFilterTypes;
  preferred_locale: AvailableLocalesEnum;
  afk_channel_id: null | SnowflakeType;
  afk_timeout: AfkTimeouts;
  system_channel_id: null | SnowflakeType;
  system_channel_flags: number;
  roles: GuildTemplateRoleResponse[];
  channels: GuildTemplateChannelResponse[];
};

export type GuildWelcomeChannel = {
  channel_id: SnowflakeType;
  description: string;
  emoji_id?: null | SnowflakeType;
  emoji_name?: string | null;
};

export type GuildWelcomeScreenChannelResponse = {
  channel_id: SnowflakeType;
  description: string;
  emoji_id: null | SnowflakeType;
  emoji_name: string | null;
};

export type GuildWelcomeScreenResponse = {
  description: string | null;
  welcome_channels: GuildWelcomeScreenChannelResponse[];
};

export type GuildWithCountsResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  description: string | null;
  home_header: string | null;
  splash: string | null;
  discovery_splash: string | null;
  features: GuildFeatures[];
  banner: string | null;
  owner_id: SnowflakeType;
  application_id: null | SnowflakeType;
  region: string;
  afk_channel_id: null | SnowflakeType;
  afk_timeout: AfkTimeouts;
  system_channel_id: null | SnowflakeType;
  system_channel_flags: number;
  widget_enabled: boolean;
  widget_channel_id: null | SnowflakeType;
  verification_level: VerificationLevels;
  roles: GuildRoleResponse[];
  default_message_notifications: UserNotificationSettings;
  mfa_level: GuildMFALevel;
  explicit_content_filter: GuildExplicitContentFilterTypes;
  max_presences: number | null;
  max_members: number;
  max_stage_video_channel_users: number;
  max_video_channel_users: number;
  vanity_url_code: string | null;
  premium_tier: PremiumGuildTiers;
  premium_subscription_count: number;
  preferred_locale: AvailableLocalesEnum;
  rules_channel_id: null | SnowflakeType;
  safety_alerts_channel_id: null | SnowflakeType;
  public_updates_channel_id: null | SnowflakeType;
  premium_progress_bar_enabled: boolean;
  premium_progress_bar_enabled_user_updated_at?: string | null;
  nsfw: boolean;
  nsfw_level: GuildNSFWContentLevel;
  emojis: EmojiResponse[];
  stickers: GuildStickerResponse[];
  incidents_data: null | GuildIncidentsDataResponse;
  approximate_member_count?: number | null;
  approximate_presence_count?: number | null;
};

export type IconEmojiResponse = {};

export type IncomingWebhookInteractionRequest = {
  content?: string | null;
  embeds?: RichEmbed[] | null;
  allowed_mentions?: null | MessageAllowedMentionsRequest;
  components?:
    | (
        | ActionRowComponentForMessageRequest
        | ContainerComponentForMessageRequest
        | FileComponentForMessageRequest
        | MediaGalleryComponentForMessageRequest
        | SectionComponentForMessageRequest
        | SeparatorComponentForMessageRequest
        | TextDisplayComponentForMessageRequest
      )[]
    | null;
  attachments?: MessageAttachmentRequest[] | null;
  poll?: null | PollCreateRequest;
  tts?: boolean | null;
  flags?: number | null;
};

export type IncomingWebhookRequestPartial = {
  content?: string | null;
  embeds?: RichEmbed[] | null;
  allowed_mentions?: null | MessageAllowedMentionsRequest;
  components?:
    | (
        | ActionRowComponentForMessageRequest
        | ContainerComponentForMessageRequest
        | FileComponentForMessageRequest
        | MediaGalleryComponentForMessageRequest
        | SectionComponentForMessageRequest
        | SeparatorComponentForMessageRequest
        | TextDisplayComponentForMessageRequest
      )[]
    | null;
  attachments?: MessageAttachmentRequest[] | null;
  poll?: null | PollCreateRequest;
  tts?: boolean | null;
  flags?: number | null;
  username?: string | null;
  avatar_url?: string | null;
  thread_name?: string | null;
  applied_tags?: SnowflakeType[] | null;
};

export type IncomingWebhookUpdateForInteractionCallbackRequestPartial = {
  content?: string | null;
  embeds?: RichEmbed[] | null;
  allowed_mentions?: null | MessageAllowedMentionsRequest;
  components?:
    | (
        | ActionRowComponentForMessageRequest
        | ContainerComponentForMessageRequest
        | FileComponentForMessageRequest
        | MediaGalleryComponentForMessageRequest
        | SectionComponentForMessageRequest
        | SeparatorComponentForMessageRequest
        | TextDisplayComponentForMessageRequest
      )[]
    | null;
  attachments?: MessageAttachmentRequest[] | null;
  flags?: number | null;
};

export type IncomingWebhookUpdateRequestPartial = {
  content?: string | null;
  embeds?: RichEmbed[] | null;
  allowed_mentions?: null | MessageAllowedMentionsRequest;
  components?:
    | (
        | ActionRowComponentForMessageRequest
        | ContainerComponentForMessageRequest
        | FileComponentForMessageRequest
        | MediaGalleryComponentForMessageRequest
        | SectionComponentForMessageRequest
        | SeparatorComponentForMessageRequest
        | TextDisplayComponentForMessageRequest
      )[]
    | null;
  attachments?: MessageAttachmentRequest[] | null;
  poll?: null | PollCreateRequest;
  flags?: number | null;
};

export type Int53Type = number;

export type IntegrationApplicationResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  description: string;
  type: null | ApplicationTypes;
  cover_image?: string;
  primary_sku_id?: SnowflakeType;
  bot?: UserResponse;
};

export type InteractionApplicationCommandAutocompleteCallbackIntegerData = {
  choices?: (null | ApplicationCommandOptionIntegerChoice)[] | null;
};

export type InteractionApplicationCommandAutocompleteCallbackNumberData = {
  choices?: (null | ApplicationCommandOptionNumberChoice)[] | null;
};

export type InteractionApplicationCommandAutocompleteCallbackStringData = {
  choices?: (null | ApplicationCommandOptionStringChoice)[] | null;
};

export type InteractionCallbackResponse = {
  interaction: InteractionResponse;
  resource?:
    | CreateMessageInteractionCallbackResponse
    | LaunchActivityInteractionCallbackResponse
    | UpdateMessageInteractionCallbackResponse;
};

export type InteractionResponse = {
  id: SnowflakeType;
  type: InteractionTypes;
  response_message_id?: SnowflakeType;
  response_message_loading?: boolean;
  response_message_ephemeral?: boolean;
  channel_id?: SnowflakeType;
  guild_id?: SnowflakeType;
};

export type InviteApplicationResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  description: string;
  type: null | ApplicationTypes;
  cover_image?: string;
  primary_sku_id?: SnowflakeType;
  bot?: UserResponse;
  slug?: string;
  guild_id?: SnowflakeType;
  rpc_origins?: string[];
  bot_public?: boolean;
  bot_require_code_grant?: boolean;
  terms_of_service_url?: string;
  privacy_policy_url?: string;
  custom_install_url?: string;
  install_params?: ApplicationOAuth2InstallParamsResponse;
  integration_types_config?: {
    [key: string]: ApplicationIntegrationTypeConfigurationResponse;
  };
  verify_key: string;
  flags: number;
  flags_new: string;
  max_participants?: number | null;
  tags?: string[];
};

export type InviteChannelRecipientResponse = {
  username: string;
};

export type InviteChannelResponse = {
  id: SnowflakeType;
  type: ChannelTypes;
  name: string | null;
  icon?: string;
  recipients?: InviteChannelRecipientResponse[];
};

export type InviteGuildResponse = {
  id: SnowflakeType;
  name: string;
  splash: string | null;
  banner: string | null;
  description: string | null;
  icon: string | null;
  features: GuildFeatures[];
  verification_level: null | VerificationLevels;
  vanity_url_code: string | null;
  nsfw_level: null | GuildNSFWContentLevel;
  nsfw: boolean | null;
  premium_subscription_count: number;
};

export type InviteGuildRoleResponse = {
  id: SnowflakeType;
  name: string;
  position: number;
  color: number;
  colors: GuildRoleColorsResponse;
  icon: string | null;
  unicode_emoji: string | null;
  permissions?: string;
};

export type KeywordRuleResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  creator_id: SnowflakeType;
  name: string;
  event_type: AutomodEventType;
  actions: (
    | BlockMessageActionResponse
    | FlagToChannelActionResponse
    | QuarantineUserActionResponse
    | UserCommunicationDisabledActionResponse
  )[];
  trigger_type: AutomodTriggerType.KEYWORD;
  enabled: boolean;
  exempt_roles: SnowflakeType[];
  exempt_channels: SnowflakeType[];
  trigger_metadata: KeywordTriggerMetadataResponse;
};

export type KeywordTriggerMetadata = {
  keyword_filter?: string[] | null;
  regex_patterns?: string[] | null;
  allow_list?: string[] | null;
};

export type KeywordTriggerMetadataResponse = {
  keyword_filter: string[];
  regex_patterns: string[];
  allow_list: string[];
};

export type KeywordUpsertRequest = {
  name: string;
  event_type: AutomodEventType;
  actions?:
    | (
        | BlockMessageAction
        | FlagToChannelAction
        | QuarantineUserAction
        | UserCommunicationDisabledAction
      )[]
    | null;
  enabled?: boolean | null;
  exempt_roles?: SnowflakeType[] | null;
  exempt_channels?: SnowflakeType[] | null;
  trigger_type: AutomodTriggerType.KEYWORD;
  trigger_metadata?: null | KeywordTriggerMetadata;
};

export type KeywordUpsertRequestPartial = {
  name?: string;
  event_type?: AutomodEventType;
  actions?:
    | (
        | BlockMessageAction
        | FlagToChannelAction
        | QuarantineUserAction
        | UserCommunicationDisabledAction
      )[]
    | null;
  enabled?: boolean | null;
  exempt_roles?: SnowflakeType[] | null;
  exempt_channels?: SnowflakeType[] | null;
  trigger_type?: AutomodTriggerType.KEYWORD;
  trigger_metadata?: null | KeywordTriggerMetadata;
};

export type LabelComponentForModalRequest = {
  type: MessageComponentTypes.LABEL;
  id?: number | null;
  label: string;
  description?: string | null;
  component:
    | ChannelSelectComponentForModalRequest
    | CheckboxComponentForModalRequest
    | CheckboxGroupComponentForModalRequest
    | FileUploadComponentForModalRequest
    | MentionableSelectComponentForModalRequest
    | RadioGroupComponentForModalRequest
    | RoleSelectComponentForModalRequest
    | StringSelectComponentForModalRequest
    | TextInputComponentForModalRequest
    | UserSelectComponentForModalRequest;
};

export type LaunchActivityInteractionCallbackRequest = {
  type: InteractionCallbackTypes.LAUNCH_ACTIVITY;
};

export type LaunchActivityInteractionCallbackResponse = {
  type: InteractionCallbackTypes.LAUNCH_ACTIVITY;
};

export type ListApplicationEmojisResponse = {
  items: EmojiResponse[];
};

export type ListGuildSoundboardSoundsResponse = {
  items: SoundboardSoundResponse[];
};

export type LobbyGuildInviteResponse = {
  code: string;
};

export type LobbyMemberRequest = {
  id: SnowflakeType;
  metadata?: {
    [key: string]: string;
  } | null;
  flags?: null | ActivityActionTypes.JOIN;
};

export type LobbyMemberResponse = {
  id: SnowflakeType;
  metadata: {
    [key: string]: string;
  } | null;
  flags: number;
};

export type LobbyMessageResponse = {
  id: SnowflakeType;
  type: MessageType;
  content: string;
  lobby_id: SnowflakeType;
  channel_id: SnowflakeType;
  author: UserResponse;
  metadata?: {
    [key: string]: string;
  };
  moderation_metadata?: {
    [key: string]: string;
  };
  flags: number;
  application_id?: SnowflakeType;
};

export type LobbyResponse = {
  id: SnowflakeType;
  application_id: SnowflakeType;
  metadata: {
    [key: string]: string;
  } | null;
  members: LobbyMemberResponse[];
  linked_channel?: GuildChannelResponse;
  flags: UInt32Type;
  override_event_webhooks_url?: string | null;
};

export type MLSpamRuleResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  creator_id: SnowflakeType;
  name: string;
  event_type: AutomodEventType;
  actions: (
    | BlockMessageActionResponse
    | FlagToChannelActionResponse
    | QuarantineUserActionResponse
    | UserCommunicationDisabledActionResponse
  )[];
  trigger_type: AutomodTriggerType.ML_SPAM;
  enabled: boolean;
  exempt_roles: SnowflakeType[];
  exempt_channels: SnowflakeType[];
  trigger_metadata: MLSpamTriggerMetadataResponse;
};

export type MLSpamTriggerMetadata = {};

export type MLSpamTriggerMetadataResponse = {};

export type MLSpamUpsertRequest = {
  name: string;
  event_type: AutomodEventType;
  actions?:
    | (
        | BlockMessageAction
        | FlagToChannelAction
        | QuarantineUserAction
        | UserCommunicationDisabledAction
      )[]
    | null;
  enabled?: boolean | null;
  exempt_roles?: SnowflakeType[] | null;
  exempt_channels?: SnowflakeType[] | null;
  trigger_type: AutomodTriggerType.ML_SPAM;
  trigger_metadata?: null | MLSpamTriggerMetadata;
};

export type MLSpamUpsertRequestPartial = {
  name?: string;
  event_type?: AutomodEventType;
  actions?:
    | (
        | BlockMessageAction
        | FlagToChannelAction
        | QuarantineUserAction
        | UserCommunicationDisabledAction
      )[]
    | null;
  enabled?: boolean | null;
  exempt_roles?: SnowflakeType[] | null;
  exempt_channels?: SnowflakeType[] | null;
  trigger_type?: AutomodTriggerType.ML_SPAM;
  trigger_metadata?: null | MLSpamTriggerMetadata;
};

export type MediaGalleryComponentForMessageRequest = {
  type: MessageComponentTypes.MEDIA_GALLERY;
  id?: number | null;
  items: MediaGalleryItemRequest[];
};

export type MediaGalleryComponentResponse = {
  type: MessageComponentTypes.MEDIA_GALLERY;
  id: number;
  items: MediaGalleryItemResponse[];
};

export type MediaGalleryItemRequest = {
  description?: string | null;
  spoiler?: boolean | null;
  media: UnfurledMediaRequest;
};

export type MediaGalleryItemResponse = {
  media: UnfurledMediaResponse;
  description: string | null;
  spoiler: boolean;
};

export type MentionSpamRuleResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  creator_id: SnowflakeType;
  name: string;
  event_type: AutomodEventType;
  actions: (
    | BlockMessageActionResponse
    | FlagToChannelActionResponse
    | QuarantineUserActionResponse
    | UserCommunicationDisabledActionResponse
  )[];
  trigger_type: AutomodTriggerType.MENTION_SPAM;
  enabled: boolean;
  exempt_roles: SnowflakeType[];
  exempt_channels: SnowflakeType[];
  trigger_metadata: MentionSpamTriggerMetadataResponse;
};

export type MentionSpamTriggerMetadata = {
  mention_total_limit?: number | null;
  mention_raid_protection_enabled?: boolean | null;
};

export type MentionSpamTriggerMetadataResponse = {
  mention_total_limit: number;
  mention_raid_protection_enabled: boolean;
};

export type MentionSpamUpsertRequest = {
  name: string;
  event_type: AutomodEventType;
  actions?:
    | (
        | BlockMessageAction
        | FlagToChannelAction
        | QuarantineUserAction
        | UserCommunicationDisabledAction
      )[]
    | null;
  enabled?: boolean | null;
  exempt_roles?: SnowflakeType[] | null;
  exempt_channels?: SnowflakeType[] | null;
  trigger_type: AutomodTriggerType.MENTION_SPAM;
  trigger_metadata?: null | MentionSpamTriggerMetadata;
};

export type MentionSpamUpsertRequestPartial = {
  name?: string;
  event_type?: AutomodEventType;
  actions?:
    | (
        | BlockMessageAction
        | FlagToChannelAction
        | QuarantineUserAction
        | UserCommunicationDisabledAction
      )[]
    | null;
  enabled?: boolean | null;
  exempt_roles?: SnowflakeType[] | null;
  exempt_channels?: SnowflakeType[] | null;
  trigger_type?: AutomodTriggerType.MENTION_SPAM;
  trigger_metadata?: null | MentionSpamTriggerMetadata;
};

export type MentionableSelectComponentForMessageRequest = {
  type: MessageComponentTypes.MENTIONABLE_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  default_values?: (RoleSelectDefaultValue | UserSelectDefaultValue)[] | null;
};

export type MentionableSelectComponentForModalRequest = {
  type: MessageComponentTypes.MENTIONABLE_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  default_values?: (RoleSelectDefaultValue | UserSelectDefaultValue)[] | null;
};

export type MentionableSelectComponentResponse = {
  type: MessageComponentTypes.MENTIONABLE_SELECT;
  id: number;
  custom_id: string;
  placeholder?: string;
  min_values: number;
  max_values: number;
  disabled?: boolean;
  default_values?: (RoleSelectDefaultValueResponse | UserSelectDefaultValueResponse)[];
};

export type MessageActivityResponse = {
  type: ActivityActionTypes;
  party_id?: string;
};

export type MessageAllowedMentionsRequest = {
  parse?: (null | AllowedMentionTypes)[] | null;
  users?: (null | SnowflakeType)[] | null;
  roles?: (null | SnowflakeType)[] | null;
  replied_user?: boolean | null;
};

export type MessageAttachmentRequest = {
  id: SnowflakeType;
  filename?: string | null;
  description?: string | null;
  duration_secs?: number | null;
  waveform?: string | null;
  title?: string | null;
  is_remix?: boolean | null;
};

export type MessageAttachmentResponse = {
  id: SnowflakeType;
  filename: string;
  size: number;
  url: string;
  proxy_url: string;
  width?: number;
  height?: number;
  duration_secs?: number;
  waveform?: string;
  description?: string;
  content_type?: string;
  ephemeral?: boolean;
  flags?: number;
  placeholder?: string;
  placeholder_version?: number;
  title?: string | null;
  application?: ApplicationResponse;
  clip_created_at?: string;
  clip_participants?: UserResponse[];
};

export type MessageCallResponse = {
  ended_timestamp?: string | null;
  participants: SnowflakeType[];
};

export type MessageComponentInteractionMetadataResponse = {
  id: SnowflakeType;
  type: InteractionTypes.MESSAGE_COMPONENT;
  user?: UserResponse;
  authorizing_integration_owners: {
    [key: string]: SnowflakeType;
  };
  original_response_message_id?: SnowflakeType;
  interacted_message_id: SnowflakeType;
};

export type MessageCreateRequest = {
  content?: string | null;
  embeds?: RichEmbed[] | null;
  allowed_mentions?: null | MessageAllowedMentionsRequest;
  sticker_ids?: SnowflakeType[] | null;
  components?:
    | (
        | ActionRowComponentForMessageRequest
        | ContainerComponentForMessageRequest
        | FileComponentForMessageRequest
        | MediaGalleryComponentForMessageRequest
        | SectionComponentForMessageRequest
        | SeparatorComponentForMessageRequest
        | TextDisplayComponentForMessageRequest
      )[]
    | null;
  flags?: number | null;
  attachments?: MessageAttachmentRequest[] | null;
  poll?: null | PollCreateRequest;
  shared_client_theme?: null | CustomClientThemeShareRequest;
  message_reference?: null | MessageReferenceRequest;
  nonce?: number | string | null;
  enforce_nonce?: boolean | null;
  tts?: boolean | null;
};

export type MessageEditRequestPartial = {
  content?: string | null;
  embeds?: RichEmbed[] | null;
  flags?: number | null;
  allowed_mentions?: null | MessageAllowedMentionsRequest;
  sticker_ids?: SnowflakeType[] | null;
  components?:
    | (
        | ActionRowComponentForMessageRequest
        | ContainerComponentForMessageRequest
        | FileComponentForMessageRequest
        | MediaGalleryComponentForMessageRequest
        | SectionComponentForMessageRequest
        | SeparatorComponentForMessageRequest
        | TextDisplayComponentForMessageRequest
      )[]
    | null;
  attachments?: MessageAttachmentRequest[] | null;
};

export type MessageEmbedAuthorResponse = {
  name: string;
  url?: string;
  icon_url?: string;
  proxy_icon_url?: string;
};

export type MessageEmbedFieldResponse = {
  name: string;
  value: string;
  inline: boolean;
};

export type MessageEmbedFooterResponse = {
  text: string;
  icon_url?: string;
  proxy_icon_url?: string;
};

export type MessageEmbedImageResponse = {
  url?: string;
  proxy_url?: string;
  width?: UInt32Type;
  height?: UInt32Type;
  content_type?: string;
  placeholder?: string;
  placeholder_version?: UInt32Type;
  description?: string;
  flags?: UInt32Type;
};

export type MessageEmbedProviderResponse = {
  name: string;
  url?: string;
};

export type MessageEmbedResponse = {
  type: string;
  url?: string;
  title?: string;
  description?: string;
  color?: number;
  timestamp?: string;
  fields?: MessageEmbedFieldResponse[];
  author?: MessageEmbedAuthorResponse;
  provider?: MessageEmbedProviderResponse;
  image?: MessageEmbedImageResponse;
  thumbnail?: MessageEmbedImageResponse;
  video?: MessageEmbedVideoResponse;
  footer?: MessageEmbedFooterResponse;
  flags?: number | null;
  components?: ContainerComponentResponse[];
};

export type MessageEmbedVideoResponse = {
  url?: string;
  proxy_url?: string;
  width?: UInt32Type;
  height?: UInt32Type;
  content_type?: string;
  placeholder?: string;
  placeholder_version?: UInt32Type;
  description?: string;
  flags?: UInt32Type;
};

export type MessageInteractionResponse = {
  id: SnowflakeType;
  type: InteractionTypes;
  name: string;
  user?: UserResponse;
  name_localized?: string;
};

export type MessageMentionChannelResponse = {
  id: SnowflakeType;
  name: string;
  type: ChannelTypes;
  guild_id: SnowflakeType;
};

export type MessageReactionCountDetailsResponse = {
  burst: number;
  normal: number;
};

export type MessageReactionEmojiResponse = {
  id: null | SnowflakeType;
  name: string | null;
  animated?: boolean;
};

export type MessageReactionResponse = {
  emoji: MessageReactionEmojiResponse;
  count: number;
  count_details: MessageReactionCountDetailsResponse;
  burst_colors: string[];
  me_burst: boolean;
  me: boolean;
};

export type MessageReferenceRequest = {
  guild_id?: null | SnowflakeType;
  channel_id?: null | SnowflakeType;
  message_id: SnowflakeType;
  fail_if_not_exists?: boolean | null;
  type?: null | MessageReferenceType;
};

export type MessageReferenceResponse = {
  type: MessageReferenceType;
  channel_id: SnowflakeType;
  message_id?: SnowflakeType;
  guild_id?: SnowflakeType;
};

export type MessageResponse = {
  type: MessageType;
  content: string;
  mentions: UserResponse[];
  mention_roles: SnowflakeType[];
  attachments: MessageAttachmentResponse[];
  embeds: MessageEmbedResponse[];
  timestamp: string;
  edited_timestamp: string | null;
  flags: number;
  components: (
    | ActionRowComponentResponse
    | ContainerComponentResponse
    | FileComponentResponse
    | MediaGalleryComponentResponse
    | SectionComponentResponse
    | SeparatorComponentResponse
    | TextDisplayComponentResponse
  )[];
  stickers?: (GuildStickerResponse | StandardStickerResponse)[];
  sticker_items?: MessageStickerItemResponse[];
  id: SnowflakeType;
  channel_id: SnowflakeType;
  author: UserResponse;
  pinned: boolean;
  mention_everyone: boolean;
  tts: boolean;
  call?: MessageCallResponse;
  activity?: MessageActivityResponse;
  application?: BasicApplicationResponse;
  application_id?: SnowflakeType;
  interaction?: MessageInteractionResponse;
  nonce?: number | string;
  webhook_id?: SnowflakeType;
  message_reference?: MessageReferenceResponse;
  thread?: ThreadResponse;
  mention_channels?: MessageMentionChannelResponse[];
  role_subscription_data?: MessageRoleSubscriptionDataResponse;
  purchase_notification?: PurchaseNotificationResponse;
  position?: number;
  resolved?: ResolvedObjectsResponse;
  poll?: PollResponse;
  shared_client_theme?: CustomClientThemeResponse;
  interaction_metadata?:
    | ApplicationCommandInteractionMetadataResponse
    | MessageComponentInteractionMetadataResponse
    | ModalSubmitInteractionMetadataResponse;
  message_snapshots?: MessageSnapshotResponse[];
  reactions?: MessageReactionResponse[];
  referenced_message?: null | BasicMessageResponse;
};

export type MessageRoleSubscriptionDataResponse = {
  role_subscription_listing_id: SnowflakeType;
  tier_name: string;
  total_months_subscribed: number;
  is_renewal: boolean;
};

export type MessageSnapshotResponse = {
  message: MinimalContentMessageResponse;
};

export type MessageStickerItemResponse = {
  id: SnowflakeType;
  name: string;
  format_type: StickerFormatTypes;
};

export type MinimalContentMessageResponse = {
  type: MessageType;
  content: string;
  mentions: UserResponse[];
  mention_roles: SnowflakeType[];
  attachments: MessageAttachmentResponse[];
  embeds: MessageEmbedResponse[];
  timestamp: string;
  edited_timestamp: string | null;
  flags: number;
  components: (
    | ActionRowComponentResponse
    | ContainerComponentResponse
    | FileComponentResponse
    | MediaGalleryComponentResponse
    | SectionComponentResponse
    | SeparatorComponentResponse
    | TextDisplayComponentResponse
  )[];
  stickers?: (GuildStickerResponse | StandardStickerResponse)[];
  sticker_items?: MessageStickerItemResponse[];
};

export type ModalInteractionCallbackRequest = {
  type: InteractionCallbackTypes.MODAL;
  data: ModalInteractionCallbackRequestData;
};

export type ModalInteractionCallbackRequestData = {
  custom_id: string;
  title: string;
  components: (
    | ActionRowComponentForModalRequest
    | LabelComponentForModalRequest
    | TextDisplayComponentForModalRequest
  )[];
};

export type ModalSubmitInteractionMetadataResponse = {
  id: SnowflakeType;
  type: InteractionTypes.MODAL_SUBMIT;
  user?: UserResponse;
  authorizing_integration_owners: {
    [key: string]: SnowflakeType;
  };
  original_response_message_id?: SnowflakeType;
  triggering_interaction_metadata:
    | ApplicationCommandInteractionMetadataResponse
    | MessageComponentInteractionMetadataResponse;
};

export type MultipleChoiceFormFieldResponse = {
  /** Type of form field */
  field_type: GuildMemberVerificationFormFieldType.MULTIPLE_CHOICE;
  /** Label shown above field */
  label?: string;
  /** Optional helper text shown below label */
  description?: string;
  /** Whether applicant must fill in field */
  required?: boolean;
  /** Choices applicant can select from */
  choices: string[];
  /** Index of choice selected by applicant */
  response?: number;
};

export type MyGuildResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  banner: string | null;
  owner: boolean;
  permissions: string;
  features: GuildFeatures[];
  approximate_member_count?: number | null;
  approximate_presence_count?: number | null;
};

export type NameplatePalette = string;

export type NewMemberActionResponse = {
  channel_id: SnowflakeType;
  action_type: NewMemberActionType;
  title: string;
  description: string;
  emoji?: SettingsEmojiResponse;
  icon?: string;
};

export type OAuth2GetAuthorizationResponse = {
  application: ApplicationResponse;
  expires: string;
  scopes: OAuth2Scopes[];
  user?: UserResponse;
};

export type OAuth2GetKeys = {
  keys: OAuth2Key[];
};

export type OAuth2GetOpenIDConnectUserInfoResponse = {
  sub: string;
  email?: string | null;
  email_verified?: boolean;
  preferred_username?: string;
  nickname?: string | null;
  picture?: string;
  locale?: string;
};

export type OAuth2Key = {
  kty: string;
  use: string;
  kid: string;
  n: string;
  e: string;
  alg: string;
};

export type OnboardingPromptOptionRequest = {
  id?: null | SnowflakeType;
  title: string;
  description?: string | null;
  emoji_id?: null | SnowflakeType;
  emoji_name?: string | null;
  emoji_animated?: boolean | null;
  role_ids?: SnowflakeType[] | null;
  channel_ids?: SnowflakeType[] | null;
};

export type OnboardingPromptOptionResponse = {
  id: SnowflakeType;
  title: string;
  description: string;
  emoji: SettingsEmojiResponse;
  role_ids: SnowflakeType[];
  channel_ids: SnowflakeType[];
};

export type OnboardingPromptResponse = {
  id: SnowflakeType;
  title: string;
  options: OnboardingPromptOptionResponse[];
  single_select: boolean;
  required: boolean;
  in_onboarding: boolean;
  type: OnboardingPromptType;
};

export type ParagraphFormFieldResponse = {
  /** Type of form field */
  field_type: GuildMemberVerificationFormFieldType.PARAGRAPH;
  /** Label shown above field */
  label?: string;
  /** Optional helper text shown below label */
  description?: string;
  /** Whether applicant must fill in field */
  required?: boolean;
  /** Placeholder text shown in empty input */
  placeholder?: string;
  /** Applicant's text response */
  response?: string;
};

export type PartialDiscordIntegrationResponse = {
  id: SnowflakeType;
  type: IntegrationTypes.DISCORD;
  name: string | null;
  account: AccountResponse;
  application_id: SnowflakeType;
};

export type PartialExternalConnectionIntegrationResponse = {
  id: SnowflakeType;
  type: IntegrationTypes.TWITCH | IntegrationTypes.YOUTUBE;
  name: string | null;
  account: AccountResponse;
};

export type PartialGuildSubscriptionIntegrationResponse = {
  id: SnowflakeType;
  type: IntegrationTypes.GUILD_SUBSCRIPTION;
  name: string | null;
  account: AccountResponse;
};

export type PinnedMessageResponse = {
  pinned_at: string;
  message: MessageResponse;
};

export type PinnedMessagesResponse = {
  items: PinnedMessageResponse[];
  has_more: boolean;
};

export type PollAnswerCreateRequest = {
  poll_media: PollMediaCreateRequest;
};

export type PollAnswerDetailsResponse = {
  users: UserResponse[];
};

export type PollAnswerResponse = {
  answer_id: number;
  poll_media: PollMediaResponse;
};

export type PollCreateRequest = {
  question: PollMedia;
  answers: PollAnswerCreateRequest[];
  allow_multiselect?: boolean | null;
  layout_type?: null | PollLayoutTypes;
  duration?: number | null;
};

export type PollEmoji = {
  id?: null | SnowflakeType;
  name?: string | null;
  animated?: boolean | null;
};

export type PollEmojiCreateRequest = {
  id?: null | SnowflakeType;
  name?: string | null;
  animated?: boolean | null;
};

export type PollLayoutTypes = number;

export type PollMedia = {
  text?: string | null;
  emoji?: null | PollEmoji;
};

export type PollMediaCreateRequest = {
  text?: string | null;
  emoji?: null | PollEmojiCreateRequest;
};

export type PollMediaResponse = {
  text?: string;
  emoji?: MessageReactionEmojiResponse;
};

export type PollResponse = {
  question: PollMediaResponse;
  answers: PollAnswerResponse[];
  expiry: string;
  allow_multiselect: boolean;
  layout_type: PollLayoutTypes;
  results: PollResultsResponse;
};

export type PollResultsEntryResponse = {
  id: number;
  count: number;
  me_voted: boolean;
};

export type PollResultsResponse = {
  answer_counts: PollResultsEntryResponse[];
  is_finalized: boolean;
};

export type PongInteractionCallbackRequest = {
  type: InteractionCallbackTypes.PONG;
};

export type PrivateApplicationResponse = {
  id: SnowflakeType;
  name: string;
  icon: string | null;
  description: string;
  type: null | ApplicationTypes;
  cover_image?: string;
  primary_sku_id?: SnowflakeType;
  bot?: UserResponse;
  slug?: string;
  guild_id?: SnowflakeType;
  rpc_origins?: string[];
  bot_public?: boolean;
  bot_require_code_grant?: boolean;
  terms_of_service_url?: string;
  privacy_policy_url?: string;
  custom_install_url?: string;
  install_params?: ApplicationOAuth2InstallParamsResponse;
  integration_types_config?: {
    [key: string]: ApplicationIntegrationTypeConfigurationResponse;
  };
  verify_key: string;
  flags: number;
  flags_new: string;
  max_participants?: number | null;
  tags?: string[];
  redirect_uris: string[];
  interactions_endpoint_url: string | null;
  role_connections_verification_url: string | null;
  owner: UserResponse;
  approximate_guild_count: number;
  approximate_user_install_count: number;
  approximate_user_authorization_count: number;
  event_webhooks_url?: string | null;
  event_webhooks_status?: ApplicationEventWebhooksStatus;
  event_webhooks_types?: (
    | ActionTypes.APPLICATION_AUTHORIZED
    | ActionTypes.APPLICATION_DEAUTHORIZED
    | ActionTypes.ENTITLEMENT_CREATE
    | ActionTypes.ENTITLEMENT_DELETE
    | ActionTypes.ENTITLEMENT_UPDATE
    | ActionTypes.GAME_DIRECT_MESSAGE_CREATE
    | ActionTypes.GAME_DIRECT_MESSAGE_DELETE
    | ActionTypes.GAME_DIRECT_MESSAGE_UPDATE
    | ActionTypes.LOBBY_MESSAGE_CREATE
    | ActionTypes.LOBBY_MESSAGE_DELETE
    | ActionTypes.LOBBY_MESSAGE_UPDATE
    | ActionTypes.QUEST_USER_ENROLLMENT
  )[];
  explicit_content_filter: ApplicationExplicitContentFilterTypes;
  team: null | TeamResponse;
};

export type PrivateChannelLocation = {
  id: string;
  kind: EmbeddedActivityLocationKind.PRIVATE_CHANNEL;
  channel_id: SnowflakeType;
};

export type PrivateChannelResponse = {
  id: SnowflakeType;
  type: ChannelTypes.DM;
  last_message_id?: null | SnowflakeType;
  flags: number;
  last_pin_timestamp?: string | null;
  recipients: UserResponse[];
};

export type PrivateGroupChannelResponse = {
  id: SnowflakeType;
  type: ChannelTypes.GROUP_DM;
  last_message_id?: null | SnowflakeType;
  flags: number;
  last_pin_timestamp?: string | null;
  recipients: UserResponse[];
  name: string | null;
  icon: string | null;
  owner_id: SnowflakeType;
  managed?: boolean;
  application_id?: SnowflakeType;
};

export type PrivateGuildMemberResponse = {
  avatar: string | null;
  avatar_decoration_data?: null | UserAvatarDecorationResponse;
  banner: string | null;
  communication_disabled_until: string | null;
  flags: number;
  joined_at: string;
  nick: string | null;
  pending: boolean;
  premium_since: string | null;
  roles: SnowflakeType[];
  collectibles?: null | UserCollectiblesResponse;
  user: UserResponse;
  mute: boolean;
  deaf: boolean;
  permissions?: string;
};

export type ProvisionalTokenResponse = {
  token_type: string;
  access_token: string;
  expires_in: number;
  scope: string;
  id_token: string;
  refresh_token?: string | null;
  scopes?: string[] | null;
  expires_at_s?: number | null;
};

export type PruneGuildRequest = {
  days?: number | null;
  compute_prune_count?: boolean | null;
  include_roles?: string | SnowflakeType[] | null;
};

export type PurchaseNotificationResponse = {
  type: PurchaseType;
  guild_product_purchase?: GuildProductPurchaseResponse;
};

export type QuarantineUserAction = {
  type: AutomodActionType.QUARANTINE_USER;
  metadata?: null | QuarantineUserActionMetadata;
};

export type QuarantineUserActionMetadata = {};

export type QuarantineUserActionMetadataResponse = {};

export type QuarantineUserActionResponse = {
  type: AutomodActionType.QUARANTINE_USER;
  metadata: QuarantineUserActionMetadataResponse;
};

export type RadioGroupComponentForModalRequest = {
  type: MessageComponentTypes.RADIO_GROUP;
  id?: number | null;
  custom_id: string;
  required?: boolean | null;
  options: RadioGroupOptionForRequest[];
};

export type RadioGroupOptionForRequest = {
  label: string;
  value: string;
  description?: string | null;
  default?: boolean | null;
};

export type ResolvedObjectsResponse = {
  users?: {
    [key: string]: UserResponse;
  } | null;
  members?: {
    [key: string]: BasicGuildMemberResponse;
  } | null;
  channels?: {
    [key: string]:
      | GuildChannelResponse
      | PrivateChannelResponse
      | PrivateGroupChannelResponse
      | ThreadResponse;
  } | null;
  roles?: {
    [key: string]: GuildRoleResponse;
  } | null;
};

export type ResourceChannelResponse = {
  channel_id: SnowflakeType;
  title: string;
  emoji?: SettingsEmojiResponse;
  icon?: string;
  description: string;
};

export type RichEmbed = {
  type?: string | null;
  url?: string | null;
  title?: string | null;
  color?: number | null;
  timestamp?: string | null;
  description?: string | null;
  author?: null | RichEmbedAuthor;
  image?: null | RichEmbedImage;
  thumbnail?: null | RichEmbedThumbnail;
  footer?: null | RichEmbedFooter;
  fields?: RichEmbedField[] | null;
  provider?: null | RichEmbedProvider;
  video?: null | RichEmbedVideo;
};

export type RichEmbedAuthor = {
  name?: string | null;
  url?: string | null;
  icon_url?: string | null;
};

export type RichEmbedField = {
  name: string;
  value: string;
  inline?: boolean | null;
};

export type RichEmbedFooter = {
  text?: string | null;
  icon_url?: string | null;
};

export type RichEmbedImage = {
  url?: string | null;
  width?: number | null;
  height?: number | null;
  placeholder?: string | null;
  placeholder_version?: number | null;
  is_animated?: boolean | null;
  description?: string | null;
};

export type RichEmbedProvider = {
  name?: string | null;
  url?: string | null;
};

export type RichEmbedThumbnail = {
  url?: string | null;
  width?: number | null;
  height?: number | null;
  placeholder?: string | null;
  placeholder_version?: number | null;
  is_animated?: boolean | null;
  description?: string | null;
};

export type RichEmbedVideo = {
  url?: string | null;
  width?: number | null;
  height?: number | null;
  placeholder?: string | null;
  placeholder_version?: number | null;
  is_animated?: boolean | null;
  description?: string | null;
};

export type RoleColors = {
  primary_color?: number | null;
  secondary_color?: number | null;
  tertiary_color?: number | null;
};

export type RoleSelectComponentForMessageRequest = {
  type: MessageComponentTypes.ROLE_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  default_values?: RoleSelectDefaultValue[] | null;
};

export type RoleSelectComponentForModalRequest = {
  type: MessageComponentTypes.ROLE_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  default_values?: RoleSelectDefaultValue[] | null;
};

export type RoleSelectComponentResponse = {
  type: MessageComponentTypes.ROLE_SELECT;
  id: number;
  custom_id: string;
  placeholder?: string;
  min_values: number;
  max_values: number;
  disabled?: boolean;
  default_values?: RoleSelectDefaultValueResponse[];
};

export type RoleSelectDefaultValue = {
  type: SnowflakeSelectDefaultValueTypes.ROLE;
  id: SnowflakeType;
};

export type RoleSelectDefaultValueResponse = {
  type: SnowflakeSelectDefaultValueTypes.ROLE;
  id: SnowflakeType;
};

export type SDKMessageRequest = {
  content?: string | null;
  embeds?: RichEmbed[] | null;
  allowed_mentions?: null | MessageAllowedMentionsRequest;
  sticker_ids?: SnowflakeType[] | null;
  components?:
    | (
        | ActionRowComponentForMessageRequest
        | ContainerComponentForMessageRequest
        | FileComponentForMessageRequest
        | MediaGalleryComponentForMessageRequest
        | SectionComponentForMessageRequest
        | SeparatorComponentForMessageRequest
        | TextDisplayComponentForMessageRequest
      )[]
    | null;
  flags?: number | null;
  attachments?: MessageAttachmentRequest[] | null;
  poll?: null | PollCreateRequest;
  shared_client_theme?: null | CustomClientThemeShareRequest;
  message_reference?: null | MessageReferenceRequest;
  nonce?: number | string | null;
  enforce_nonce?: boolean | null;
  tts?: boolean | null;
};

export type ScheduledEventResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  name: string;
  description: string | null;
  channel_id: null | SnowflakeType;
  creator_id: null | SnowflakeType;
  creator?: UserResponse;
  image: string | null;
  scheduled_start_time: string;
  scheduled_end_time: string | null;
  status: GuildScheduledEventStatuses;
  entity_type: GuildScheduledEventEntityTypes;
  entity_id: null | SnowflakeType;
  user_count?: number;
  privacy_level: GuildScheduledEventPrivacyLevels;
  user_rsvp?: null | ScheduledEventUserResponse;
};

export type ScheduledEventUserResponse = {
  guild_scheduled_event_id: SnowflakeType;
  user_id: SnowflakeType;
  user?: UserResponse;
  member?: GuildMemberResponse;
};

export type SearchIndexNotReadyResponse = {
  message: string;
  code: number;
  documents_indexed: number;
  retry_after: number;
};

export type SearchMessageResponse = {
  type: MessageType;
  content: string;
  mentions: UserResponse[];
  mention_roles: SnowflakeType[];
  attachments: MessageAttachmentResponse[];
  embeds: MessageEmbedResponse[];
  timestamp: string;
  edited_timestamp: string | null;
  flags: number;
  components: (
    | ActionRowComponentResponse
    | ContainerComponentResponse
    | FileComponentResponse
    | MediaGalleryComponentResponse
    | SectionComponentResponse
    | SeparatorComponentResponse
    | TextDisplayComponentResponse
  )[];
  stickers?: (GuildStickerResponse | StandardStickerResponse)[];
  sticker_items?: MessageStickerItemResponse[];
  id: SnowflakeType;
  channel_id: SnowflakeType;
  author: UserResponse;
  pinned: boolean;
  mention_everyone: boolean;
  tts: boolean;
  call?: MessageCallResponse;
  activity?: MessageActivityResponse;
  application?: BasicApplicationResponse;
  application_id?: SnowflakeType;
  interaction?: MessageInteractionResponse;
  nonce?: number | string;
  webhook_id?: SnowflakeType;
  message_reference?: MessageReferenceResponse;
  thread?: ThreadResponse;
  mention_channels?: MessageMentionChannelResponse[];
  role_subscription_data?: MessageRoleSubscriptionDataResponse;
  purchase_notification?: PurchaseNotificationResponse;
  position?: number;
  resolved?: ResolvedObjectsResponse;
  poll?: PollResponse;
  shared_client_theme?: CustomClientThemeResponse;
  interaction_metadata?:
    | ApplicationCommandInteractionMetadataResponse
    | MessageComponentInteractionMetadataResponse
    | ModalSubmitInteractionMetadataResponse;
  message_snapshots?: MessageSnapshotResponse[];
  reactions?: MessageReactionResponse[];
  referenced_message?: null | BasicMessageResponse;
  hit: boolean;
};

export type SectionComponentForMessageRequest = {
  type: MessageComponentTypes.SECTION;
  id?: number | null;
  components: TextDisplayComponentForMessageRequest[];
  accessory: ButtonComponentForMessageRequest | ThumbnailComponentForMessageRequest;
};

export type SectionComponentResponse = {
  type: MessageComponentTypes.SECTION;
  id: number;
  components: TextDisplayComponentResponse[];
  accessory: ButtonComponentResponse | ThumbnailComponentResponse;
};

export type SeparatorComponentForMessageRequest = {
  type: MessageComponentTypes.SEPARATOR;
  id?: number | null;
  spacing?: null | MessageComponentSeparatorSpacingSize;
  divider?: boolean | null;
};

export type SeparatorComponentResponse = {
  type: MessageComponentTypes.SEPARATOR;
  id: number;
  spacing: MessageComponentSeparatorSpacingSize;
  divider: boolean;
};

export type SettingsEmojiResponse = {
  id: null | SnowflakeType;
  name: string | null;
  animated: boolean;
};

export type SlackWebhook = {
  text?: string | null;
  username?: string | null;
  icon_url?: string | null;
  attachments?: WebhookSlackEmbed[] | null;
};

export type SnowflakeType = string;

export type SocialLayerSKUPurchaseEligibilityCallbackData = {
  eligible: boolean;
  ineligible_reason?: null | SKUIneligibilityReason;
  ineligible_reason_description?: string | null;
};

export type SocialLayerSKUPurchaseEligibilityInteractionCallbackRequest = {
  type: InteractionCallbackTypes.SOCIAL_LAYER_SKU_PURCHASE_ELIGIBILITY;
  data: SocialLayerSKUPurchaseEligibilityCallbackData;
};

export type SoundboardCreateRequest = {
  name: string;
  volume?: number | null;
  emoji_id?: null | SnowflakeType;
  emoji_name?: string | null;
  sound: string;
};

export type SoundboardPatchRequestPartial = {
  name?: string;
  volume?: number | null;
  emoji_id?: null | SnowflakeType;
  emoji_name?: string | null;
};

export type SoundboardSoundResponse = {
  name: string;
  sound_id: SnowflakeType;
  volume: number;
  emoji_id: null | SnowflakeType;
  emoji_name: string | null;
  guild_id?: SnowflakeType;
  available: boolean;
  user?: UserResponse;
};

export type SoundboardSoundSendRequest = {
  sound_id: SnowflakeType;
  source_guild_id?: null | SnowflakeType;
};

export type SpamLinkRuleResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  creator_id: SnowflakeType;
  name: string;
  event_type: AutomodEventType;
  actions: (
    | BlockMessageActionResponse
    | FlagToChannelActionResponse
    | QuarantineUserActionResponse
    | UserCommunicationDisabledActionResponse
  )[];
  trigger_type: AutomodTriggerType.SPAM_LINK;
  enabled: boolean;
  exempt_roles: SnowflakeType[];
  exempt_channels: SnowflakeType[];
  trigger_metadata: SpamLinkTriggerMetadataResponse;
};

export type SpamLinkTriggerMetadataResponse = {};

export type StageInstanceResponse = {
  guild_id: SnowflakeType;
  channel_id: SnowflakeType;
  topic: string;
  privacy_level: StageInstancesPrivacyLevels;
  id: SnowflakeType;
  discoverable_disabled: boolean;
  guild_scheduled_event_id: null | SnowflakeType;
};

export type StageScheduledEventCreateRequest = {
  name: string;
  description?: string | null;
  image?: string | null;
  scheduled_start_time: string;
  scheduled_end_time?: string | null;
  privacy_level: GuildScheduledEventPrivacyLevels;
  entity_type: GuildScheduledEventEntityTypes.STAGE_INSTANCE;
  channel_id?: null | SnowflakeType;
  entity_metadata?: null | EntityMetadataStageInstance;
};

export type StageScheduledEventPatchRequestPartial = {
  status?: null | GuildScheduledEventStatuses;
  name?: string;
  description?: string | null;
  image?: string | null;
  scheduled_start_time?: string;
  scheduled_end_time?: string | null;
  entity_type?: null | ActivityActionTypes.JOIN;
  privacy_level?: GuildScheduledEventPrivacyLevels;
  channel_id?: null | SnowflakeType;
  entity_metadata?: null | EntityMetadataStageInstance;
};

export type StageScheduledEventResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  name: string;
  description: string | null;
  channel_id: null | SnowflakeType;
  creator_id: null | SnowflakeType;
  creator?: UserResponse;
  image: string | null;
  scheduled_start_time: string;
  scheduled_end_time: string | null;
  status: GuildScheduledEventStatuses;
  entity_type: GuildScheduledEventEntityTypes.STAGE_INSTANCE;
  entity_id: null | SnowflakeType;
  user_count?: number;
  privacy_level: GuildScheduledEventPrivacyLevels;
  user_rsvp?: null | ScheduledEventUserResponse;
  entity_metadata: null | EntityMetadataStageInstanceResponse;
};

export type StandardStickerResponse = {
  id: SnowflakeType;
  name: string;
  tags: string;
  type: StickerTypes.STANDARD;
  format_type: null | StickerFormatTypes;
  description: string | null;
  pack_id: SnowflakeType;
  sort_value: number;
};

export type StickerPackCollectionResponse = {
  sticker_packs: StickerPackResponse[];
};

export type StickerPackResponse = {
  id: SnowflakeType;
  sku_id: SnowflakeType;
  name: string;
  description: string | null;
  stickers: StandardStickerResponse[];
  cover_sticker_id?: SnowflakeType;
  banner_asset_id?: SnowflakeType;
};

export type StringSelectComponentForMessageRequest = {
  type: MessageComponentTypes.STRING_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  options: StringSelectOptionForRequest[];
};

export type StringSelectComponentForModalRequest = {
  type: MessageComponentTypes.STRING_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  options: StringSelectOptionForRequest[];
};

export type StringSelectComponentResponse = {
  type: MessageComponentTypes.STRING_SELECT;
  id: number;
  custom_id: string;
  placeholder?: string;
  min_values: number;
  max_values: number;
  disabled?: boolean;
  options: StringSelectOptionResponse[];
};

export type StringSelectOptionForRequest = {
  label: string;
  value: string;
  description?: string | null;
  default?: boolean | null;
  emoji?: null | ComponentEmojiForRequest;
};

export type StringSelectOptionResponse = {
  label: string;
  value: string;
  description?: string;
  emoji?: ComponentEmojiResponse;
  default?: boolean;
};

export type TargetUsersJobStatusResponse = {
  /** The status of the job processing the target users. */
  status: TargetUsersJobStatusTypes;
  /** The total number of users in the provided list. */
  total_users: UInt32Type;
  /** The number of users processed so far. */
  processed_users: UInt32Type;
  /** The timestamp when the job was created. */
  created_at: string | null;
  /** The timestamp when the job was successfully completed. */
  completed_at: string | null;
  /** The error message if the job failed. */
  error_message: string | null;
};

export type TeamMemberResponse = {
  user: UserResponse;
  team_id: SnowflakeType;
  membership_state: TeamMembershipStates;
  role: TeamMemberRoles;
  permissions: string[];
};

export type TeamResponse = {
  id: SnowflakeType;
  icon: string | null;
  name: string;
  owner_user_id: SnowflakeType;
  members: TeamMemberResponse[];
};

export type TermsFormFieldResponse = {
  /** Type of form field */
  field_type: GuildMemberVerificationFormFieldType.TERMS;
  /** Label shown above field */
  label?: string;
  /** Optional helper text shown below label */
  description?: string;
  /** Whether applicant must fill in field */
  required?: boolean;
  /** Terms applicant must acknowledge */
  values: string[];
  /** Whether applicant accepted terms */
  response?: boolean;
};

export type TextDisplayComponentForMessageRequest = {
  type: MessageComponentTypes.TEXT_DISPLAY;
  id?: number | null;
  content: string;
};

export type TextDisplayComponentForModalRequest = {
  type: MessageComponentTypes.TEXT_DISPLAY;
  id?: number | null;
  content: string;
};

export type TextDisplayComponentResponse = {
  type: MessageComponentTypes.TEXT_DISPLAY;
  id: number;
  content: string;
};

export type TextInputComponentForModalRequest = {
  type: MessageComponentTypes.TEXT_INPUT;
  id?: number | null;
  custom_id: string;
  style: TextInputStyleTypes;
  label?: string | null;
  value?: string | null;
  placeholder?: string | null;
  required?: boolean | null;
  min_length?: number | null;
  max_length?: number | null;
};

export type TextInputComponentResponse = {
  type: MessageComponentTypes.TEXT_INPUT;
  id: number;
  custom_id: string;
  style: TextInputStyleTypes;
  label: string | null;
  value?: string;
  placeholder?: string;
  required?: boolean;
  min_length: number | null;
  max_length: number | null;
};

export type TextInputFormFieldResponse = {
  /** Type of form field */
  field_type: GuildMemberVerificationFormFieldType.TEXT_INPUT;
  /** Label shown above field */
  label?: string;
  /** Optional helper text shown below label */
  description?: string;
  /** Whether applicant must fill in field */
  required?: boolean;
  /** Placeholder text shown in empty input */
  placeholder?: string;
  /** Applicant's text response */
  response?: string;
};

export type ThreadMemberResponse = {
  id: SnowflakeType;
  user_id: SnowflakeType;
  join_timestamp: string;
  flags: number;
  member?: GuildMemberResponse;
};

export type ThreadMetadataResponse = {
  archived: boolean;
  archive_timestamp: string | null;
  auto_archive_duration: ThreadAutoArchiveDuration;
  locked: boolean;
  create_timestamp?: string;
  invitable?: boolean;
};

export type ThreadResponse = {
  id: SnowflakeType;
  type: ChannelTypes.ANNOUNCEMENT_THREAD | ChannelTypes.PUBLIC_THREAD | ChannelTypes.PRIVATE_THREAD;
  last_message_id?: null | SnowflakeType;
  flags: number;
  last_pin_timestamp?: string | null;
  guild_id: SnowflakeType;
  name: string;
  parent_id?: null | SnowflakeType;
  rate_limit_per_user?: number;
  bitrate?: number;
  user_limit?: number;
  rtc_region?: string | null;
  video_quality_mode?: VideoQualityModes;
  permissions?: string;
  owner_id: SnowflakeType;
  thread_metadata: ThreadMetadataResponse;
  message_count: number;
  member_count: number;
  total_message_sent: number;
  applied_tags?: SnowflakeType[];
  member?: ThreadMemberResponse;
};

export type ThreadSearchResponse = {
  threads: ThreadResponse[];
  members: ThreadMemberResponse[];
  has_more: boolean;
  first_messages?: MessageResponse[];
  total_results: number;
};

export type ThreadsResponse = {
  threads: ThreadResponse[];
  members: ThreadMemberResponse[];
  has_more: boolean;
  first_messages?: MessageResponse[];
};

export type ThumbnailComponentForMessageRequest = {
  type: MessageComponentTypes.THUMBNAIL;
  id?: number | null;
  description?: string | null;
  spoiler?: boolean | null;
  media: UnfurledMediaRequest;
};

export type ThumbnailComponentResponse = {
  type: MessageComponentTypes.THUMBNAIL;
  id: number;
  media: UnfurledMediaResponse;
  description: string | null;
  spoiler: boolean;
};

export type TypingIndicatorResponse = {};

export type UInt32Type = number;

export type UnbanUserFromGuildRequest = {};

export type UnfurledMediaRequest = {
  url: string;
};

export type UnfurledMediaRequestWithAttachmentReferenceRequired = {
  url: string;
};

export type UnfurledMediaResponse = {
  id: SnowflakeType;
  url: string;
  proxy_url: string;
  width?: number | null;
  height?: number | null;
  content_type?: string | null;
  attachment_id?: SnowflakeType;
};

export type UpdateApplicationUserRoleConnectionRequest = {
  platform_name?: string | null;
  platform_username?: string | null;
  metadata?: {
    [key: string]: string;
  } | null;
};

export type UpdateDMRequestPartial = {
  name?: string | null;
};

export type UpdateDefaultReactionEmojiRequest = {
  emoji_id?: null | SnowflakeType;
  emoji_name?: string | null;
};

export type UpdateGroupDMRequestPartial = {
  name?: string | null;
  icon?: string | null;
};

export type UpdateGuildChannelRequestPartial = {
  type?:
    | null
    | ChannelTypes.GUILD_TEXT
    | ChannelTypes.GUILD_VOICE
    | ChannelTypes.GUILD_CATEGORY
    | ChannelTypes.GUILD_ANNOUNCEMENT
    | ChannelTypes.GUILD_STAGE_VOICE
    | ChannelTypes.GUILD_DIRECTORY
    | ChannelTypes.GUILD_FORUM;
  name?: string;
  position?: number | null;
  topic?: string | null;
  bitrate?: number | null;
  user_limit?: number | null;
  nsfw?: boolean | null;
  rate_limit_per_user?: number | null;
  parent_id?: null | SnowflakeType;
  permission_overwrites?: ChannelPermissionOverwriteRequest[] | null;
  rtc_region?: string | null;
  video_quality_mode?: null | VideoQualityModes;
  default_auto_archive_duration?: null | ThreadAutoArchiveDuration;
  default_reaction_emoji?: null | UpdateDefaultReactionEmojiRequest;
  default_thread_rate_limit_per_user?: number | null;
  default_sort_order?: null | ThreadSortOrder;
  default_forum_layout?: null | ForumLayout;
  default_tag_setting?: null | ThreadSearchTagSetting;
  flags?: number | null;
  available_tags?: UpdateThreadTagRequest[] | null;
};

export type UpdateGuildOnboardingRequest = {
  prompts?: UpdateOnboardingPromptRequest[] | null;
  enabled?: boolean | null;
  default_channel_ids?: SnowflakeType[] | null;
  mode?: null | GuildOnboardingMode;
};

export type UpdateMessageInteractionCallbackRequest = {
  type: InteractionCallbackTypes.DEFERRED_UPDATE_MESSAGE | InteractionCallbackTypes.UPDATE_MESSAGE;
  data?: null | IncomingWebhookUpdateForInteractionCallbackRequestPartial;
};

export type UpdateMessageInteractionCallbackResponse = {
  type: InteractionCallbackTypes.UPDATE_MESSAGE;
  message: MessageResponse;
};

export type UpdateOnboardingPromptRequest = {
  title: string;
  options: OnboardingPromptOptionRequest[];
  single_select?: boolean | null;
  required?: boolean | null;
  in_onboarding?: boolean | null;
  type?: null | OnboardingPromptType;
  id: SnowflakeType;
};

export type UpdateRolePositionsRequest = {
  id?: null | SnowflakeType;
  position?: number | null;
};

export type UpdateRoleRequestPartial = {
  name?: string | null;
  permissions?: number | null;
  color?: number | null;
  colors?: null | RoleColors;
  hoist?: boolean | null;
  mentionable?: boolean | null;
  icon?: string | null;
  unicode_emoji?: string | null;
};

export type UpdateSelfVoiceStateRequestPartial = {
  request_to_speak_timestamp?: string | null;
  suppress?: boolean | null;
  channel_id?: null | SnowflakeType;
};

export type UpdateThreadRequestPartial = {
  name?: string | null;
  archived?: boolean | null;
  locked?: boolean | null;
  invitable?: boolean | null;
  auto_archive_duration?: null | ThreadAutoArchiveDuration;
  rate_limit_per_user?: number | null;
  flags?: number | null;
  applied_tags?: SnowflakeType[] | null;
  bitrate?: number | null;
  user_limit?: number | null;
  rtc_region?: string | null;
  video_quality_mode?: null | VideoQualityModes;
};

export type UpdateThreadTagRequest = {
  name: string;
  emoji_id?: null | SnowflakeType;
  emoji_name?: string | null;
  moderated?: boolean | null;
  id?: null | SnowflakeType;
};

export type UpdateVoiceStateRequestPartial = {
  suppress?: boolean | null;
  channel_id?: null | SnowflakeType;
};

export type UserAvatarDecorationResponse = {
  asset: string;
  sku_id: null | SnowflakeType;
};

export type UserCollectiblesResponse = {
  nameplate: null | UserNameplateResponse;
};

export type UserCommunicationDisabledAction = {
  type: AutomodActionType.USER_COMMUNICATION_DISABLED;
  metadata: UserCommunicationDisabledActionMetadata;
};

export type UserCommunicationDisabledActionMetadata = {
  duration_seconds?: number | null;
};

export type UserCommunicationDisabledActionMetadataResponse = {
  duration_seconds: number;
};

export type UserCommunicationDisabledActionResponse = {
  type: AutomodActionType.USER_COMMUNICATION_DISABLED;
  metadata: UserCommunicationDisabledActionMetadataResponse;
};

export type UserGuildOnboardingResponse = {
  guild_id: SnowflakeType;
  prompts: OnboardingPromptResponse[];
  default_channel_ids: SnowflakeType[];
  enabled: boolean;
  mode: GuildOnboardingMode;
};

export type UserNameplateResponse = {
  sku_id: null | SnowflakeType;
  asset: string;
  label: string;
  palette: NameplatePalette;
};

export type UserPIIResponse = {
  id: SnowflakeType;
  username: string;
  avatar: string | null;
  discriminator: string;
  public_flags: number;
  flags: Int53Type;
  bot?: boolean;
  system?: boolean;
  banner?: string | null;
  accent_color?: number | null;
  global_name: string | null;
  avatar_decoration_data?: null | UserAvatarDecorationResponse;
  collectibles?: null | UserCollectiblesResponse;
  primary_guild?: null | UserPrimaryGuildResponse;
  mfa_enabled: boolean;
  locale: AvailableLocalesEnum;
  premium_type?: PremiumTypes;
  email?: string | null;
  verified?: boolean;
};

export type UserPrimaryGuildResponse = {
  identity_guild_id: null | SnowflakeType;
  identity_enabled: boolean | null;
  tag: string | null;
  badge: string | null;
};

export type UserResponse = {
  id: SnowflakeType;
  username: string;
  avatar: string | null;
  discriminator: string;
  public_flags: number;
  flags: Int53Type;
  bot?: boolean;
  system?: boolean;
  banner?: string | null;
  accent_color?: number | null;
  global_name: string | null;
  avatar_decoration_data?: null | UserAvatarDecorationResponse;
  collectibles?: null | UserCollectiblesResponse;
  primary_guild: null | UserPrimaryGuildResponse;
};

export type UserSelectComponentForMessageRequest = {
  type: MessageComponentTypes.USER_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  default_values?: UserSelectDefaultValue[] | null;
};

export type UserSelectComponentForModalRequest = {
  type: MessageComponentTypes.USER_SELECT;
  id?: number | null;
  custom_id: string;
  placeholder?: string | null;
  min_values?: number | null;
  max_values?: number | null;
  disabled?: boolean | null;
  required?: boolean | null;
  default_values?: UserSelectDefaultValue[] | null;
};

export type UserSelectComponentResponse = {
  type: MessageComponentTypes.USER_SELECT;
  id: number;
  custom_id: string;
  placeholder?: string;
  min_values: number;
  max_values: number;
  disabled?: boolean;
  default_values?: UserSelectDefaultValueResponse[];
};

export type UserSelectDefaultValue = {
  type: SnowflakeSelectDefaultValueTypes.USER;
  id: SnowflakeType;
};

export type UserSelectDefaultValueResponse = {
  type: SnowflakeSelectDefaultValueTypes.USER;
  id: SnowflakeType;
};

export type VanityURLErrorResponse = {
  message: string;
  code: number;
};

export type VanityURLResponse = {
  code: string | null;
  uses: number;
  error?: null | VanityURLErrorResponse;
};

export type VoiceRegionResponse = {
  id: string;
  name: string;
  custom: boolean;
  deprecated: boolean;
  optimal: boolean;
};

export type VoiceScheduledEventCreateRequest = {
  name: string;
  description?: string | null;
  image?: string | null;
  scheduled_start_time: string;
  scheduled_end_time?: string | null;
  privacy_level: GuildScheduledEventPrivacyLevels;
  entity_type: GuildScheduledEventEntityTypes.VOICE;
  channel_id?: null | SnowflakeType;
  entity_metadata?: null | EntityMetadataVoice;
};

export type VoiceScheduledEventPatchRequestPartial = {
  status?: null | GuildScheduledEventStatuses;
  name?: string;
  description?: string | null;
  image?: string | null;
  scheduled_start_time?: string;
  scheduled_end_time?: string | null;
  entity_type?: null | GuildScheduledEventPrivacyLevels;
  privacy_level?: GuildScheduledEventPrivacyLevels;
  channel_id?: null | SnowflakeType;
  entity_metadata?: null | EntityMetadataVoice;
};

export type VoiceScheduledEventResponse = {
  id: SnowflakeType;
  guild_id: SnowflakeType;
  name: string;
  description: string | null;
  channel_id: null | SnowflakeType;
  creator_id: null | SnowflakeType;
  creator?: UserResponse;
  image: string | null;
  scheduled_start_time: string;
  scheduled_end_time: string | null;
  status: GuildScheduledEventStatuses;
  entity_type: GuildScheduledEventEntityTypes.VOICE;
  entity_id: null | SnowflakeType;
  user_count?: number;
  privacy_level: GuildScheduledEventPrivacyLevels;
  user_rsvp?: null | ScheduledEventUserResponse;
  entity_metadata: null | EntityMetadataVoiceResponse;
};

export type VoiceStateResponse = {
  channel_id: null | SnowflakeType;
  deaf: boolean;
  guild_id: null | SnowflakeType;
  member?: GuildMemberResponse;
  mute: boolean;
  request_to_speak_timestamp: string | null;
  suppress: boolean;
  self_stream: boolean | null;
  self_deaf: boolean;
  self_mute: boolean;
  self_video: boolean;
  session_id: string;
  user_id: SnowflakeType;
};

export type WebhookSlackEmbed = {
  title?: string | null;
  title_link?: string | null;
  text?: string | null;
  color?: string | null;
  ts?: number | null;
  pretext?: string | null;
  footer?: string | null;
  footer_icon?: string | null;
  author_name?: string | null;
  author_link?: string | null;
  author_icon?: string | null;
  image_url?: string | null;
  thumb_url?: string | null;
  fields?: WebhookSlackEmbedField[] | null;
};

export type WebhookSlackEmbedField = {
  name?: string | null;
  value?: string | null;
  inline?: boolean | null;
};

export type WebhookSourceChannelResponse = {
  id: SnowflakeType;
  name: string;
};

export type WebhookSourceGuildResponse = {
  id: SnowflakeType;
  icon: string | null;
  name: string;
};

export type WelcomeMessageResponse = {
  author_ids: SnowflakeType[];
  message: string;
};

export type WelcomeScreenPatchRequestPartial = {
  description?: string | null;
  welcome_channels?: GuildWelcomeChannel[] | null;
  enabled?: boolean | null;
};

export type WidgetActivity = {
  name: string;
};

export type WidgetChannel = {
  id: SnowflakeType;
  name: string;
  position: number;
};

export type WidgetMember = {
  id: string;
  username: string;
  discriminator: WidgetUserDiscriminator;
  avatar: null;
  status: string;
  avatar_url: string;
  activity?: WidgetActivity;
  deaf?: boolean;
  mute?: boolean;
  self_deaf?: boolean;
  self_mute?: boolean;
  suppress?: boolean;
  channel_id?: SnowflakeType;
};

export type WidgetResponse = {
  id: SnowflakeType;
  name: string;
  instant_invite: string | null;
  channels: WidgetChannel[];
  members: WidgetMember[];
  presence_count: number;
};

export type WidgetSettingsResponse = {
  enabled: boolean;
  channel_id: null | SnowflakeType;
};

/** A single error, either for an API response or a specific field. */
export type Error = {
  /** Discord internal error code. See error code reference */
  code: number;
  /** Human-readable error message */
  message: string;
};

export type InnerErrors = {
  /** The list of errors for this field */
  _errors: Error[];
};

export type ErrorDetails =
  | {
      [key: string]: ErrorDetails;
    }
  | InnerErrors;

/** Errors object returned by the Discord API */
export type ErrorResponse = Error & {
  errors?: ErrorDetails;
};

/** Ratelimit error object returned by the Discord API */
export type RatelimitedResponse = Error & {
  /** The number of seconds to wait before retrying your request */
  retry_after: number;
  /** Whether you are being ratelimited by the global ratelimit or a per-endpoint ratelimit */
  global: boolean;
};

// Paths
export interface Paths {
  "/applications/@me": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_my_application */
        "200": PrivateApplicationResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationFormPartial;
      responses: {
        /** 200 response for update_my_application */
        "200": PrivateApplicationResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/applications/{application_id}": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_application */
        "200": PrivateApplicationResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationFormPartial;
      responses: {
        /** 200 response for update_application */
        "200": PrivateApplicationResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/applications/{application_id}/activity-instances/{instance_id}": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          instance_id: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for applications_get_activity_instance */
        "200": EmbeddedActivityInstance;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/applications/{application_id}/attachment": {
    post: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        file: string;
      };
      responses: {
        /** 200 response for upload_application_attachment */
        "200": ActivitiesAttachmentResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [
        { BotToken: [] },
        {
          OAuth2: [
            "activities.invites.write",
            "activities.read",
            "activities.write",
            "applications.builds.read",
            "applications.builds.upload",
            "applications.commands",
            "applications.commands.permissions.update",
            "applications.commands.update",
            "applications.entitlements",
            "applications.store.update",
            "bot",
            "connections",
            "dm_channels.read",
            "email",
            "gdm.join",
            "guilds",
            "guilds.join",
            "guilds.members.read",
            "identify",
            "messages.read",
            "openid",
            "relationships.read",
            "role_connections.write",
            "rpc",
            "rpc.activities.write",
            "rpc.notifications.read",
            "rpc.screenshare.read",
            "rpc.screenshare.write",
            "rpc.video.read",
            "rpc.video.write",
            "rpc.voice.read",
            "rpc.voice.write",
            "voice",
            "webhook.incoming",
          ];
        },
      ];
    };
  };
  "/applications/{application_id}/commands": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: {
          with_localizations?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_application_commands */
        "200": ApplicationCommandResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
    put: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationCommandUpdateRequest[] | null;
      responses: {
        /** 200 response for bulk_set_application_commands */
        "200": ApplicationCommandResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
    post: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationCommandCreateRequest;
      responses: {
        /** 200 response for create_application_command */
        "200": ApplicationCommandResponse;
        /** 201 response for create_application_command */
        "201": ApplicationCommandResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
  };
  "/applications/{application_id}/commands/{command_id}": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          command_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_application_command */
        "200": ApplicationCommandResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
    delete: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          command_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_application_command */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
    patch: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          command_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationCommandPatchRequestPartial;
      responses: {
        /** 200 response for update_application_command */
        "200": ApplicationCommandResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
  };
  "/applications/{application_id}/emojis": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_application_emojis */
        "200": ListApplicationEmojisResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name: string;
        image: string;
      };
      responses: {
        /** 201 response for create_application_emoji */
        "201": EmojiResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/applications/{application_id}/emojis/{emoji_id}": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          emoji_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_application_emoji */
        "200": EmojiResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          emoji_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_application_emoji */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          emoji_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name?: string;
      };
      responses: {
        /** 200 response for update_application_emoji */
        "200": EmojiResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/applications/{application_id}/entitlements": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: {
          user_id?: SnowflakeType;
          sku_ids?: string | (null | SnowflakeType)[];
          guild_id?: SnowflakeType;
          before?: SnowflakeType;
          after?: SnowflakeType;
          limit?: number;
          exclude_ended?: boolean;
          exclude_deleted?: boolean;
          only_active?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_entitlements */
        "200": EntitlementResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.entitlements"] }];
    };
    post: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: CreateEntitlementRequestData;
      responses: {
        /** 200 response for create_entitlement */
        "200": EntitlementResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/applications/{application_id}/entitlements/{entitlement_id}": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          entitlement_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_entitlement */
        "200": EntitlementResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.entitlements"] }];
    };
    delete: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          entitlement_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_entitlement */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.entitlements"] }];
    };
  };
  "/applications/{application_id}/entitlements/{entitlement_id}/consume": {
    post: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          entitlement_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for consume_entitlement */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.entitlements"] }];
    };
  };
  "/applications/{application_id}/guilds/{guild_id}/commands": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
        };
        query?: {
          with_localizations?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_application_commands */
        "200": ApplicationCommandResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
    put: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationCommandUpdateRequest[] | null;
      responses: {
        /** 200 response for bulk_set_guild_application_commands */
        "200": ApplicationCommandResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
    post: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationCommandCreateRequest;
      responses: {
        /** 200 response for create_guild_application_command */
        "200": ApplicationCommandResponse;
        /** 201 response for create_guild_application_command */
        "201": ApplicationCommandResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
  };
  "/applications/{application_id}/guilds/{guild_id}/commands/permissions": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_application_command_permissions */
        "200": CommandPermissionsResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.permissions.update"] }];
    };
  };
  "/applications/{application_id}/guilds/{guild_id}/commands/{command_id}": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
          command_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_application_command */
        "200": ApplicationCommandResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
    delete: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
          command_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_application_command */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
    patch: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
          command_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationCommandPatchRequestPartial;
      responses: {
        /** 200 response for update_guild_application_command */
        "200": ApplicationCommandResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.update"] }];
    };
  };
  "/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
          command_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_application_command_permissions */
        "200": CommandPermissionsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.permissions.update"] }];
    };
    put: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
          guild_id: SnowflakeType;
          command_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        permissions?: ApplicationCommandPermission[] | null;
      };
      responses: {
        /** 200 response for set_guild_application_command_permissions */
        "200": CommandPermissionsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["applications.commands.permissions.update"] }];
    };
  };
  "/applications/{application_id}/role-connections/metadata": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_application_role_connections_metadata */
        "200": ApplicationRoleConnectionsMetadataItemResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    put: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: ApplicationRoleConnectionsMetadataItemRequest[] | null;
      responses: {
        /** 200 response for update_application_role_connections_metadata */
        "200": ApplicationRoleConnectionsMetadataItemResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_channel */
        "200":
          | GuildChannelResponse
          | PrivateChannelResponse
          | PrivateGroupChannelResponse
          | ThreadResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for delete_channel */
        "200":
          | GuildChannelResponse
          | PrivateChannelResponse
          | PrivateGroupChannelResponse
          | ThreadResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?:
        | UpdateDMRequestPartial
        | UpdateGroupDMRequestPartial
        | UpdateGuildChannelRequestPartial
        | UpdateThreadRequestPartial;
      responses: {
        /** 200 response for update_channel */
        "200":
          | GuildChannelResponse
          | PrivateChannelResponse
          | PrivateGroupChannelResponse
          | ThreadResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/followers": {
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        webhook_channel_id: SnowflakeType;
      };
      responses: {
        /** 200 response for follow_channel */
        "200": ChannelFollowerResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/invites": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_channel_invites */
        "200": (FriendInviteResponse | GroupDMInviteResponse | GuildInviteResponse | null)[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: CreateGroupDMInviteRequest | CreateGuildInviteRequest;
      responses: {
        /** 200 response for create_channel_invite */
        "200": FriendInviteResponse | GroupDMInviteResponse | GuildInviteResponse;
        /** 204 response for create_channel_invite */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: {
          around?: SnowflakeType;
          before?: SnowflakeType;
          after?: SnowflakeType;
          limit?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_messages */
        "200": MessageResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: MessageCreateRequest;
      responses: {
        /** 200 response for create_message */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/bulk-delete": {
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        messages: SnowflakeType[];
      };
      responses: {
        /** 204 response for bulk_delete_messages */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/pins": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: {
          before?: string;
          limit?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_pins */
        "200": PinnedMessagesResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/pins/{message_id}": {
    put: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for create_pin */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_pin */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/{message_id}": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_message */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_message */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: MessageEditRequestPartial;
      responses: {
        /** 200 response for update_message */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/{message_id}/crosspost": {
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for crosspost_message */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/{message_id}/reactions": {
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_all_message_reactions */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
          emoji_name: string;
        };
        query?: {
          after?: SnowflakeType;
          limit?: number;
          type?: ReactionTypes;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_message_reactions_by_emoji */
        "200": UserResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
          emoji_name: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_all_message_reactions_by_emoji */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me": {
    put: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
          emoji_name: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for add_my_message_reaction */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
          emoji_name: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_my_message_reaction */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/{user_id}": {
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
          emoji_name: string;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_user_message_reaction */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/messages/{message_id}/threads": {
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: CreateTextThreadWithMessageRequest;
      responses: {
        /** 201 response for create_thread_from_message */
        "201": ThreadResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/permissions/{overwrite_id}": {
    put: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          overwrite_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        type?: null | ChannelPermissionOverwrites;
        allow?: number | null;
        deny?: number | null;
      };
      responses: {
        /** 204 response for set_channel_permission_overwrite */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          overwrite_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_channel_permission_overwrite */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/pins": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for deprecated_list_pins */
        "200": MessageResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/pins/{message_id}": {
    put: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for deprecated_create_pin */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for deprecated_delete_pin */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/polls/{message_id}/answers/{answer_id}": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
          answer_id: number;
        };
        query?: {
          after?: SnowflakeType;
          limit?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_answer_voters */
        "200": PollAnswerDetailsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/polls/{message_id}/expire": {
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for poll_expire */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/recipients/{user_id}": {
    put: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        access_token?: string | null;
        nick?: string | null;
      };
      responses: {
        /** 201 response for add_group_dm_user */
        "201": PrivateChannelResponse | PrivateGroupChannelResponse;
        /** 204 response for add_group_dm_user */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_group_dm_user */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/send-soundboard-sound": {
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: SoundboardSoundSendRequest;
      responses: {
        /** 204 response for send_soundboard_sound */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/thread-members": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: {
          with_member?: boolean;
          limit?: number;
          after?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_thread_members */
        "200": ThreadMemberResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/thread-members/@me": {
    put: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for join_thread */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for leave_thread */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/thread-members/{user_id}": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: {
          with_member?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_thread_member */
        "200": ThreadMemberResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    put: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for add_thread_member */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_thread_member */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/threads": {
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: CreateForumThreadRequest | CreateTextThreadWithoutMessageRequest;
      responses: {
        /** 201 response for create_thread */
        "201": CreatedThreadResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/threads/archived/private": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: {
          before?: string;
          limit?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_private_archived_threads */
        "200": ThreadsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/threads/archived/public": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: {
          before?: string;
          limit?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_public_archived_threads */
        "200": ThreadsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/threads/search": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: {
          name?: string;
          slop?: number;
          min_id?: SnowflakeType;
          max_id?: SnowflakeType;
          tag?: string | SnowflakeType[];
          tag_setting?: ThreadSearchTagSetting;
          archived?: boolean;
          sort_by?: ThreadSortingMode;
          sort_order?: SortingOrder;
          limit?: number;
          offset?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for thread_search */
        "200": ThreadSearchResponse;
        /** 202 response for thread_search */
        "202": SearchIndexNotReadyResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/typing": {
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for trigger_typing_indicator */
        "200": TypingIndicatorResponse;
        /** 204 response for trigger_typing_indicator */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/users/@me/threads/archived/private": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: {
          before?: SnowflakeType;
          limit?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_my_private_archived_threads */
        "200": ThreadsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/voice-status": {
    put: {
      /** Set a voice channel's status. */
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        /** The new voice channel status */
        status?: string | null;
      };
      responses: {
        /** 204 response for update_voice_channel_status */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/channels/{channel_id}/webhooks": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_channel_webhooks */
        "200":
          | (
              | ApplicationIncomingWebhookResponse
              | ChannelFollowerWebhookResponse
              | GuildIncomingWebhookResponse
            )[]
          | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name: string;
        avatar?: string | null;
      };
      responses: {
        /** 200 response for create_webhook */
        "200": GuildIncomingWebhookResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/gateway": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_gateway */
        "200": GatewayResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/gateway/bot": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_bot_gateway */
        "200": GatewayBotResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/templates/{code}": {
    get: {
      parameters: {
        path?: {
          code: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_template */
        "200": GuildTemplateResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/guilds/{guild_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          with_counts?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild */
        "200": GuildWithCountsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: GuildPatchRequestPartial;
      responses: {
        /** 200 response for update_guild */
        "200": GuildResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/audit-logs": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          user_id?: SnowflakeType;
          target_id?: SnowflakeType;
          action_type?: AuditLogActionTypes;
          before?: SnowflakeType;
          after?: SnowflakeType;
          limit?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_audit_log_entries */
        "200": GuildAuditLogResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/auto-moderation/rules": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_auto_moderation_rules */
        "200":
          | (
              | DefaultKeywordRuleResponse
              | KeywordRuleResponse
              | MLSpamRuleResponse
              | MentionSpamRuleResponse
              | SpamLinkRuleResponse
              | null
            )[]
          | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?:
        | DefaultKeywordListUpsertRequest
        | KeywordUpsertRequest
        | MLSpamUpsertRequest
        | MentionSpamUpsertRequest;
      responses: {
        /** 200 response for create_auto_moderation_rule */
        "200":
          | DefaultKeywordRuleResponse
          | KeywordRuleResponse
          | MLSpamRuleResponse
          | MentionSpamRuleResponse
          | SpamLinkRuleResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/auto-moderation/rules/{rule_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          rule_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_auto_moderation_rule */
        "200":
          | DefaultKeywordRuleResponse
          | KeywordRuleResponse
          | MLSpamRuleResponse
          | MentionSpamRuleResponse
          | SpamLinkRuleResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          rule_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_auto_moderation_rule */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          rule_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?:
        | DefaultKeywordListUpsertRequestPartial
        | KeywordUpsertRequestPartial
        | MLSpamUpsertRequestPartial
        | MentionSpamUpsertRequestPartial;
      responses: {
        /** 200 response for update_auto_moderation_rule */
        "200":
          | DefaultKeywordRuleResponse
          | KeywordRuleResponse
          | MLSpamRuleResponse
          | MentionSpamRuleResponse
          | SpamLinkRuleResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/bans": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          limit?: number;
          before?: SnowflakeType;
          after?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_bans */
        "200": GuildBanResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/bans/{user_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_ban */
        "200": GuildBanResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    put: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: BanUserFromGuildRequest;
      responses: {
        /** 204 response for ban_user_from_guild */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: UnbanUserFromGuildRequest;
      responses: {
        /** 204 response for unban_user_from_guild */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/bulk-ban": {
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: BulkBanUsersRequest;
      responses: {
        /** 200 response for bulk_ban_users_from_guild */
        "200": BulkBanUsersResponse;
        /** 204 response for bulk_ban_users_from_guild */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/channels": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_channels */
        "200":
          | (
              | GuildChannelResponse
              | PrivateChannelResponse
              | PrivateGroupChannelResponse
              | ThreadResponse
            )[]
          | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: CreateGuildChannelRequest;
      responses: {
        /** 201 response for create_guild_channel */
        "201": GuildChannelResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        id?: null | SnowflakeType;
        position?: number | null;
        parent_id?: null | SnowflakeType;
        lock_permissions?: boolean | null;
      }[];
      responses: {
        /** 204 response for bulk_update_guild_channels */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/emojis": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_emojis */
        "200": EmojiResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name: string;
        image: string;
        roles?: (null | SnowflakeType)[] | null;
      };
      responses: {
        /** 201 response for create_guild_emoji */
        "201": EmojiResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/emojis/{emoji_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          emoji_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_emoji */
        "200": EmojiResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          emoji_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_emoji */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          emoji_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name?: string;
        roles?: (null | SnowflakeType)[] | null;
      };
      responses: {
        /** 200 response for update_guild_emoji */
        "200": EmojiResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/integrations": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_integrations */
        "200":
          | (
              | DiscordIntegrationResponse
              | ExternalConnectionIntegrationResponse
              | GuildSubscriptionIntegrationResponse
            )[]
          | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/integrations/{integration_id}": {
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          integration_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_integration */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/invites": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_invites */
        "200": (FriendInviteResponse | GroupDMInviteResponse | GuildInviteResponse | null)[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/members": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          limit?: number;
          after?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_members */
        "200": GuildMemberResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/members/@me": {
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        nick?: string | null;
        avatar?: string | null;
        bio?: string | null;
        banner?: string | null;
      };
      responses: {
        /** 200 response for update_my_guild_member */
        "200": PrivateGuildMemberResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/members/search": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          limit?: number;
          query: string;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for search_guild_members */
        "200": GuildMemberResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/members/{user_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_member */
        "200": GuildMemberResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    put: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: BotAddGuildMemberRequest;
      responses: {
        /** 201 response for add_guild_member */
        "201": GuildMemberResponse;
        /** 204 response for add_guild_member */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_member */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        nick?: string | null;
        roles?: (null | SnowflakeType)[] | null;
        mute?: boolean | null;
        deaf?: boolean | null;
        channel_id?: null | SnowflakeType;
        communication_disabled_until?: string | null;
        flags?: number | null;
      };
      responses: {
        /** 200 response for update_guild_member */
        "200": GuildMemberResponse;
        /** 204 response for update_guild_member */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/members/{user_id}/roles/{role_id}": {
    put: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
          role_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for add_guild_member_role */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
          role_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_member_role */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/messages/search": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          sort_by?: SortingMode;
          sort_order?: SortingOrder;
          content?: string;
          slop?: number;
          author_id?: SnowflakeType[];
          author_type?: AuthorType[];
          mentions?: SnowflakeType[];
          mentions_role_id?: SnowflakeType[];
          replied_to_user_id?: SnowflakeType[];
          replied_to_message_id?: SnowflakeType[];
          mention_everyone?: boolean;
          min_id?: SnowflakeType;
          max_id?: SnowflakeType;
          limit?: number;
          offset?: number;
          has?: HasOption[];
          link_hostname?: string[];
          embed_provider?: string[];
          embed_type?: SearchableEmbedType[];
          attachment_extension?: string[];
          attachment_filename?: string[];
          pinned?: boolean;
          include_nsfw?: boolean;
          channel_id?: SnowflakeType[];
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for guild_search */
        "200": GuildSearchResponse;
        /** 202 response for guild_search */
        "202": SearchIndexNotReadyResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/new-member-welcome": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_new_member_welcome */
        "200": GuildHomeSettingsResponse;
        /** 204 response for get_guild_new_member_welcome */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/onboarding": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guilds_onboarding */
        "200": UserGuildOnboardingResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    put: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: UpdateGuildOnboardingRequest;
      responses: {
        /** 200 response for put_guilds_onboarding */
        "200": GuildOnboardingResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/preview": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_preview */
        "200": GuildPreviewResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/prune": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          days?: number;
          include_roles?: string | (null | SnowflakeType)[];
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for preview_prune_guild */
        "200": GuildPruneResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: PruneGuildRequest;
      responses: {
        /** 200 response for prune_guild */
        "200": GuildPruneResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/regions": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_voice_regions */
        "200": VoiceRegionResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/requests": {
    get: {
      /** List join requests for guild, optionally filtered by application status */
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          status?: GuildJoinRequestApplicationStatus;
          limit?: number;
          before?: SnowflakeType;
          after?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_join_requests */
        "200": GuildJoinRequestsListResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/requests/{request_id}": {
    patch: {
      /** Approve or reject guild join request */
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          request_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        /** Whether to approve or reject the join request */
        action?: GuildJoinRequestApplicationStatus;
        /** Reason for rejection. Only used when action is REJECTED */
        rejection_reason?: string | null;
      };
      responses: {
        /** 200 response for action_guild_join_request */
        "200": GuildJoinRequestResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/roles": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_roles */
        "200": GuildRoleResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: CreateRoleRequest;
      responses: {
        /** 200 response for create_guild_role */
        "200": GuildRoleResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: UpdateRolePositionsRequest[];
      responses: {
        /** 200 response for bulk_update_guild_roles */
        "200": GuildRoleResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/roles/member-counts": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for guild_role_member_counts */
        "200": {
          [key: string]: number;
        };
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/roles/{role_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          role_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_role */
        "200": GuildRoleResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          role_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_role */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          role_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: UpdateRoleRequestPartial;
      responses: {
        /** 200 response for update_guild_role */
        "200": GuildRoleResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/scheduled-events": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          with_user_count?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_scheduled_events */
        "200":
          | (
              | ExternalScheduledEventResponse
              | StageScheduledEventResponse
              | VoiceScheduledEventResponse
            )[]
          | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?:
        | ExternalScheduledEventCreateRequest
        | StageScheduledEventCreateRequest
        | VoiceScheduledEventCreateRequest;
      responses: {
        /** 200 response for create_guild_scheduled_event */
        "200":
          | ExternalScheduledEventResponse
          | StageScheduledEventResponse
          | VoiceScheduledEventResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          guild_scheduled_event_id: SnowflakeType;
        };
        query?: {
          with_user_count?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_scheduled_event */
        "200":
          | ExternalScheduledEventResponse
          | StageScheduledEventResponse
          | VoiceScheduledEventResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          guild_scheduled_event_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_scheduled_event */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          guild_scheduled_event_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?:
        | ExternalScheduledEventPatchRequestPartial
        | StageScheduledEventPatchRequestPartial
        | VoiceScheduledEventPatchRequestPartial;
      responses: {
        /** 200 response for update_guild_scheduled_event */
        "200":
          | ExternalScheduledEventResponse
          | StageScheduledEventResponse
          | VoiceScheduledEventResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/users": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          guild_scheduled_event_id: SnowflakeType;
        };
        query?: {
          with_member?: boolean;
          limit?: number;
          before?: SnowflakeType;
          after?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_scheduled_event_users */
        "200": ScheduledEventUserResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/soundboard-sounds": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_soundboard_sounds */
        "200": ListGuildSoundboardSoundsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: SoundboardCreateRequest;
      responses: {
        /** 201 response for create_guild_soundboard_sound */
        "201": SoundboardSoundResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/soundboard-sounds/{sound_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          sound_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_soundboard_sound */
        "200": SoundboardSoundResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          sound_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_soundboard_sound */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          sound_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: SoundboardPatchRequestPartial;
      responses: {
        /** 200 response for update_guild_soundboard_sound */
        "200": SoundboardSoundResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/stickers": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_stickers */
        "200": GuildStickerResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name: string;
        tags: string;
        description?: string | null;
        file: string;
      };
      responses: {
        /** 201 response for create_guild_sticker */
        "201": GuildStickerResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/stickers/{sticker_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          sticker_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_sticker */
        "200": GuildStickerResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          sticker_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_guild_sticker */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          sticker_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name?: string;
        tags?: string;
        description?: string | null;
      };
      responses: {
        /** 200 response for update_guild_sticker */
        "200": GuildStickerResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/templates": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_guild_templates */
        "200": GuildTemplateResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name: string;
        description?: string | null;
      };
      responses: {
        /** 200 response for create_guild_template */
        "200": GuildTemplateResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/templates/{code}": {
    put: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          code: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for sync_guild_template */
        "200": GuildTemplateResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          code: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for delete_guild_template */
        "200": GuildTemplateResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          code: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name?: string;
        description?: string | null;
      };
      responses: {
        /** 200 response for update_guild_template */
        "200": GuildTemplateResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/threads/active": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_active_guild_threads */
        "200": ThreadsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/vanity-url": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_vanity_url */
        "200": VanityURLResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/voice-states/@me": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_self_voice_state */
        "200": VoiceStateResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: UpdateSelfVoiceStateRequestPartial;
      responses: {
        /** 204 response for update_self_voice_state */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/voice-states/{user_id}": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_voice_state */
        "200": VoiceStateResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: UpdateVoiceStateRequestPartial;
      responses: {
        /** 204 response for update_voice_state */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/webhooks": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_webhooks */
        "200":
          | (
              | ApplicationIncomingWebhookResponse
              | ChannelFollowerWebhookResponse
              | GuildIncomingWebhookResponse
            )[]
          | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/welcome-screen": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_welcome_screen */
        "200": GuildWelcomeScreenResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: WelcomeScreenPatchRequestPartial;
      responses: {
        /** 200 response for update_guild_welcome_screen */
        "200": GuildWelcomeScreenResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/widget": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_widget_settings */
        "200": WidgetSettingsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        channel_id?: null | SnowflakeType;
        enabled?: boolean | null;
      };
      responses: {
        /** 200 response for update_guild_widget_settings */
        "200": WidgetSettingsResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/widget.json": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_widget */
        "200": WidgetResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/guilds/{guild_id}/widget.png": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: {
          style?: WidgetImageStyles;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_guild_widget_png */
        "200": string;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/interactions/{interaction_id}/{interaction_token}/callback": {
    post: {
      parameters: {
        path?: {
          interaction_id: SnowflakeType;
          interaction_token: string;
        };
        query?: {
          with_response?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?:
        | ApplicationCommandAutocompleteCallbackRequest
        | CreateMessageInteractionCallbackRequest
        | LaunchActivityInteractionCallbackRequest
        | ModalInteractionCallbackRequest
        | PongInteractionCallbackRequest
        | SocialLayerSKUPurchaseEligibilityInteractionCallbackRequest
        | UpdateMessageInteractionCallbackRequest;
      responses: {
        /** 200 response for create_interaction_response */
        "200": InteractionCallbackResponse;
        /** 204 response for create_interaction_response */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/invites/{code}": {
    get: {
      parameters: {
        path?: {
          code: string;
        };
        query?: {
          with_counts?: boolean;
          guild_scheduled_event_id?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for invite_resolve */
        "200": FriendInviteResponse | GroupDMInviteResponse | GuildInviteResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          code: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for invite_revoke */
        "200": FriendInviteResponse | GroupDMInviteResponse | GuildInviteResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/invites/{code}/target-users": {
    get: {
      /** Get the target users for an invite. */
      parameters: {
        path?: {
          code: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_invite_target_users */
        "200": string;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    put: {
      /** Update the target users for an existing invite. */
      parameters: {
        path?: {
          code: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        target_users_file: string;
      };
      responses: {
        /** 204 response for update_invite_target_users */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/invites/{code}/target-users/job-status": {
    get: {
      /** Get the target users job status for an invite. */
      parameters: {
        path?: {
          code: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_invite_target_users_job_status */
        "200": TargetUsersJobStatusResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/lobbies": {
    put: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        idle_timeout_seconds?: number | null;
        lobby_metadata?: {
          [key: string]: string;
        } | null;
        member_metadata?: {
          [key: string]: string;
        } | null;
        secret: string;
        flags?: null | ActivityActionTypes.JOIN;
      };
      responses: {
        /** 200 response for create_or_join_lobby */
        "200": LobbyResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: [] }];
    };
    post: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        idle_timeout_seconds?: number | null;
        members?: LobbyMemberRequest[] | null;
        metadata?: {
          [key: string]: string;
        } | null;
        flags?: null | ActivityActionTypes.JOIN;
        override_event_webhooks_url?: string | null;
      };
      responses: {
        /** 201 response for create_lobby */
        "201": LobbyResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/lobbies/{lobby_id}": {
    get: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_lobby */
        "200": LobbyResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        idle_timeout_seconds?: number | null;
        metadata?: {
          [key: string]: string;
        } | null;
        members?: LobbyMemberRequest[] | null;
        flags?: null | ActivityActionTypes.JOIN;
        override_event_webhooks_url?: string | null;
      };
      responses: {
        /** 200 response for edit_lobby */
        "200": LobbyResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/lobbies/{lobby_id}/channel-linking": {
    patch: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        channel_id?: null | SnowflakeType;
      };
      responses: {
        /** 200 response for edit_lobby_channel_link */
        "200": LobbyResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: [] }];
    };
  };
  "/lobbies/{lobby_id}/members/@me": {
    delete: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for leave_lobby */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: [] }];
    };
  };
  "/lobbies/{lobby_id}/members/@me/invites": {
    post: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for create_linked_lobby_guild_invite_for_self */
        "200": LobbyGuildInviteResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: [] }];
    };
  };
  "/lobbies/{lobby_id}/members/bulk": {
    post: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: BulkLobbyMemberRequest[] | null;
      responses: {
        /** 200 response for bulk_update_lobby_members */
        "200": LobbyMemberResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/lobbies/{lobby_id}/members/{user_id}": {
    put: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        metadata?: {
          [key: string]: string;
        } | null;
        flags?: null | ActivityActionTypes.JOIN;
      };
      responses: {
        /** 200 response for add_lobby_member */
        "200": LobbyMemberResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_lobby_member */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/lobbies/{lobby_id}/members/{user_id}/invites": {
    post: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for create_linked_lobby_guild_invite_for_user */
        "200": LobbyGuildInviteResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/lobbies/{lobby_id}/messages": {
    get: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
        };
        query?: {
          limit?: number;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_lobby_messages */
        "200": LobbyMessageResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: [] }];
    };
    post: {
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: SDKMessageRequest;
      responses: {
        /** 201 response for create_lobby_message */
        "201": LobbyMessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: [] }];
    };
  };
  "/lobbies/{lobby_id}/messages/{message_id}/moderation-metadata": {
    put: {
      /** Update the external moderation metadata for a lobby message. */
      parameters: {
        path?: {
          lobby_id: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        [key: string]: string;
      };
      responses: {
        /** 204 response for update_lobby_message_external_moderation_metadata */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/oauth2/@me": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_my_oauth2_authorization */
        "200": OAuth2GetAuthorizationResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [
        { BotToken: [] },
        {
          OAuth2: [
            "activities.invites.write",
            "activities.read",
            "activities.write",
            "applications.builds.read",
            "applications.builds.upload",
            "applications.commands",
            "applications.commands.permissions.update",
            "applications.commands.update",
            "applications.entitlements",
            "applications.store.update",
            "bot",
            "connections",
            "dm_channels.read",
            "email",
            "gdm.join",
            "guilds",
            "guilds.join",
            "guilds.members.read",
            "identify",
            "messages.read",
            "openid",
            "relationships.read",
            "role_connections.write",
            "rpc",
            "rpc.activities.write",
            "rpc.notifications.read",
            "rpc.screenshare.read",
            "rpc.screenshare.write",
            "rpc.video.read",
            "rpc.video.write",
            "rpc.voice.read",
            "rpc.voice.write",
            "voice",
            "webhook.incoming",
          ];
        },
      ];
    };
  };
  "/oauth2/applications/@me": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_my_oauth2_application */
        "200": PrivateApplicationResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/oauth2/keys": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_public_keys */
        "200": OAuth2GetKeys;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/oauth2/userinfo": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_openid_connect_userinfo */
        "200": OAuth2GetOpenIDConnectUserInfoResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["openid"] }];
    };
  };
  "/partner-sdk/dms/{user_id_1}/{user_id_2}/messages/{message_id}/moderation-metadata": {
    put: {
      /** Update the external moderation metadata for a user message (DM). */
      parameters: {
        path?: {
          user_id_1: SnowflakeType;
          user_id_2: SnowflakeType;
          message_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        [key: string]: string;
      };
      responses: {
        /** 204 response for update_user_message_external_moderation_metadata */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/partner-sdk/provisional-accounts/unmerge": {
    post: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        client_id: SnowflakeType;
        client_secret?: string | null;
        external_auth_token: string;
        external_auth_type: ApplicationIdentityProviderAuthType;
      };
      responses: {
        /** 204 response for partner_sdk_unmerge_provisional_account */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/partner-sdk/provisional-accounts/unmerge/bot": {
    post: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        external_user_id: string;
      };
      responses: {
        /** 204 response for bot_partner_sdk_unmerge_provisional_account */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/partner-sdk/token": {
    post: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        client_id: SnowflakeType;
        client_secret?: string | null;
        external_auth_token: string;
        external_auth_type: ApplicationIdentityProviderAuthType;
      };
      responses: {
        /** 200 response for partner_sdk_token */
        "200": ProvisionalTokenResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/partner-sdk/token/bot": {
    post: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        external_user_id: string;
        preferred_global_name?: string | null;
      };
      responses: {
        /** 200 response for bot_partner_sdk_token */
        "200": ProvisionalTokenResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/soundboard-default-sounds": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_soundboard_default_sounds */
        "200": SoundboardSoundResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/stage-instances": {
    post: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        topic: string;
        channel_id: SnowflakeType;
        privacy_level?: null | StageInstancesPrivacyLevels;
        guild_scheduled_event_id?: null | SnowflakeType;
        send_start_notification?: boolean | null;
      };
      responses: {
        /** 200 response for create_stage_instance */
        "200": StageInstanceResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/stage-instances/{channel_id}": {
    get: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_stage_instance */
        "200": StageInstanceResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_stage_instance */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          channel_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        topic?: string;
        privacy_level?: StageInstancesPrivacyLevels;
      };
      responses: {
        /** 200 response for update_stage_instance */
        "200": StageInstanceResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/sticker-packs": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_sticker_packs */
        "200": StickerPackCollectionResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/sticker-packs/{pack_id}": {
    get: {
      parameters: {
        path?: {
          pack_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_sticker_pack */
        "200": StickerPackResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/stickers/{sticker_id}": {
    get: {
      parameters: {
        path?: {
          sticker_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_sticker */
        "200": GuildStickerResponse | StandardStickerResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/users/@me": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_my_user */
        "200": UserPIIResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["identify"] }];
    };
    patch: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: BotAccountPatchRequest;
      responses: {
        /** 200 response for update_my_user */
        "200": UserPIIResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/users/@me/applications/{application_id}/entitlements": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: {
          sku_ids?: string | (null | SnowflakeType)[];
          exclude_consumed?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_current_user_application_entitlements */
        "200": EntitlementResponse[];
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [
        {
          OAuth2: [
            "activities.invites.write",
            "activities.read",
            "activities.write",
            "applications.builds.read",
            "applications.builds.upload",
            "applications.commands",
            "applications.commands.permissions.update",
            "applications.commands.update",
            "applications.entitlements",
            "applications.store.update",
            "bot",
            "connections",
            "dm_channels.read",
            "email",
            "gdm.join",
            "guilds",
            "guilds.join",
            "guilds.members.read",
            "identify",
            "messages.read",
            "openid",
            "relationships.read",
            "role_connections.write",
            "rpc",
            "rpc.activities.write",
            "rpc.notifications.read",
            "rpc.screenshare.read",
            "rpc.screenshare.write",
            "rpc.video.read",
            "rpc.video.write",
            "rpc.voice.read",
            "rpc.voice.write",
            "voice",
            "webhook.incoming",
          ];
        },
      ];
    };
  };
  "/users/@me/applications/{application_id}/role-connection": {
    get: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_application_user_role_connection */
        "200": ApplicationUserRoleConnectionResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ OAuth2: ["role_connections.write"] }];
    };
    put: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: UpdateApplicationUserRoleConnectionRequest;
      responses: {
        /** 200 response for update_application_user_role_connection */
        "200": ApplicationUserRoleConnectionResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ OAuth2: ["role_connections.write"] }];
    };
    delete: {
      parameters: {
        path?: {
          application_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_application_user_role_connection */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ OAuth2: ["role_connections.write"] }];
    };
  };
  "/users/@me/channels": {
    post: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: CreatePrivateChannelRequest;
      responses: {
        /** 200 response for create_dm */
        "200": PrivateChannelResponse | PrivateGroupChannelResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/users/@me/connections": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_my_connections */
        "200": ConnectedAccountResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["connections"] }];
    };
  };
  "/users/@me/guilds": {
    get: {
      parameters: {
        path?: never;
        query?: {
          before?: SnowflakeType;
          after?: SnowflakeType;
          limit?: number;
          with_counts?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_my_guilds */
        "200": MyGuildResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }, { OAuth2: ["guilds"] }];
    };
  };
  "/users/@me/guilds/{guild_id}": {
    delete: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for leave_guild */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/users/@me/guilds/{guild_id}/member": {
    get: {
      parameters: {
        path?: {
          guild_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_my_guild_member */
        "200": PrivateGuildMemberResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ OAuth2: ["guilds.members.read"] }];
    };
  };
  "/users/{user_id}": {
    get: {
      parameters: {
        path?: {
          user_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_user */
        "200": UserResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/voice/regions": {
    get: {
      parameters: {
        path?: never;
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for list_voice_regions */
        "200": VoiceRegionResponse[] | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/webhooks/{webhook_id}": {
    get: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_webhook */
        "200":
          | ApplicationIncomingWebhookResponse
          | ChannelFollowerWebhookResponse
          | GuildIncomingWebhookResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_webhook */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name?: string;
        avatar?: string | null;
        channel_id?: null | SnowflakeType;
      };
      responses: {
        /** 200 response for update_webhook */
        "200":
          | ApplicationIncomingWebhookResponse
          | ChannelFollowerWebhookResponse
          | GuildIncomingWebhookResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{ BotToken: [] }];
    };
  };
  "/webhooks/{webhook_id}/{webhook_token}": {
    get: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_webhook_by_token */
        "200":
          | ApplicationIncomingWebhookResponse
          | ChannelFollowerWebhookResponse
          | GuildIncomingWebhookResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
    post: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: {
          wait?: boolean;
          thread_id?: SnowflakeType;
          with_components?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: IncomingWebhookRequestPartial | IncomingWebhookUpdateRequestPartial;
      responses: {
        /** 200 response for execute_webhook */
        "200": MessageResponse;
        /** 204 response for execute_webhook */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_webhook_by_token */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: never;
        header?: never;
        cookie?: never;
      };
      requestBody?: {
        name?: string;
        avatar?: string | null;
      };
      responses: {
        /** 200 response for update_webhook_by_token */
        "200":
          | ApplicationIncomingWebhookResponse
          | ChannelFollowerWebhookResponse
          | GuildIncomingWebhookResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/webhooks/{webhook_id}/{webhook_token}/github": {
    post: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: {
          wait?: boolean;
          thread_id?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: GithubWebhook;
      responses: {
        /** 204 response for execute_github_compatible_webhook */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/webhooks/{webhook_id}/{webhook_token}/messages/@original": {
    get: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: {
          thread_id?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_original_webhook_message */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: {
          thread_id?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_original_webhook_message */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: {
          thread_id?: SnowflakeType;
          with_components?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: IncomingWebhookUpdateRequestPartial;
      responses: {
        /** 200 response for update_original_webhook_message */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}": {
    get: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
          message_id: SnowflakeType;
        };
        query?: {
          thread_id?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 200 response for get_webhook_message */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
    delete: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
          message_id: SnowflakeType;
        };
        query?: {
          thread_id?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: undefined;
      responses: {
        /** 204 response for delete_webhook_message */
        "204": unknown;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
    patch: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
          message_id: SnowflakeType;
        };
        query?: {
          thread_id?: SnowflakeType;
          with_components?: boolean;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: IncomingWebhookUpdateRequestPartial;
      responses: {
        /** 200 response for update_webhook_message */
        "200": MessageResponse;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
  "/webhooks/{webhook_id}/{webhook_token}/slack": {
    post: {
      parameters: {
        path?: {
          webhook_id: SnowflakeType;
          webhook_token: string;
        };
        query?: {
          wait?: boolean;
          thread_id?: SnowflakeType;
        };
        header?: never;
        cookie?: never;
      };
      requestBody?: SlackWebhook;
      responses: {
        /** 200 response for execute_slack_compatible_webhook */
        "200": string | null;
        /** Client ratelimited response */
        "429": RatelimitedResponse;
        /** Client error response */
        "4XX": ErrorResponse;
      };
      security: [{}, { BotToken: [] }];
    };
  };
}

// Paths list
export const pathsList = {
  get: [
    "/applications/@me",
    "/applications/{application_id}",
    "/applications/{application_id}/activity-instances/{instance_id}",
    "/applications/{application_id}/commands",
    "/applications/{application_id}/commands/{command_id}",
    "/applications/{application_id}/emojis",
    "/applications/{application_id}/emojis/{emoji_id}",
    "/applications/{application_id}/entitlements",
    "/applications/{application_id}/entitlements/{entitlement_id}",
    "/applications/{application_id}/guilds/{guild_id}/commands",
    "/applications/{application_id}/guilds/{guild_id}/commands/permissions",
    "/applications/{application_id}/guilds/{guild_id}/commands/{command_id}",
    "/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions",
    "/applications/{application_id}/role-connections/metadata",
    "/channels/{channel_id}",
    "/channels/{channel_id}/invites",
    "/channels/{channel_id}/messages",
    "/channels/{channel_id}/messages/pins",
    "/channels/{channel_id}/messages/{message_id}",
    "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}",
    "/channels/{channel_id}/pins",
    "/channels/{channel_id}/polls/{message_id}/answers/{answer_id}",
    "/channels/{channel_id}/thread-members",
    "/channels/{channel_id}/thread-members/{user_id}",
    "/channels/{channel_id}/threads/archived/private",
    "/channels/{channel_id}/threads/archived/public",
    "/channels/{channel_id}/threads/search",
    "/channels/{channel_id}/users/@me/threads/archived/private",
    "/channels/{channel_id}/webhooks",
    "/gateway",
    "/gateway/bot",
    "/guilds/templates/{code}",
    "/guilds/{guild_id}",
    "/guilds/{guild_id}/audit-logs",
    "/guilds/{guild_id}/auto-moderation/rules",
    "/guilds/{guild_id}/auto-moderation/rules/{rule_id}",
    "/guilds/{guild_id}/bans",
    "/guilds/{guild_id}/bans/{user_id}",
    "/guilds/{guild_id}/channels",
    "/guilds/{guild_id}/emojis",
    "/guilds/{guild_id}/emojis/{emoji_id}",
    "/guilds/{guild_id}/integrations",
    "/guilds/{guild_id}/invites",
    "/guilds/{guild_id}/members",
    "/guilds/{guild_id}/members/search",
    "/guilds/{guild_id}/members/{user_id}",
    "/guilds/{guild_id}/messages/search",
    "/guilds/{guild_id}/new-member-welcome",
    "/guilds/{guild_id}/onboarding",
    "/guilds/{guild_id}/preview",
    "/guilds/{guild_id}/prune",
    "/guilds/{guild_id}/regions",
    "/guilds/{guild_id}/requests",
    "/guilds/{guild_id}/roles",
    "/guilds/{guild_id}/roles/member-counts",
    "/guilds/{guild_id}/roles/{role_id}",
    "/guilds/{guild_id}/scheduled-events",
    "/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}",
    "/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/users",
    "/guilds/{guild_id}/soundboard-sounds",
    "/guilds/{guild_id}/soundboard-sounds/{sound_id}",
    "/guilds/{guild_id}/stickers",
    "/guilds/{guild_id}/stickers/{sticker_id}",
    "/guilds/{guild_id}/templates",
    "/guilds/{guild_id}/threads/active",
    "/guilds/{guild_id}/vanity-url",
    "/guilds/{guild_id}/voice-states/@me",
    "/guilds/{guild_id}/voice-states/{user_id}",
    "/guilds/{guild_id}/webhooks",
    "/guilds/{guild_id}/welcome-screen",
    "/guilds/{guild_id}/widget",
    "/guilds/{guild_id}/widget.json",
    "/guilds/{guild_id}/widget.png",
    "/invites/{code}",
    "/invites/{code}/target-users",
    "/invites/{code}/target-users/job-status",
    "/lobbies/{lobby_id}",
    "/lobbies/{lobby_id}/messages",
    "/oauth2/@me",
    "/oauth2/applications/@me",
    "/oauth2/keys",
    "/oauth2/userinfo",
    "/soundboard-default-sounds",
    "/stage-instances/{channel_id}",
    "/sticker-packs",
    "/sticker-packs/{pack_id}",
    "/stickers/{sticker_id}",
    "/users/@me",
    "/users/@me/applications/{application_id}/entitlements",
    "/users/@me/applications/{application_id}/role-connection",
    "/users/@me/connections",
    "/users/@me/guilds",
    "/users/@me/guilds/{guild_id}/member",
    "/users/{user_id}",
    "/voice/regions",
    "/webhooks/{webhook_id}",
    "/webhooks/{webhook_id}/{webhook_token}",
    "/webhooks/{webhook_id}/{webhook_token}/messages/@original",
    "/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}",
  ],
  put: [
    "/applications/{application_id}/commands",
    "/applications/{application_id}/guilds/{guild_id}/commands",
    "/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions",
    "/applications/{application_id}/role-connections/metadata",
    "/channels/{channel_id}/messages/pins/{message_id}",
    "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me",
    "/channels/{channel_id}/permissions/{overwrite_id}",
    "/channels/{channel_id}/pins/{message_id}",
    "/channels/{channel_id}/recipients/{user_id}",
    "/channels/{channel_id}/thread-members/@me",
    "/channels/{channel_id}/thread-members/{user_id}",
    "/channels/{channel_id}/voice-status",
    "/guilds/{guild_id}/bans/{user_id}",
    "/guilds/{guild_id}/members/{user_id}",
    "/guilds/{guild_id}/members/{user_id}/roles/{role_id}",
    "/guilds/{guild_id}/onboarding",
    "/guilds/{guild_id}/templates/{code}",
    "/invites/{code}/target-users",
    "/lobbies",
    "/lobbies/{lobby_id}/members/{user_id}",
    "/lobbies/{lobby_id}/messages/{message_id}/moderation-metadata",
    "/partner-sdk/dms/{user_id_1}/{user_id_2}/messages/{message_id}/moderation-metadata",
    "/users/@me/applications/{application_id}/role-connection",
  ],
  post: [
    "/applications/{application_id}/attachment",
    "/applications/{application_id}/commands",
    "/applications/{application_id}/emojis",
    "/applications/{application_id}/entitlements",
    "/applications/{application_id}/entitlements/{entitlement_id}/consume",
    "/applications/{application_id}/guilds/{guild_id}/commands",
    "/channels/{channel_id}/followers",
    "/channels/{channel_id}/invites",
    "/channels/{channel_id}/messages",
    "/channels/{channel_id}/messages/bulk-delete",
    "/channels/{channel_id}/messages/{message_id}/crosspost",
    "/channels/{channel_id}/messages/{message_id}/threads",
    "/channels/{channel_id}/polls/{message_id}/expire",
    "/channels/{channel_id}/send-soundboard-sound",
    "/channels/{channel_id}/threads",
    "/channels/{channel_id}/typing",
    "/channels/{channel_id}/webhooks",
    "/guilds/{guild_id}/auto-moderation/rules",
    "/guilds/{guild_id}/bulk-ban",
    "/guilds/{guild_id}/channels",
    "/guilds/{guild_id}/emojis",
    "/guilds/{guild_id}/prune",
    "/guilds/{guild_id}/roles",
    "/guilds/{guild_id}/scheduled-events",
    "/guilds/{guild_id}/soundboard-sounds",
    "/guilds/{guild_id}/stickers",
    "/guilds/{guild_id}/templates",
    "/interactions/{interaction_id}/{interaction_token}/callback",
    "/lobbies",
    "/lobbies/{lobby_id}/members/@me/invites",
    "/lobbies/{lobby_id}/members/bulk",
    "/lobbies/{lobby_id}/members/{user_id}/invites",
    "/lobbies/{lobby_id}/messages",
    "/partner-sdk/provisional-accounts/unmerge",
    "/partner-sdk/provisional-accounts/unmerge/bot",
    "/partner-sdk/token",
    "/partner-sdk/token/bot",
    "/stage-instances",
    "/users/@me/channels",
    "/webhooks/{webhook_id}/{webhook_token}",
    "/webhooks/{webhook_id}/{webhook_token}/github",
    "/webhooks/{webhook_id}/{webhook_token}/slack",
  ],
  delete: [
    "/applications/{application_id}/commands/{command_id}",
    "/applications/{application_id}/emojis/{emoji_id}",
    "/applications/{application_id}/entitlements/{entitlement_id}",
    "/applications/{application_id}/guilds/{guild_id}/commands/{command_id}",
    "/channels/{channel_id}",
    "/channels/{channel_id}/messages/pins/{message_id}",
    "/channels/{channel_id}/messages/{message_id}",
    "/channels/{channel_id}/messages/{message_id}/reactions",
    "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}",
    "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me",
    "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/{user_id}",
    "/channels/{channel_id}/permissions/{overwrite_id}",
    "/channels/{channel_id}/pins/{message_id}",
    "/channels/{channel_id}/recipients/{user_id}",
    "/channels/{channel_id}/thread-members/@me",
    "/channels/{channel_id}/thread-members/{user_id}",
    "/guilds/{guild_id}/auto-moderation/rules/{rule_id}",
    "/guilds/{guild_id}/bans/{user_id}",
    "/guilds/{guild_id}/emojis/{emoji_id}",
    "/guilds/{guild_id}/integrations/{integration_id}",
    "/guilds/{guild_id}/members/{user_id}",
    "/guilds/{guild_id}/members/{user_id}/roles/{role_id}",
    "/guilds/{guild_id}/roles/{role_id}",
    "/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}",
    "/guilds/{guild_id}/soundboard-sounds/{sound_id}",
    "/guilds/{guild_id}/stickers/{sticker_id}",
    "/guilds/{guild_id}/templates/{code}",
    "/invites/{code}",
    "/lobbies/{lobby_id}/members/@me",
    "/lobbies/{lobby_id}/members/{user_id}",
    "/stage-instances/{channel_id}",
    "/users/@me/applications/{application_id}/role-connection",
    "/users/@me/guilds/{guild_id}",
    "/webhooks/{webhook_id}",
    "/webhooks/{webhook_id}/{webhook_token}",
    "/webhooks/{webhook_id}/{webhook_token}/messages/@original",
    "/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}",
  ],
  patch: [
    "/applications/@me",
    "/applications/{application_id}",
    "/applications/{application_id}/commands/{command_id}",
    "/applications/{application_id}/emojis/{emoji_id}",
    "/applications/{application_id}/guilds/{guild_id}/commands/{command_id}",
    "/channels/{channel_id}",
    "/channels/{channel_id}/messages/{message_id}",
    "/guilds/{guild_id}",
    "/guilds/{guild_id}/auto-moderation/rules/{rule_id}",
    "/guilds/{guild_id}/channels",
    "/guilds/{guild_id}/emojis/{emoji_id}",
    "/guilds/{guild_id}/members/@me",
    "/guilds/{guild_id}/members/{user_id}",
    "/guilds/{guild_id}/requests/{request_id}",
    "/guilds/{guild_id}/roles",
    "/guilds/{guild_id}/roles/{role_id}",
    "/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}",
    "/guilds/{guild_id}/soundboard-sounds/{sound_id}",
    "/guilds/{guild_id}/stickers/{sticker_id}",
    "/guilds/{guild_id}/templates/{code}",
    "/guilds/{guild_id}/voice-states/@me",
    "/guilds/{guild_id}/voice-states/{user_id}",
    "/guilds/{guild_id}/welcome-screen",
    "/guilds/{guild_id}/widget",
    "/lobbies/{lobby_id}",
    "/lobbies/{lobby_id}/channel-linking",
    "/stage-instances/{channel_id}",
    "/users/@me",
    "/webhooks/{webhook_id}",
    "/webhooks/{webhook_id}/{webhook_token}",
    "/webhooks/{webhook_id}/{webhook_token}/messages/@original",
    "/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}",
  ],
} as const;

export type GetMyApplicationParams = Paths["/applications/@me"]["get"]["parameters"];
export type GetMyApplicationRequestBody = Paths["/applications/@me"]["get"]["requestBody"];
export type GetMyApplicationResponses = Paths["/applications/@me"]["get"]["responses"];

export type UpdateMyApplicationParams = Paths["/applications/@me"]["patch"]["parameters"];
export type UpdateMyApplicationRequestBody = Paths["/applications/@me"]["patch"]["requestBody"];
export type UpdateMyApplicationResponses = Paths["/applications/@me"]["patch"]["responses"];

export type GetApplicationParams = Paths["/applications/{application_id}"]["get"]["parameters"];
export type GetApplicationRequestBody =
  Paths["/applications/{application_id}"]["get"]["requestBody"];
export type GetApplicationResponses = Paths["/applications/{application_id}"]["get"]["responses"];

export type UpdateApplicationParams =
  Paths["/applications/{application_id}"]["patch"]["parameters"];
export type UpdateApplicationRequestBody =
  Paths["/applications/{application_id}"]["patch"]["requestBody"];
export type UpdateApplicationResponses =
  Paths["/applications/{application_id}"]["patch"]["responses"];

export type ApplicationsGetActivityInstanceParams =
  Paths["/applications/{application_id}/activity-instances/{instance_id}"]["get"]["parameters"];
export type ApplicationsGetActivityInstanceRequestBody =
  Paths["/applications/{application_id}/activity-instances/{instance_id}"]["get"]["requestBody"];
export type ApplicationsGetActivityInstanceResponses =
  Paths["/applications/{application_id}/activity-instances/{instance_id}"]["get"]["responses"];

export type UploadApplicationAttachmentParams =
  Paths["/applications/{application_id}/attachment"]["post"]["parameters"];
export type UploadApplicationAttachmentRequestBody =
  Paths["/applications/{application_id}/attachment"]["post"]["requestBody"];
export type UploadApplicationAttachmentResponses =
  Paths["/applications/{application_id}/attachment"]["post"]["responses"];

export type ListApplicationCommandsParams =
  Paths["/applications/{application_id}/commands"]["get"]["parameters"];
export type ListApplicationCommandsRequestBody =
  Paths["/applications/{application_id}/commands"]["get"]["requestBody"];
export type ListApplicationCommandsResponses =
  Paths["/applications/{application_id}/commands"]["get"]["responses"];

export type BulkSetApplicationCommandsParams =
  Paths["/applications/{application_id}/commands"]["put"]["parameters"];
export type BulkSetApplicationCommandsRequestBody =
  Paths["/applications/{application_id}/commands"]["put"]["requestBody"];
export type BulkSetApplicationCommandsResponses =
  Paths["/applications/{application_id}/commands"]["put"]["responses"];

export type CreateApplicationCommandParams =
  Paths["/applications/{application_id}/commands"]["post"]["parameters"];
export type CreateApplicationCommandRequestBody =
  Paths["/applications/{application_id}/commands"]["post"]["requestBody"];
export type CreateApplicationCommandResponses =
  Paths["/applications/{application_id}/commands"]["post"]["responses"];

export type GetApplicationCommandParams =
  Paths["/applications/{application_id}/commands/{command_id}"]["get"]["parameters"];
export type GetApplicationCommandRequestBody =
  Paths["/applications/{application_id}/commands/{command_id}"]["get"]["requestBody"];
export type GetApplicationCommandResponses =
  Paths["/applications/{application_id}/commands/{command_id}"]["get"]["responses"];

export type DeleteApplicationCommandParams =
  Paths["/applications/{application_id}/commands/{command_id}"]["delete"]["parameters"];
export type DeleteApplicationCommandRequestBody =
  Paths["/applications/{application_id}/commands/{command_id}"]["delete"]["requestBody"];
export type DeleteApplicationCommandResponses =
  Paths["/applications/{application_id}/commands/{command_id}"]["delete"]["responses"];

export type UpdateApplicationCommandParams =
  Paths["/applications/{application_id}/commands/{command_id}"]["patch"]["parameters"];
export type UpdateApplicationCommandRequestBody =
  Paths["/applications/{application_id}/commands/{command_id}"]["patch"]["requestBody"];
export type UpdateApplicationCommandResponses =
  Paths["/applications/{application_id}/commands/{command_id}"]["patch"]["responses"];

export type ListApplicationEmojisParams =
  Paths["/applications/{application_id}/emojis"]["get"]["parameters"];
export type ListApplicationEmojisRequestBody =
  Paths["/applications/{application_id}/emojis"]["get"]["requestBody"];
export type ListApplicationEmojisResponses =
  Paths["/applications/{application_id}/emojis"]["get"]["responses"];

export type CreateApplicationEmojiParams =
  Paths["/applications/{application_id}/emojis"]["post"]["parameters"];
export type CreateApplicationEmojiRequestBody =
  Paths["/applications/{application_id}/emojis"]["post"]["requestBody"];
export type CreateApplicationEmojiResponses =
  Paths["/applications/{application_id}/emojis"]["post"]["responses"];

export type GetApplicationEmojiParams =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["get"]["parameters"];
export type GetApplicationEmojiRequestBody =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["get"]["requestBody"];
export type GetApplicationEmojiResponses =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["get"]["responses"];

export type DeleteApplicationEmojiParams =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["delete"]["parameters"];
export type DeleteApplicationEmojiRequestBody =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["delete"]["requestBody"];
export type DeleteApplicationEmojiResponses =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["delete"]["responses"];

export type UpdateApplicationEmojiParams =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["patch"]["parameters"];
export type UpdateApplicationEmojiRequestBody =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["patch"]["requestBody"];
export type UpdateApplicationEmojiResponses =
  Paths["/applications/{application_id}/emojis/{emoji_id}"]["patch"]["responses"];

export type GetEntitlementsParams =
  Paths["/applications/{application_id}/entitlements"]["get"]["parameters"];
export type GetEntitlementsRequestBody =
  Paths["/applications/{application_id}/entitlements"]["get"]["requestBody"];
export type GetEntitlementsResponses =
  Paths["/applications/{application_id}/entitlements"]["get"]["responses"];

export type CreateEntitlementParams =
  Paths["/applications/{application_id}/entitlements"]["post"]["parameters"];
export type CreateEntitlementRequestBody =
  Paths["/applications/{application_id}/entitlements"]["post"]["requestBody"];
export type CreateEntitlementResponses =
  Paths["/applications/{application_id}/entitlements"]["post"]["responses"];

export type GetEntitlementParams =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}"]["get"]["parameters"];
export type GetEntitlementRequestBody =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}"]["get"]["requestBody"];
export type GetEntitlementResponses =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}"]["get"]["responses"];

export type DeleteEntitlementParams =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}"]["delete"]["parameters"];
export type DeleteEntitlementRequestBody =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}"]["delete"]["requestBody"];
export type DeleteEntitlementResponses =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}"]["delete"]["responses"];

export type ConsumeEntitlementParams =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}/consume"]["post"]["parameters"];
export type ConsumeEntitlementRequestBody =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}/consume"]["post"]["requestBody"];
export type ConsumeEntitlementResponses =
  Paths["/applications/{application_id}/entitlements/{entitlement_id}/consume"]["post"]["responses"];

export type ListGuildApplicationCommandsParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["get"]["parameters"];
export type ListGuildApplicationCommandsRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["get"]["requestBody"];
export type ListGuildApplicationCommandsResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["get"]["responses"];

export type BulkSetGuildApplicationCommandsParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["put"]["parameters"];
export type BulkSetGuildApplicationCommandsRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["put"]["requestBody"];
export type BulkSetGuildApplicationCommandsResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["put"]["responses"];

export type CreateGuildApplicationCommandParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["post"]["parameters"];
export type CreateGuildApplicationCommandRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["post"]["requestBody"];
export type CreateGuildApplicationCommandResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands"]["post"]["responses"];

export type ListGuildApplicationCommandPermissionsParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/permissions"]["get"]["parameters"];
export type ListGuildApplicationCommandPermissionsRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/permissions"]["get"]["requestBody"];
export type ListGuildApplicationCommandPermissionsResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/permissions"]["get"]["responses"];

export type GetGuildApplicationCommandParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["get"]["parameters"];
export type GetGuildApplicationCommandRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["get"]["requestBody"];
export type GetGuildApplicationCommandResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["get"]["responses"];

export type DeleteGuildApplicationCommandParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["delete"]["parameters"];
export type DeleteGuildApplicationCommandRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["delete"]["requestBody"];
export type DeleteGuildApplicationCommandResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["delete"]["responses"];

export type UpdateGuildApplicationCommandParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["patch"]["parameters"];
export type UpdateGuildApplicationCommandRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["patch"]["requestBody"];
export type UpdateGuildApplicationCommandResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}"]["patch"]["responses"];

export type GetGuildApplicationCommandPermissionsParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions"]["get"]["parameters"];
export type GetGuildApplicationCommandPermissionsRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions"]["get"]["requestBody"];
export type GetGuildApplicationCommandPermissionsResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions"]["get"]["responses"];

export type SetGuildApplicationCommandPermissionsParams =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions"]["put"]["parameters"];
export type SetGuildApplicationCommandPermissionsRequestBody =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions"]["put"]["requestBody"];
export type SetGuildApplicationCommandPermissionsResponses =
  Paths["/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions"]["put"]["responses"];

export type GetApplicationRoleConnectionsMetadataParams =
  Paths["/applications/{application_id}/role-connections/metadata"]["get"]["parameters"];
export type GetApplicationRoleConnectionsMetadataRequestBody =
  Paths["/applications/{application_id}/role-connections/metadata"]["get"]["requestBody"];
export type GetApplicationRoleConnectionsMetadataResponses =
  Paths["/applications/{application_id}/role-connections/metadata"]["get"]["responses"];

export type UpdateApplicationRoleConnectionsMetadataParams =
  Paths["/applications/{application_id}/role-connections/metadata"]["put"]["parameters"];
export type UpdateApplicationRoleConnectionsMetadataRequestBody =
  Paths["/applications/{application_id}/role-connections/metadata"]["put"]["requestBody"];
export type UpdateApplicationRoleConnectionsMetadataResponses =
  Paths["/applications/{application_id}/role-connections/metadata"]["put"]["responses"];

export type GetChannelParams = Paths["/channels/{channel_id}"]["get"]["parameters"];
export type GetChannelRequestBody = Paths["/channels/{channel_id}"]["get"]["requestBody"];
export type GetChannelResponses = Paths["/channels/{channel_id}"]["get"]["responses"];

export type DeleteChannelParams = Paths["/channels/{channel_id}"]["delete"]["parameters"];
export type DeleteChannelRequestBody = Paths["/channels/{channel_id}"]["delete"]["requestBody"];
export type DeleteChannelResponses = Paths["/channels/{channel_id}"]["delete"]["responses"];

export type UpdateChannelParams = Paths["/channels/{channel_id}"]["patch"]["parameters"];
export type UpdateChannelRequestBody = Paths["/channels/{channel_id}"]["patch"]["requestBody"];
export type UpdateChannelResponses = Paths["/channels/{channel_id}"]["patch"]["responses"];

export type FollowChannelParams = Paths["/channels/{channel_id}/followers"]["post"]["parameters"];
export type FollowChannelRequestBody =
  Paths["/channels/{channel_id}/followers"]["post"]["requestBody"];
export type FollowChannelResponses = Paths["/channels/{channel_id}/followers"]["post"]["responses"];

export type ListChannelInvitesParams = Paths["/channels/{channel_id}/invites"]["get"]["parameters"];
export type ListChannelInvitesRequestBody =
  Paths["/channels/{channel_id}/invites"]["get"]["requestBody"];
export type ListChannelInvitesResponses =
  Paths["/channels/{channel_id}/invites"]["get"]["responses"];

export type CreateChannelInviteParams =
  Paths["/channels/{channel_id}/invites"]["post"]["parameters"];
export type CreateChannelInviteRequestBody =
  Paths["/channels/{channel_id}/invites"]["post"]["requestBody"];
export type CreateChannelInviteResponses =
  Paths["/channels/{channel_id}/invites"]["post"]["responses"];

export type ListMessagesParams = Paths["/channels/{channel_id}/messages"]["get"]["parameters"];
export type ListMessagesRequestBody =
  Paths["/channels/{channel_id}/messages"]["get"]["requestBody"];
export type ListMessagesResponses = Paths["/channels/{channel_id}/messages"]["get"]["responses"];

export type CreateMessageParams = Paths["/channels/{channel_id}/messages"]["post"]["parameters"];
export type CreateMessageRequestBody =
  Paths["/channels/{channel_id}/messages"]["post"]["requestBody"];
export type CreateMessageResponses = Paths["/channels/{channel_id}/messages"]["post"]["responses"];

export type BulkDeleteMessagesParams =
  Paths["/channels/{channel_id}/messages/bulk-delete"]["post"]["parameters"];
export type BulkDeleteMessagesRequestBody =
  Paths["/channels/{channel_id}/messages/bulk-delete"]["post"]["requestBody"];
export type BulkDeleteMessagesResponses =
  Paths["/channels/{channel_id}/messages/bulk-delete"]["post"]["responses"];

export type ListPinsParams = Paths["/channels/{channel_id}/messages/pins"]["get"]["parameters"];
export type ListPinsRequestBody =
  Paths["/channels/{channel_id}/messages/pins"]["get"]["requestBody"];
export type ListPinsResponses = Paths["/channels/{channel_id}/messages/pins"]["get"]["responses"];

export type CreatePinParams =
  Paths["/channels/{channel_id}/messages/pins/{message_id}"]["put"]["parameters"];
export type CreatePinRequestBody =
  Paths["/channels/{channel_id}/messages/pins/{message_id}"]["put"]["requestBody"];
export type CreatePinResponses =
  Paths["/channels/{channel_id}/messages/pins/{message_id}"]["put"]["responses"];

export type DeletePinParams =
  Paths["/channels/{channel_id}/messages/pins/{message_id}"]["delete"]["parameters"];
export type DeletePinRequestBody =
  Paths["/channels/{channel_id}/messages/pins/{message_id}"]["delete"]["requestBody"];
export type DeletePinResponses =
  Paths["/channels/{channel_id}/messages/pins/{message_id}"]["delete"]["responses"];

export type GetMessageParams =
  Paths["/channels/{channel_id}/messages/{message_id}"]["get"]["parameters"];
export type GetMessageRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}"]["get"]["requestBody"];
export type GetMessageResponses =
  Paths["/channels/{channel_id}/messages/{message_id}"]["get"]["responses"];

export type DeleteMessageParams =
  Paths["/channels/{channel_id}/messages/{message_id}"]["delete"]["parameters"];
export type DeleteMessageRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}"]["delete"]["requestBody"];
export type DeleteMessageResponses =
  Paths["/channels/{channel_id}/messages/{message_id}"]["delete"]["responses"];

export type UpdateMessageParams =
  Paths["/channels/{channel_id}/messages/{message_id}"]["patch"]["parameters"];
export type UpdateMessageRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}"]["patch"]["requestBody"];
export type UpdateMessageResponses =
  Paths["/channels/{channel_id}/messages/{message_id}"]["patch"]["responses"];

export type CrosspostMessageParams =
  Paths["/channels/{channel_id}/messages/{message_id}/crosspost"]["post"]["parameters"];
export type CrosspostMessageRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}/crosspost"]["post"]["requestBody"];
export type CrosspostMessageResponses =
  Paths["/channels/{channel_id}/messages/{message_id}/crosspost"]["post"]["responses"];

export type DeleteAllMessageReactionsParams =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions"]["delete"]["parameters"];
export type DeleteAllMessageReactionsRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions"]["delete"]["requestBody"];
export type DeleteAllMessageReactionsResponses =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions"]["delete"]["responses"];

export type ListMessageReactionsByEmojiParams =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}"]["get"]["parameters"];
export type ListMessageReactionsByEmojiRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}"]["get"]["requestBody"];
export type ListMessageReactionsByEmojiResponses =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}"]["get"]["responses"];

export type DeleteAllMessageReactionsByEmojiParams =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}"]["delete"]["parameters"];
export type DeleteAllMessageReactionsByEmojiRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}"]["delete"]["requestBody"];
export type DeleteAllMessageReactionsByEmojiResponses =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}"]["delete"]["responses"];

export type AddMyMessageReactionParams =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me"]["put"]["parameters"];
export type AddMyMessageReactionRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me"]["put"]["requestBody"];
export type AddMyMessageReactionResponses =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me"]["put"]["responses"];

export type DeleteMyMessageReactionParams =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me"]["delete"]["parameters"];
export type DeleteMyMessageReactionRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me"]["delete"]["requestBody"];
export type DeleteMyMessageReactionResponses =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me"]["delete"]["responses"];

export type DeleteUserMessageReactionParams =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/{user_id}"]["delete"]["parameters"];
export type DeleteUserMessageReactionRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/{user_id}"]["delete"]["requestBody"];
export type DeleteUserMessageReactionResponses =
  Paths["/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/{user_id}"]["delete"]["responses"];

export type CreateThreadFromMessageParams =
  Paths["/channels/{channel_id}/messages/{message_id}/threads"]["post"]["parameters"];
export type CreateThreadFromMessageRequestBody =
  Paths["/channels/{channel_id}/messages/{message_id}/threads"]["post"]["requestBody"];
export type CreateThreadFromMessageResponses =
  Paths["/channels/{channel_id}/messages/{message_id}/threads"]["post"]["responses"];

export type SetChannelPermissionOverwriteParams =
  Paths["/channels/{channel_id}/permissions/{overwrite_id}"]["put"]["parameters"];
export type SetChannelPermissionOverwriteRequestBody =
  Paths["/channels/{channel_id}/permissions/{overwrite_id}"]["put"]["requestBody"];
export type SetChannelPermissionOverwriteResponses =
  Paths["/channels/{channel_id}/permissions/{overwrite_id}"]["put"]["responses"];

export type DeleteChannelPermissionOverwriteParams =
  Paths["/channels/{channel_id}/permissions/{overwrite_id}"]["delete"]["parameters"];
export type DeleteChannelPermissionOverwriteRequestBody =
  Paths["/channels/{channel_id}/permissions/{overwrite_id}"]["delete"]["requestBody"];
export type DeleteChannelPermissionOverwriteResponses =
  Paths["/channels/{channel_id}/permissions/{overwrite_id}"]["delete"]["responses"];

export type DeprecatedListPinsParams = Paths["/channels/{channel_id}/pins"]["get"]["parameters"];
export type DeprecatedListPinsRequestBody =
  Paths["/channels/{channel_id}/pins"]["get"]["requestBody"];
export type DeprecatedListPinsResponses = Paths["/channels/{channel_id}/pins"]["get"]["responses"];

export type DeprecatedCreatePinParams =
  Paths["/channels/{channel_id}/pins/{message_id}"]["put"]["parameters"];
export type DeprecatedCreatePinRequestBody =
  Paths["/channels/{channel_id}/pins/{message_id}"]["put"]["requestBody"];
export type DeprecatedCreatePinResponses =
  Paths["/channels/{channel_id}/pins/{message_id}"]["put"]["responses"];

export type DeprecatedDeletePinParams =
  Paths["/channels/{channel_id}/pins/{message_id}"]["delete"]["parameters"];
export type DeprecatedDeletePinRequestBody =
  Paths["/channels/{channel_id}/pins/{message_id}"]["delete"]["requestBody"];
export type DeprecatedDeletePinResponses =
  Paths["/channels/{channel_id}/pins/{message_id}"]["delete"]["responses"];

export type GetAnswerVotersParams =
  Paths["/channels/{channel_id}/polls/{message_id}/answers/{answer_id}"]["get"]["parameters"];
export type GetAnswerVotersRequestBody =
  Paths["/channels/{channel_id}/polls/{message_id}/answers/{answer_id}"]["get"]["requestBody"];
export type GetAnswerVotersResponses =
  Paths["/channels/{channel_id}/polls/{message_id}/answers/{answer_id}"]["get"]["responses"];

export type PollExpireParams =
  Paths["/channels/{channel_id}/polls/{message_id}/expire"]["post"]["parameters"];
export type PollExpireRequestBody =
  Paths["/channels/{channel_id}/polls/{message_id}/expire"]["post"]["requestBody"];
export type PollExpireResponses =
  Paths["/channels/{channel_id}/polls/{message_id}/expire"]["post"]["responses"];

export type AddGroupDmUserParams =
  Paths["/channels/{channel_id}/recipients/{user_id}"]["put"]["parameters"];
export type AddGroupDmUserRequestBody =
  Paths["/channels/{channel_id}/recipients/{user_id}"]["put"]["requestBody"];
export type AddGroupDmUserResponses =
  Paths["/channels/{channel_id}/recipients/{user_id}"]["put"]["responses"];

export type DeleteGroupDmUserParams =
  Paths["/channels/{channel_id}/recipients/{user_id}"]["delete"]["parameters"];
export type DeleteGroupDmUserRequestBody =
  Paths["/channels/{channel_id}/recipients/{user_id}"]["delete"]["requestBody"];
export type DeleteGroupDmUserResponses =
  Paths["/channels/{channel_id}/recipients/{user_id}"]["delete"]["responses"];

export type SendSoundboardSoundParams =
  Paths["/channels/{channel_id}/send-soundboard-sound"]["post"]["parameters"];
export type SendSoundboardSoundRequestBody =
  Paths["/channels/{channel_id}/send-soundboard-sound"]["post"]["requestBody"];
export type SendSoundboardSoundResponses =
  Paths["/channels/{channel_id}/send-soundboard-sound"]["post"]["responses"];

export type ListThreadMembersParams =
  Paths["/channels/{channel_id}/thread-members"]["get"]["parameters"];
export type ListThreadMembersRequestBody =
  Paths["/channels/{channel_id}/thread-members"]["get"]["requestBody"];
export type ListThreadMembersResponses =
  Paths["/channels/{channel_id}/thread-members"]["get"]["responses"];

export type JoinThreadParams =
  Paths["/channels/{channel_id}/thread-members/@me"]["put"]["parameters"];
export type JoinThreadRequestBody =
  Paths["/channels/{channel_id}/thread-members/@me"]["put"]["requestBody"];
export type JoinThreadResponses =
  Paths["/channels/{channel_id}/thread-members/@me"]["put"]["responses"];

export type LeaveThreadParams =
  Paths["/channels/{channel_id}/thread-members/@me"]["delete"]["parameters"];
export type LeaveThreadRequestBody =
  Paths["/channels/{channel_id}/thread-members/@me"]["delete"]["requestBody"];
export type LeaveThreadResponses =
  Paths["/channels/{channel_id}/thread-members/@me"]["delete"]["responses"];

export type GetThreadMemberParams =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["get"]["parameters"];
export type GetThreadMemberRequestBody =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["get"]["requestBody"];
export type GetThreadMemberResponses =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["get"]["responses"];

export type AddThreadMemberParams =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["put"]["parameters"];
export type AddThreadMemberRequestBody =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["put"]["requestBody"];
export type AddThreadMemberResponses =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["put"]["responses"];

export type DeleteThreadMemberParams =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["delete"]["parameters"];
export type DeleteThreadMemberRequestBody =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["delete"]["requestBody"];
export type DeleteThreadMemberResponses =
  Paths["/channels/{channel_id}/thread-members/{user_id}"]["delete"]["responses"];

export type CreateThreadParams = Paths["/channels/{channel_id}/threads"]["post"]["parameters"];
export type CreateThreadRequestBody =
  Paths["/channels/{channel_id}/threads"]["post"]["requestBody"];
export type CreateThreadResponses = Paths["/channels/{channel_id}/threads"]["post"]["responses"];

export type ListPrivateArchivedThreadsParams =
  Paths["/channels/{channel_id}/threads/archived/private"]["get"]["parameters"];
export type ListPrivateArchivedThreadsRequestBody =
  Paths["/channels/{channel_id}/threads/archived/private"]["get"]["requestBody"];
export type ListPrivateArchivedThreadsResponses =
  Paths["/channels/{channel_id}/threads/archived/private"]["get"]["responses"];

export type ListPublicArchivedThreadsParams =
  Paths["/channels/{channel_id}/threads/archived/public"]["get"]["parameters"];
export type ListPublicArchivedThreadsRequestBody =
  Paths["/channels/{channel_id}/threads/archived/public"]["get"]["requestBody"];
export type ListPublicArchivedThreadsResponses =
  Paths["/channels/{channel_id}/threads/archived/public"]["get"]["responses"];

export type ThreadSearchParams =
  Paths["/channels/{channel_id}/threads/search"]["get"]["parameters"];
export type ThreadSearchRequestBody =
  Paths["/channels/{channel_id}/threads/search"]["get"]["requestBody"];
export type ThreadSearchResponses =
  Paths["/channels/{channel_id}/threads/search"]["get"]["responses"];

export type TriggerTypingIndicatorParams =
  Paths["/channels/{channel_id}/typing"]["post"]["parameters"];
export type TriggerTypingIndicatorRequestBody =
  Paths["/channels/{channel_id}/typing"]["post"]["requestBody"];
export type TriggerTypingIndicatorResponses =
  Paths["/channels/{channel_id}/typing"]["post"]["responses"];

export type ListMyPrivateArchivedThreadsParams =
  Paths["/channels/{channel_id}/users/@me/threads/archived/private"]["get"]["parameters"];
export type ListMyPrivateArchivedThreadsRequestBody =
  Paths["/channels/{channel_id}/users/@me/threads/archived/private"]["get"]["requestBody"];
export type ListMyPrivateArchivedThreadsResponses =
  Paths["/channels/{channel_id}/users/@me/threads/archived/private"]["get"]["responses"];

export type UpdateVoiceChannelStatusParams =
  Paths["/channels/{channel_id}/voice-status"]["put"]["parameters"];
export type UpdateVoiceChannelStatusRequestBody =
  Paths["/channels/{channel_id}/voice-status"]["put"]["requestBody"];
export type UpdateVoiceChannelStatusResponses =
  Paths["/channels/{channel_id}/voice-status"]["put"]["responses"];

export type ListChannelWebhooksParams =
  Paths["/channels/{channel_id}/webhooks"]["get"]["parameters"];
export type ListChannelWebhooksRequestBody =
  Paths["/channels/{channel_id}/webhooks"]["get"]["requestBody"];
export type ListChannelWebhooksResponses =
  Paths["/channels/{channel_id}/webhooks"]["get"]["responses"];

export type CreateWebhookParams = Paths["/channels/{channel_id}/webhooks"]["post"]["parameters"];
export type CreateWebhookRequestBody =
  Paths["/channels/{channel_id}/webhooks"]["post"]["requestBody"];
export type CreateWebhookResponses = Paths["/channels/{channel_id}/webhooks"]["post"]["responses"];

export type GetGatewayParams = Paths["/gateway"]["get"]["parameters"];
export type GetGatewayRequestBody = Paths["/gateway"]["get"]["requestBody"];
export type GetGatewayResponses = Paths["/gateway"]["get"]["responses"];

export type GetBotGatewayParams = Paths["/gateway/bot"]["get"]["parameters"];
export type GetBotGatewayRequestBody = Paths["/gateway/bot"]["get"]["requestBody"];
export type GetBotGatewayResponses = Paths["/gateway/bot"]["get"]["responses"];

export type GetGuildTemplateParams = Paths["/guilds/templates/{code}"]["get"]["parameters"];
export type GetGuildTemplateRequestBody = Paths["/guilds/templates/{code}"]["get"]["requestBody"];
export type GetGuildTemplateResponses = Paths["/guilds/templates/{code}"]["get"]["responses"];

export type GetGuildParams = Paths["/guilds/{guild_id}"]["get"]["parameters"];
export type GetGuildRequestBody = Paths["/guilds/{guild_id}"]["get"]["requestBody"];
export type GetGuildResponses = Paths["/guilds/{guild_id}"]["get"]["responses"];

export type UpdateGuildParams = Paths["/guilds/{guild_id}"]["patch"]["parameters"];
export type UpdateGuildRequestBody = Paths["/guilds/{guild_id}"]["patch"]["requestBody"];
export type UpdateGuildResponses = Paths["/guilds/{guild_id}"]["patch"]["responses"];

export type ListGuildAuditLogEntriesParams =
  Paths["/guilds/{guild_id}/audit-logs"]["get"]["parameters"];
export type ListGuildAuditLogEntriesRequestBody =
  Paths["/guilds/{guild_id}/audit-logs"]["get"]["requestBody"];
export type ListGuildAuditLogEntriesResponses =
  Paths["/guilds/{guild_id}/audit-logs"]["get"]["responses"];

export type ListAutoModerationRulesParams =
  Paths["/guilds/{guild_id}/auto-moderation/rules"]["get"]["parameters"];
export type ListAutoModerationRulesRequestBody =
  Paths["/guilds/{guild_id}/auto-moderation/rules"]["get"]["requestBody"];
export type ListAutoModerationRulesResponses =
  Paths["/guilds/{guild_id}/auto-moderation/rules"]["get"]["responses"];

export type CreateAutoModerationRuleParams =
  Paths["/guilds/{guild_id}/auto-moderation/rules"]["post"]["parameters"];
export type CreateAutoModerationRuleRequestBody =
  Paths["/guilds/{guild_id}/auto-moderation/rules"]["post"]["requestBody"];
export type CreateAutoModerationRuleResponses =
  Paths["/guilds/{guild_id}/auto-moderation/rules"]["post"]["responses"];

export type GetAutoModerationRuleParams =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["get"]["parameters"];
export type GetAutoModerationRuleRequestBody =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["get"]["requestBody"];
export type GetAutoModerationRuleResponses =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["get"]["responses"];

export type DeleteAutoModerationRuleParams =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["delete"]["parameters"];
export type DeleteAutoModerationRuleRequestBody =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["delete"]["requestBody"];
export type DeleteAutoModerationRuleResponses =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["delete"]["responses"];

export type UpdateAutoModerationRuleParams =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["patch"]["parameters"];
export type UpdateAutoModerationRuleRequestBody =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["patch"]["requestBody"];
export type UpdateAutoModerationRuleResponses =
  Paths["/guilds/{guild_id}/auto-moderation/rules/{rule_id}"]["patch"]["responses"];

export type ListGuildBansParams = Paths["/guilds/{guild_id}/bans"]["get"]["parameters"];
export type ListGuildBansRequestBody = Paths["/guilds/{guild_id}/bans"]["get"]["requestBody"];
export type ListGuildBansResponses = Paths["/guilds/{guild_id}/bans"]["get"]["responses"];

export type GetGuildBanParams = Paths["/guilds/{guild_id}/bans/{user_id}"]["get"]["parameters"];
export type GetGuildBanRequestBody =
  Paths["/guilds/{guild_id}/bans/{user_id}"]["get"]["requestBody"];
export type GetGuildBanResponses = Paths["/guilds/{guild_id}/bans/{user_id}"]["get"]["responses"];

export type BanUserFromGuildParams =
  Paths["/guilds/{guild_id}/bans/{user_id}"]["put"]["parameters"];
export type BanUserFromGuildRequestBody =
  Paths["/guilds/{guild_id}/bans/{user_id}"]["put"]["requestBody"];
export type BanUserFromGuildResponses =
  Paths["/guilds/{guild_id}/bans/{user_id}"]["put"]["responses"];

export type UnbanUserFromGuildParams =
  Paths["/guilds/{guild_id}/bans/{user_id}"]["delete"]["parameters"];
export type UnbanUserFromGuildRequestBody =
  Paths["/guilds/{guild_id}/bans/{user_id}"]["delete"]["requestBody"];
export type UnbanUserFromGuildResponses =
  Paths["/guilds/{guild_id}/bans/{user_id}"]["delete"]["responses"];

export type BulkBanUsersFromGuildParams =
  Paths["/guilds/{guild_id}/bulk-ban"]["post"]["parameters"];
export type BulkBanUsersFromGuildRequestBody =
  Paths["/guilds/{guild_id}/bulk-ban"]["post"]["requestBody"];
export type BulkBanUsersFromGuildResponses =
  Paths["/guilds/{guild_id}/bulk-ban"]["post"]["responses"];

export type ListGuildChannelsParams = Paths["/guilds/{guild_id}/channels"]["get"]["parameters"];
export type ListGuildChannelsRequestBody =
  Paths["/guilds/{guild_id}/channels"]["get"]["requestBody"];
export type ListGuildChannelsResponses = Paths["/guilds/{guild_id}/channels"]["get"]["responses"];

export type CreateGuildChannelParams = Paths["/guilds/{guild_id}/channels"]["post"]["parameters"];
export type CreateGuildChannelRequestBody =
  Paths["/guilds/{guild_id}/channels"]["post"]["requestBody"];
export type CreateGuildChannelResponses = Paths["/guilds/{guild_id}/channels"]["post"]["responses"];

export type BulkUpdateGuildChannelsParams =
  Paths["/guilds/{guild_id}/channels"]["patch"]["parameters"];
export type BulkUpdateGuildChannelsRequestBody =
  Paths["/guilds/{guild_id}/channels"]["patch"]["requestBody"];
export type BulkUpdateGuildChannelsResponses =
  Paths["/guilds/{guild_id}/channels"]["patch"]["responses"];

export type ListGuildEmojisParams = Paths["/guilds/{guild_id}/emojis"]["get"]["parameters"];
export type ListGuildEmojisRequestBody = Paths["/guilds/{guild_id}/emojis"]["get"]["requestBody"];
export type ListGuildEmojisResponses = Paths["/guilds/{guild_id}/emojis"]["get"]["responses"];

export type CreateGuildEmojiParams = Paths["/guilds/{guild_id}/emojis"]["post"]["parameters"];
export type CreateGuildEmojiRequestBody = Paths["/guilds/{guild_id}/emojis"]["post"]["requestBody"];
export type CreateGuildEmojiResponses = Paths["/guilds/{guild_id}/emojis"]["post"]["responses"];

export type GetGuildEmojiParams =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["get"]["parameters"];
export type GetGuildEmojiRequestBody =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["get"]["requestBody"];
export type GetGuildEmojiResponses =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["get"]["responses"];

export type DeleteGuildEmojiParams =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["delete"]["parameters"];
export type DeleteGuildEmojiRequestBody =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["delete"]["requestBody"];
export type DeleteGuildEmojiResponses =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["delete"]["responses"];

export type UpdateGuildEmojiParams =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["patch"]["parameters"];
export type UpdateGuildEmojiRequestBody =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["patch"]["requestBody"];
export type UpdateGuildEmojiResponses =
  Paths["/guilds/{guild_id}/emojis/{emoji_id}"]["patch"]["responses"];

export type ListGuildIntegrationsParams =
  Paths["/guilds/{guild_id}/integrations"]["get"]["parameters"];
export type ListGuildIntegrationsRequestBody =
  Paths["/guilds/{guild_id}/integrations"]["get"]["requestBody"];
export type ListGuildIntegrationsResponses =
  Paths["/guilds/{guild_id}/integrations"]["get"]["responses"];

export type DeleteGuildIntegrationParams =
  Paths["/guilds/{guild_id}/integrations/{integration_id}"]["delete"]["parameters"];
export type DeleteGuildIntegrationRequestBody =
  Paths["/guilds/{guild_id}/integrations/{integration_id}"]["delete"]["requestBody"];
export type DeleteGuildIntegrationResponses =
  Paths["/guilds/{guild_id}/integrations/{integration_id}"]["delete"]["responses"];

export type ListGuildInvitesParams = Paths["/guilds/{guild_id}/invites"]["get"]["parameters"];
export type ListGuildInvitesRequestBody = Paths["/guilds/{guild_id}/invites"]["get"]["requestBody"];
export type ListGuildInvitesResponses = Paths["/guilds/{guild_id}/invites"]["get"]["responses"];

export type ListGuildMembersParams = Paths["/guilds/{guild_id}/members"]["get"]["parameters"];
export type ListGuildMembersRequestBody = Paths["/guilds/{guild_id}/members"]["get"]["requestBody"];
export type ListGuildMembersResponses = Paths["/guilds/{guild_id}/members"]["get"]["responses"];

export type UpdateMyGuildMemberParams =
  Paths["/guilds/{guild_id}/members/@me"]["patch"]["parameters"];
export type UpdateMyGuildMemberRequestBody =
  Paths["/guilds/{guild_id}/members/@me"]["patch"]["requestBody"];
export type UpdateMyGuildMemberResponses =
  Paths["/guilds/{guild_id}/members/@me"]["patch"]["responses"];

export type SearchGuildMembersParams =
  Paths["/guilds/{guild_id}/members/search"]["get"]["parameters"];
export type SearchGuildMembersRequestBody =
  Paths["/guilds/{guild_id}/members/search"]["get"]["requestBody"];
export type SearchGuildMembersResponses =
  Paths["/guilds/{guild_id}/members/search"]["get"]["responses"];

export type GetGuildMemberParams =
  Paths["/guilds/{guild_id}/members/{user_id}"]["get"]["parameters"];
export type GetGuildMemberRequestBody =
  Paths["/guilds/{guild_id}/members/{user_id}"]["get"]["requestBody"];
export type GetGuildMemberResponses =
  Paths["/guilds/{guild_id}/members/{user_id}"]["get"]["responses"];

export type AddGuildMemberParams =
  Paths["/guilds/{guild_id}/members/{user_id}"]["put"]["parameters"];
export type AddGuildMemberRequestBody =
  Paths["/guilds/{guild_id}/members/{user_id}"]["put"]["requestBody"];
export type AddGuildMemberResponses =
  Paths["/guilds/{guild_id}/members/{user_id}"]["put"]["responses"];

export type DeleteGuildMemberParams =
  Paths["/guilds/{guild_id}/members/{user_id}"]["delete"]["parameters"];
export type DeleteGuildMemberRequestBody =
  Paths["/guilds/{guild_id}/members/{user_id}"]["delete"]["requestBody"];
export type DeleteGuildMemberResponses =
  Paths["/guilds/{guild_id}/members/{user_id}"]["delete"]["responses"];

export type UpdateGuildMemberParams =
  Paths["/guilds/{guild_id}/members/{user_id}"]["patch"]["parameters"];
export type UpdateGuildMemberRequestBody =
  Paths["/guilds/{guild_id}/members/{user_id}"]["patch"]["requestBody"];
export type UpdateGuildMemberResponses =
  Paths["/guilds/{guild_id}/members/{user_id}"]["patch"]["responses"];

export type AddGuildMemberRoleParams =
  Paths["/guilds/{guild_id}/members/{user_id}/roles/{role_id}"]["put"]["parameters"];
export type AddGuildMemberRoleRequestBody =
  Paths["/guilds/{guild_id}/members/{user_id}/roles/{role_id}"]["put"]["requestBody"];
export type AddGuildMemberRoleResponses =
  Paths["/guilds/{guild_id}/members/{user_id}/roles/{role_id}"]["put"]["responses"];

export type DeleteGuildMemberRoleParams =
  Paths["/guilds/{guild_id}/members/{user_id}/roles/{role_id}"]["delete"]["parameters"];
export type DeleteGuildMemberRoleRequestBody =
  Paths["/guilds/{guild_id}/members/{user_id}/roles/{role_id}"]["delete"]["requestBody"];
export type DeleteGuildMemberRoleResponses =
  Paths["/guilds/{guild_id}/members/{user_id}/roles/{role_id}"]["delete"]["responses"];

export type GuildSearchParams = Paths["/guilds/{guild_id}/messages/search"]["get"]["parameters"];
export type GuildSearchRequestBody =
  Paths["/guilds/{guild_id}/messages/search"]["get"]["requestBody"];
export type GuildSearchResponses = Paths["/guilds/{guild_id}/messages/search"]["get"]["responses"];

export type GetGuildNewMemberWelcomeParams =
  Paths["/guilds/{guild_id}/new-member-welcome"]["get"]["parameters"];
export type GetGuildNewMemberWelcomeRequestBody =
  Paths["/guilds/{guild_id}/new-member-welcome"]["get"]["requestBody"];
export type GetGuildNewMemberWelcomeResponses =
  Paths["/guilds/{guild_id}/new-member-welcome"]["get"]["responses"];

export type GetGuildsOnboardingParams = Paths["/guilds/{guild_id}/onboarding"]["get"]["parameters"];
export type GetGuildsOnboardingRequestBody =
  Paths["/guilds/{guild_id}/onboarding"]["get"]["requestBody"];
export type GetGuildsOnboardingResponses =
  Paths["/guilds/{guild_id}/onboarding"]["get"]["responses"];

export type PutGuildsOnboardingParams = Paths["/guilds/{guild_id}/onboarding"]["put"]["parameters"];
export type PutGuildsOnboardingRequestBody =
  Paths["/guilds/{guild_id}/onboarding"]["put"]["requestBody"];
export type PutGuildsOnboardingResponses =
  Paths["/guilds/{guild_id}/onboarding"]["put"]["responses"];

export type GetGuildPreviewParams = Paths["/guilds/{guild_id}/preview"]["get"]["parameters"];
export type GetGuildPreviewRequestBody = Paths["/guilds/{guild_id}/preview"]["get"]["requestBody"];
export type GetGuildPreviewResponses = Paths["/guilds/{guild_id}/preview"]["get"]["responses"];

export type PreviewPruneGuildParams = Paths["/guilds/{guild_id}/prune"]["get"]["parameters"];
export type PreviewPruneGuildRequestBody = Paths["/guilds/{guild_id}/prune"]["get"]["requestBody"];
export type PreviewPruneGuildResponses = Paths["/guilds/{guild_id}/prune"]["get"]["responses"];

export type PruneGuildParams = Paths["/guilds/{guild_id}/prune"]["post"]["parameters"];
export type PruneGuildRequestBody = Paths["/guilds/{guild_id}/prune"]["post"]["requestBody"];
export type PruneGuildResponses = Paths["/guilds/{guild_id}/prune"]["post"]["responses"];

export type ListGuildVoiceRegionsParams = Paths["/guilds/{guild_id}/regions"]["get"]["parameters"];
export type ListGuildVoiceRegionsRequestBody =
  Paths["/guilds/{guild_id}/regions"]["get"]["requestBody"];
export type ListGuildVoiceRegionsResponses =
  Paths["/guilds/{guild_id}/regions"]["get"]["responses"];

export type GetGuildJoinRequestsParams = Paths["/guilds/{guild_id}/requests"]["get"]["parameters"];
export type GetGuildJoinRequestsRequestBody =
  Paths["/guilds/{guild_id}/requests"]["get"]["requestBody"];
export type GetGuildJoinRequestsResponses =
  Paths["/guilds/{guild_id}/requests"]["get"]["responses"];

export type ActionGuildJoinRequestParams =
  Paths["/guilds/{guild_id}/requests/{request_id}"]["patch"]["parameters"];
export type ActionGuildJoinRequestRequestBody =
  Paths["/guilds/{guild_id}/requests/{request_id}"]["patch"]["requestBody"];
export type ActionGuildJoinRequestResponses =
  Paths["/guilds/{guild_id}/requests/{request_id}"]["patch"]["responses"];

export type ListGuildRolesParams = Paths["/guilds/{guild_id}/roles"]["get"]["parameters"];
export type ListGuildRolesRequestBody = Paths["/guilds/{guild_id}/roles"]["get"]["requestBody"];
export type ListGuildRolesResponses = Paths["/guilds/{guild_id}/roles"]["get"]["responses"];

export type CreateGuildRoleParams = Paths["/guilds/{guild_id}/roles"]["post"]["parameters"];
export type CreateGuildRoleRequestBody = Paths["/guilds/{guild_id}/roles"]["post"]["requestBody"];
export type CreateGuildRoleResponses = Paths["/guilds/{guild_id}/roles"]["post"]["responses"];

export type BulkUpdateGuildRolesParams = Paths["/guilds/{guild_id}/roles"]["patch"]["parameters"];
export type BulkUpdateGuildRolesRequestBody =
  Paths["/guilds/{guild_id}/roles"]["patch"]["requestBody"];
export type BulkUpdateGuildRolesResponses = Paths["/guilds/{guild_id}/roles"]["patch"]["responses"];

export type GuildRoleMemberCountsParams =
  Paths["/guilds/{guild_id}/roles/member-counts"]["get"]["parameters"];
export type GuildRoleMemberCountsRequestBody =
  Paths["/guilds/{guild_id}/roles/member-counts"]["get"]["requestBody"];
export type GuildRoleMemberCountsResponses =
  Paths["/guilds/{guild_id}/roles/member-counts"]["get"]["responses"];

export type GetGuildRoleParams = Paths["/guilds/{guild_id}/roles/{role_id}"]["get"]["parameters"];
export type GetGuildRoleRequestBody =
  Paths["/guilds/{guild_id}/roles/{role_id}"]["get"]["requestBody"];
export type GetGuildRoleResponses = Paths["/guilds/{guild_id}/roles/{role_id}"]["get"]["responses"];

export type DeleteGuildRoleParams =
  Paths["/guilds/{guild_id}/roles/{role_id}"]["delete"]["parameters"];
export type DeleteGuildRoleRequestBody =
  Paths["/guilds/{guild_id}/roles/{role_id}"]["delete"]["requestBody"];
export type DeleteGuildRoleResponses =
  Paths["/guilds/{guild_id}/roles/{role_id}"]["delete"]["responses"];

export type UpdateGuildRoleParams =
  Paths["/guilds/{guild_id}/roles/{role_id}"]["patch"]["parameters"];
export type UpdateGuildRoleRequestBody =
  Paths["/guilds/{guild_id}/roles/{role_id}"]["patch"]["requestBody"];
export type UpdateGuildRoleResponses =
  Paths["/guilds/{guild_id}/roles/{role_id}"]["patch"]["responses"];

export type ListGuildScheduledEventsParams =
  Paths["/guilds/{guild_id}/scheduled-events"]["get"]["parameters"];
export type ListGuildScheduledEventsRequestBody =
  Paths["/guilds/{guild_id}/scheduled-events"]["get"]["requestBody"];
export type ListGuildScheduledEventsResponses =
  Paths["/guilds/{guild_id}/scheduled-events"]["get"]["responses"];

export type CreateGuildScheduledEventParams =
  Paths["/guilds/{guild_id}/scheduled-events"]["post"]["parameters"];
export type CreateGuildScheduledEventRequestBody =
  Paths["/guilds/{guild_id}/scheduled-events"]["post"]["requestBody"];
export type CreateGuildScheduledEventResponses =
  Paths["/guilds/{guild_id}/scheduled-events"]["post"]["responses"];

export type GetGuildScheduledEventParams =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["get"]["parameters"];
export type GetGuildScheduledEventRequestBody =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["get"]["requestBody"];
export type GetGuildScheduledEventResponses =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["get"]["responses"];

export type DeleteGuildScheduledEventParams =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["delete"]["parameters"];
export type DeleteGuildScheduledEventRequestBody =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["delete"]["requestBody"];
export type DeleteGuildScheduledEventResponses =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["delete"]["responses"];

export type UpdateGuildScheduledEventParams =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["patch"]["parameters"];
export type UpdateGuildScheduledEventRequestBody =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["patch"]["requestBody"];
export type UpdateGuildScheduledEventResponses =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}"]["patch"]["responses"];

export type ListGuildScheduledEventUsersParams =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/users"]["get"]["parameters"];
export type ListGuildScheduledEventUsersRequestBody =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/users"]["get"]["requestBody"];
export type ListGuildScheduledEventUsersResponses =
  Paths["/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/users"]["get"]["responses"];

export type ListGuildSoundboardSoundsParams =
  Paths["/guilds/{guild_id}/soundboard-sounds"]["get"]["parameters"];
export type ListGuildSoundboardSoundsRequestBody =
  Paths["/guilds/{guild_id}/soundboard-sounds"]["get"]["requestBody"];
export type ListGuildSoundboardSoundsResponses =
  Paths["/guilds/{guild_id}/soundboard-sounds"]["get"]["responses"];

export type CreateGuildSoundboardSoundParams =
  Paths["/guilds/{guild_id}/soundboard-sounds"]["post"]["parameters"];
export type CreateGuildSoundboardSoundRequestBody =
  Paths["/guilds/{guild_id}/soundboard-sounds"]["post"]["requestBody"];
export type CreateGuildSoundboardSoundResponses =
  Paths["/guilds/{guild_id}/soundboard-sounds"]["post"]["responses"];

export type GetGuildSoundboardSoundParams =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["get"]["parameters"];
export type GetGuildSoundboardSoundRequestBody =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["get"]["requestBody"];
export type GetGuildSoundboardSoundResponses =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["get"]["responses"];

export type DeleteGuildSoundboardSoundParams =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["delete"]["parameters"];
export type DeleteGuildSoundboardSoundRequestBody =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["delete"]["requestBody"];
export type DeleteGuildSoundboardSoundResponses =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["delete"]["responses"];

export type UpdateGuildSoundboardSoundParams =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["patch"]["parameters"];
export type UpdateGuildSoundboardSoundRequestBody =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["patch"]["requestBody"];
export type UpdateGuildSoundboardSoundResponses =
  Paths["/guilds/{guild_id}/soundboard-sounds/{sound_id}"]["patch"]["responses"];

export type ListGuildStickersParams = Paths["/guilds/{guild_id}/stickers"]["get"]["parameters"];
export type ListGuildStickersRequestBody =
  Paths["/guilds/{guild_id}/stickers"]["get"]["requestBody"];
export type ListGuildStickersResponses = Paths["/guilds/{guild_id}/stickers"]["get"]["responses"];

export type CreateGuildStickerParams = Paths["/guilds/{guild_id}/stickers"]["post"]["parameters"];
export type CreateGuildStickerRequestBody =
  Paths["/guilds/{guild_id}/stickers"]["post"]["requestBody"];
export type CreateGuildStickerResponses = Paths["/guilds/{guild_id}/stickers"]["post"]["responses"];

export type GetGuildStickerParams =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["get"]["parameters"];
export type GetGuildStickerRequestBody =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["get"]["requestBody"];
export type GetGuildStickerResponses =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["get"]["responses"];

export type DeleteGuildStickerParams =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["delete"]["parameters"];
export type DeleteGuildStickerRequestBody =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["delete"]["requestBody"];
export type DeleteGuildStickerResponses =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["delete"]["responses"];

export type UpdateGuildStickerParams =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["patch"]["parameters"];
export type UpdateGuildStickerRequestBody =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["patch"]["requestBody"];
export type UpdateGuildStickerResponses =
  Paths["/guilds/{guild_id}/stickers/{sticker_id}"]["patch"]["responses"];

export type ListGuildTemplatesParams = Paths["/guilds/{guild_id}/templates"]["get"]["parameters"];
export type ListGuildTemplatesRequestBody =
  Paths["/guilds/{guild_id}/templates"]["get"]["requestBody"];
export type ListGuildTemplatesResponses = Paths["/guilds/{guild_id}/templates"]["get"]["responses"];

export type CreateGuildTemplateParams = Paths["/guilds/{guild_id}/templates"]["post"]["parameters"];
export type CreateGuildTemplateRequestBody =
  Paths["/guilds/{guild_id}/templates"]["post"]["requestBody"];
export type CreateGuildTemplateResponses =
  Paths["/guilds/{guild_id}/templates"]["post"]["responses"];

export type SyncGuildTemplateParams =
  Paths["/guilds/{guild_id}/templates/{code}"]["put"]["parameters"];
export type SyncGuildTemplateRequestBody =
  Paths["/guilds/{guild_id}/templates/{code}"]["put"]["requestBody"];
export type SyncGuildTemplateResponses =
  Paths["/guilds/{guild_id}/templates/{code}"]["put"]["responses"];

export type DeleteGuildTemplateParams =
  Paths["/guilds/{guild_id}/templates/{code}"]["delete"]["parameters"];
export type DeleteGuildTemplateRequestBody =
  Paths["/guilds/{guild_id}/templates/{code}"]["delete"]["requestBody"];
export type DeleteGuildTemplateResponses =
  Paths["/guilds/{guild_id}/templates/{code}"]["delete"]["responses"];

export type UpdateGuildTemplateParams =
  Paths["/guilds/{guild_id}/templates/{code}"]["patch"]["parameters"];
export type UpdateGuildTemplateRequestBody =
  Paths["/guilds/{guild_id}/templates/{code}"]["patch"]["requestBody"];
export type UpdateGuildTemplateResponses =
  Paths["/guilds/{guild_id}/templates/{code}"]["patch"]["responses"];

export type GetActiveGuildThreadsParams =
  Paths["/guilds/{guild_id}/threads/active"]["get"]["parameters"];
export type GetActiveGuildThreadsRequestBody =
  Paths["/guilds/{guild_id}/threads/active"]["get"]["requestBody"];
export type GetActiveGuildThreadsResponses =
  Paths["/guilds/{guild_id}/threads/active"]["get"]["responses"];

export type GetGuildVanityUrlParams = Paths["/guilds/{guild_id}/vanity-url"]["get"]["parameters"];
export type GetGuildVanityUrlRequestBody =
  Paths["/guilds/{guild_id}/vanity-url"]["get"]["requestBody"];
export type GetGuildVanityUrlResponses = Paths["/guilds/{guild_id}/vanity-url"]["get"]["responses"];

export type GetSelfVoiceStateParams =
  Paths["/guilds/{guild_id}/voice-states/@me"]["get"]["parameters"];
export type GetSelfVoiceStateRequestBody =
  Paths["/guilds/{guild_id}/voice-states/@me"]["get"]["requestBody"];
export type GetSelfVoiceStateResponses =
  Paths["/guilds/{guild_id}/voice-states/@me"]["get"]["responses"];

export type UpdateSelfVoiceStateParams =
  Paths["/guilds/{guild_id}/voice-states/@me"]["patch"]["parameters"];
export type UpdateSelfVoiceStateRequestBody =
  Paths["/guilds/{guild_id}/voice-states/@me"]["patch"]["requestBody"];
export type UpdateSelfVoiceStateResponses =
  Paths["/guilds/{guild_id}/voice-states/@me"]["patch"]["responses"];

export type GetVoiceStateParams =
  Paths["/guilds/{guild_id}/voice-states/{user_id}"]["get"]["parameters"];
export type GetVoiceStateRequestBody =
  Paths["/guilds/{guild_id}/voice-states/{user_id}"]["get"]["requestBody"];
export type GetVoiceStateResponses =
  Paths["/guilds/{guild_id}/voice-states/{user_id}"]["get"]["responses"];

export type UpdateVoiceStateParams =
  Paths["/guilds/{guild_id}/voice-states/{user_id}"]["patch"]["parameters"];
export type UpdateVoiceStateRequestBody =
  Paths["/guilds/{guild_id}/voice-states/{user_id}"]["patch"]["requestBody"];
export type UpdateVoiceStateResponses =
  Paths["/guilds/{guild_id}/voice-states/{user_id}"]["patch"]["responses"];

export type GetGuildWebhooksParams = Paths["/guilds/{guild_id}/webhooks"]["get"]["parameters"];
export type GetGuildWebhooksRequestBody =
  Paths["/guilds/{guild_id}/webhooks"]["get"]["requestBody"];
export type GetGuildWebhooksResponses = Paths["/guilds/{guild_id}/webhooks"]["get"]["responses"];

export type GetGuildWelcomeScreenParams =
  Paths["/guilds/{guild_id}/welcome-screen"]["get"]["parameters"];
export type GetGuildWelcomeScreenRequestBody =
  Paths["/guilds/{guild_id}/welcome-screen"]["get"]["requestBody"];
export type GetGuildWelcomeScreenResponses =
  Paths["/guilds/{guild_id}/welcome-screen"]["get"]["responses"];

export type UpdateGuildWelcomeScreenParams =
  Paths["/guilds/{guild_id}/welcome-screen"]["patch"]["parameters"];
export type UpdateGuildWelcomeScreenRequestBody =
  Paths["/guilds/{guild_id}/welcome-screen"]["patch"]["requestBody"];
export type UpdateGuildWelcomeScreenResponses =
  Paths["/guilds/{guild_id}/welcome-screen"]["patch"]["responses"];

export type GetGuildWidgetSettingsParams = Paths["/guilds/{guild_id}/widget"]["get"]["parameters"];
export type GetGuildWidgetSettingsRequestBody =
  Paths["/guilds/{guild_id}/widget"]["get"]["requestBody"];
export type GetGuildWidgetSettingsResponses =
  Paths["/guilds/{guild_id}/widget"]["get"]["responses"];

export type UpdateGuildWidgetSettingsParams =
  Paths["/guilds/{guild_id}/widget"]["patch"]["parameters"];
export type UpdateGuildWidgetSettingsRequestBody =
  Paths["/guilds/{guild_id}/widget"]["patch"]["requestBody"];
export type UpdateGuildWidgetSettingsResponses =
  Paths["/guilds/{guild_id}/widget"]["patch"]["responses"];

export type GetGuildWidgetParams = Paths["/guilds/{guild_id}/widget.json"]["get"]["parameters"];
export type GetGuildWidgetRequestBody =
  Paths["/guilds/{guild_id}/widget.json"]["get"]["requestBody"];
export type GetGuildWidgetResponses = Paths["/guilds/{guild_id}/widget.json"]["get"]["responses"];

export type GetGuildWidgetPngParams = Paths["/guilds/{guild_id}/widget.png"]["get"]["parameters"];
export type GetGuildWidgetPngRequestBody =
  Paths["/guilds/{guild_id}/widget.png"]["get"]["requestBody"];
export type GetGuildWidgetPngResponses = Paths["/guilds/{guild_id}/widget.png"]["get"]["responses"];

export type CreateInteractionResponseParams =
  Paths["/interactions/{interaction_id}/{interaction_token}/callback"]["post"]["parameters"];
export type CreateInteractionResponseRequestBody =
  Paths["/interactions/{interaction_id}/{interaction_token}/callback"]["post"]["requestBody"];
export type CreateInteractionResponseResponses =
  Paths["/interactions/{interaction_id}/{interaction_token}/callback"]["post"]["responses"];

export type InviteResolveParams = Paths["/invites/{code}"]["get"]["parameters"];
export type InviteResolveRequestBody = Paths["/invites/{code}"]["get"]["requestBody"];
export type InviteResolveResponses = Paths["/invites/{code}"]["get"]["responses"];

export type InviteRevokeParams = Paths["/invites/{code}"]["delete"]["parameters"];
export type InviteRevokeRequestBody = Paths["/invites/{code}"]["delete"]["requestBody"];
export type InviteRevokeResponses = Paths["/invites/{code}"]["delete"]["responses"];

export type GetInviteTargetUsersParams = Paths["/invites/{code}/target-users"]["get"]["parameters"];
export type GetInviteTargetUsersRequestBody =
  Paths["/invites/{code}/target-users"]["get"]["requestBody"];
export type GetInviteTargetUsersResponses =
  Paths["/invites/{code}/target-users"]["get"]["responses"];

export type UpdateInviteTargetUsersParams =
  Paths["/invites/{code}/target-users"]["put"]["parameters"];
export type UpdateInviteTargetUsersRequestBody =
  Paths["/invites/{code}/target-users"]["put"]["requestBody"];
export type UpdateInviteTargetUsersResponses =
  Paths["/invites/{code}/target-users"]["put"]["responses"];

export type GetInviteTargetUsersJobStatusParams =
  Paths["/invites/{code}/target-users/job-status"]["get"]["parameters"];
export type GetInviteTargetUsersJobStatusRequestBody =
  Paths["/invites/{code}/target-users/job-status"]["get"]["requestBody"];
export type GetInviteTargetUsersJobStatusResponses =
  Paths["/invites/{code}/target-users/job-status"]["get"]["responses"];

export type CreateOrJoinLobbyParams = Paths["/lobbies"]["put"]["parameters"];
export type CreateOrJoinLobbyRequestBody = Paths["/lobbies"]["put"]["requestBody"];
export type CreateOrJoinLobbyResponses = Paths["/lobbies"]["put"]["responses"];

export type CreateLobbyParams = Paths["/lobbies"]["post"]["parameters"];
export type CreateLobbyRequestBody = Paths["/lobbies"]["post"]["requestBody"];
export type CreateLobbyResponses = Paths["/lobbies"]["post"]["responses"];

export type GetLobbyParams = Paths["/lobbies/{lobby_id}"]["get"]["parameters"];
export type GetLobbyRequestBody = Paths["/lobbies/{lobby_id}"]["get"]["requestBody"];
export type GetLobbyResponses = Paths["/lobbies/{lobby_id}"]["get"]["responses"];

export type EditLobbyParams = Paths["/lobbies/{lobby_id}"]["patch"]["parameters"];
export type EditLobbyRequestBody = Paths["/lobbies/{lobby_id}"]["patch"]["requestBody"];
export type EditLobbyResponses = Paths["/lobbies/{lobby_id}"]["patch"]["responses"];

export type EditLobbyChannelLinkParams =
  Paths["/lobbies/{lobby_id}/channel-linking"]["patch"]["parameters"];
export type EditLobbyChannelLinkRequestBody =
  Paths["/lobbies/{lobby_id}/channel-linking"]["patch"]["requestBody"];
export type EditLobbyChannelLinkResponses =
  Paths["/lobbies/{lobby_id}/channel-linking"]["patch"]["responses"];

export type LeaveLobbyParams = Paths["/lobbies/{lobby_id}/members/@me"]["delete"]["parameters"];
export type LeaveLobbyRequestBody =
  Paths["/lobbies/{lobby_id}/members/@me"]["delete"]["requestBody"];
export type LeaveLobbyResponses = Paths["/lobbies/{lobby_id}/members/@me"]["delete"]["responses"];

export type CreateLinkedLobbyGuildInviteForSelfParams =
  Paths["/lobbies/{lobby_id}/members/@me/invites"]["post"]["parameters"];
export type CreateLinkedLobbyGuildInviteForSelfRequestBody =
  Paths["/lobbies/{lobby_id}/members/@me/invites"]["post"]["requestBody"];
export type CreateLinkedLobbyGuildInviteForSelfResponses =
  Paths["/lobbies/{lobby_id}/members/@me/invites"]["post"]["responses"];

export type BulkUpdateLobbyMembersParams =
  Paths["/lobbies/{lobby_id}/members/bulk"]["post"]["parameters"];
export type BulkUpdateLobbyMembersRequestBody =
  Paths["/lobbies/{lobby_id}/members/bulk"]["post"]["requestBody"];
export type BulkUpdateLobbyMembersResponses =
  Paths["/lobbies/{lobby_id}/members/bulk"]["post"]["responses"];

export type AddLobbyMemberParams =
  Paths["/lobbies/{lobby_id}/members/{user_id}"]["put"]["parameters"];
export type AddLobbyMemberRequestBody =
  Paths["/lobbies/{lobby_id}/members/{user_id}"]["put"]["requestBody"];
export type AddLobbyMemberResponses =
  Paths["/lobbies/{lobby_id}/members/{user_id}"]["put"]["responses"];

export type DeleteLobbyMemberParams =
  Paths["/lobbies/{lobby_id}/members/{user_id}"]["delete"]["parameters"];
export type DeleteLobbyMemberRequestBody =
  Paths["/lobbies/{lobby_id}/members/{user_id}"]["delete"]["requestBody"];
export type DeleteLobbyMemberResponses =
  Paths["/lobbies/{lobby_id}/members/{user_id}"]["delete"]["responses"];

export type CreateLinkedLobbyGuildInviteForUserParams =
  Paths["/lobbies/{lobby_id}/members/{user_id}/invites"]["post"]["parameters"];
export type CreateLinkedLobbyGuildInviteForUserRequestBody =
  Paths["/lobbies/{lobby_id}/members/{user_id}/invites"]["post"]["requestBody"];
export type CreateLinkedLobbyGuildInviteForUserResponses =
  Paths["/lobbies/{lobby_id}/members/{user_id}/invites"]["post"]["responses"];

export type GetLobbyMessagesParams = Paths["/lobbies/{lobby_id}/messages"]["get"]["parameters"];
export type GetLobbyMessagesRequestBody =
  Paths["/lobbies/{lobby_id}/messages"]["get"]["requestBody"];
export type GetLobbyMessagesResponses = Paths["/lobbies/{lobby_id}/messages"]["get"]["responses"];

export type CreateLobbyMessageParams = Paths["/lobbies/{lobby_id}/messages"]["post"]["parameters"];
export type CreateLobbyMessageRequestBody =
  Paths["/lobbies/{lobby_id}/messages"]["post"]["requestBody"];
export type CreateLobbyMessageResponses =
  Paths["/lobbies/{lobby_id}/messages"]["post"]["responses"];

export type UpdateLobbyMessageExternalModerationMetadataParams =
  Paths["/lobbies/{lobby_id}/messages/{message_id}/moderation-metadata"]["put"]["parameters"];
export type UpdateLobbyMessageExternalModerationMetadataRequestBody =
  Paths["/lobbies/{lobby_id}/messages/{message_id}/moderation-metadata"]["put"]["requestBody"];
export type UpdateLobbyMessageExternalModerationMetadataResponses =
  Paths["/lobbies/{lobby_id}/messages/{message_id}/moderation-metadata"]["put"]["responses"];

export type GetMyOauth2AuthorizationParams = Paths["/oauth2/@me"]["get"]["parameters"];
export type GetMyOauth2AuthorizationRequestBody = Paths["/oauth2/@me"]["get"]["requestBody"];
export type GetMyOauth2AuthorizationResponses = Paths["/oauth2/@me"]["get"]["responses"];

export type GetMyOauth2ApplicationParams = Paths["/oauth2/applications/@me"]["get"]["parameters"];
export type GetMyOauth2ApplicationRequestBody =
  Paths["/oauth2/applications/@me"]["get"]["requestBody"];
export type GetMyOauth2ApplicationResponses = Paths["/oauth2/applications/@me"]["get"]["responses"];

export type GetPublicKeysParams = Paths["/oauth2/keys"]["get"]["parameters"];
export type GetPublicKeysRequestBody = Paths["/oauth2/keys"]["get"]["requestBody"];
export type GetPublicKeysResponses = Paths["/oauth2/keys"]["get"]["responses"];

export type GetOpenidConnectUserinfoParams = Paths["/oauth2/userinfo"]["get"]["parameters"];
export type GetOpenidConnectUserinfoRequestBody = Paths["/oauth2/userinfo"]["get"]["requestBody"];
export type GetOpenidConnectUserinfoResponses = Paths["/oauth2/userinfo"]["get"]["responses"];

export type UpdateUserMessageExternalModerationMetadataParams =
  Paths["/partner-sdk/dms/{user_id_1}/{user_id_2}/messages/{message_id}/moderation-metadata"]["put"]["parameters"];
export type UpdateUserMessageExternalModerationMetadataRequestBody =
  Paths["/partner-sdk/dms/{user_id_1}/{user_id_2}/messages/{message_id}/moderation-metadata"]["put"]["requestBody"];
export type UpdateUserMessageExternalModerationMetadataResponses =
  Paths["/partner-sdk/dms/{user_id_1}/{user_id_2}/messages/{message_id}/moderation-metadata"]["put"]["responses"];

export type PartnerSdkUnmergeProvisionalAccountParams =
  Paths["/partner-sdk/provisional-accounts/unmerge"]["post"]["parameters"];
export type PartnerSdkUnmergeProvisionalAccountRequestBody =
  Paths["/partner-sdk/provisional-accounts/unmerge"]["post"]["requestBody"];
export type PartnerSdkUnmergeProvisionalAccountResponses =
  Paths["/partner-sdk/provisional-accounts/unmerge"]["post"]["responses"];

export type BotPartnerSdkUnmergeProvisionalAccountParams =
  Paths["/partner-sdk/provisional-accounts/unmerge/bot"]["post"]["parameters"];
export type BotPartnerSdkUnmergeProvisionalAccountRequestBody =
  Paths["/partner-sdk/provisional-accounts/unmerge/bot"]["post"]["requestBody"];
export type BotPartnerSdkUnmergeProvisionalAccountResponses =
  Paths["/partner-sdk/provisional-accounts/unmerge/bot"]["post"]["responses"];

export type PartnerSdkTokenParams = Paths["/partner-sdk/token"]["post"]["parameters"];
export type PartnerSdkTokenRequestBody = Paths["/partner-sdk/token"]["post"]["requestBody"];
export type PartnerSdkTokenResponses = Paths["/partner-sdk/token"]["post"]["responses"];

export type BotPartnerSdkTokenParams = Paths["/partner-sdk/token/bot"]["post"]["parameters"];
export type BotPartnerSdkTokenRequestBody = Paths["/partner-sdk/token/bot"]["post"]["requestBody"];
export type BotPartnerSdkTokenResponses = Paths["/partner-sdk/token/bot"]["post"]["responses"];

export type GetSoundboardDefaultSoundsParams =
  Paths["/soundboard-default-sounds"]["get"]["parameters"];
export type GetSoundboardDefaultSoundsRequestBody =
  Paths["/soundboard-default-sounds"]["get"]["requestBody"];
export type GetSoundboardDefaultSoundsResponses =
  Paths["/soundboard-default-sounds"]["get"]["responses"];

export type CreateStageInstanceParams = Paths["/stage-instances"]["post"]["parameters"];
export type CreateStageInstanceRequestBody = Paths["/stage-instances"]["post"]["requestBody"];
export type CreateStageInstanceResponses = Paths["/stage-instances"]["post"]["responses"];

export type GetStageInstanceParams = Paths["/stage-instances/{channel_id}"]["get"]["parameters"];
export type GetStageInstanceRequestBody =
  Paths["/stage-instances/{channel_id}"]["get"]["requestBody"];
export type GetStageInstanceResponses = Paths["/stage-instances/{channel_id}"]["get"]["responses"];

export type DeleteStageInstanceParams =
  Paths["/stage-instances/{channel_id}"]["delete"]["parameters"];
export type DeleteStageInstanceRequestBody =
  Paths["/stage-instances/{channel_id}"]["delete"]["requestBody"];
export type DeleteStageInstanceResponses =
  Paths["/stage-instances/{channel_id}"]["delete"]["responses"];

export type UpdateStageInstanceParams =
  Paths["/stage-instances/{channel_id}"]["patch"]["parameters"];
export type UpdateStageInstanceRequestBody =
  Paths["/stage-instances/{channel_id}"]["patch"]["requestBody"];
export type UpdateStageInstanceResponses =
  Paths["/stage-instances/{channel_id}"]["patch"]["responses"];

export type ListStickerPacksParams = Paths["/sticker-packs"]["get"]["parameters"];
export type ListStickerPacksRequestBody = Paths["/sticker-packs"]["get"]["requestBody"];
export type ListStickerPacksResponses = Paths["/sticker-packs"]["get"]["responses"];

export type GetStickerPackParams = Paths["/sticker-packs/{pack_id}"]["get"]["parameters"];
export type GetStickerPackRequestBody = Paths["/sticker-packs/{pack_id}"]["get"]["requestBody"];
export type GetStickerPackResponses = Paths["/sticker-packs/{pack_id}"]["get"]["responses"];

export type GetStickerParams = Paths["/stickers/{sticker_id}"]["get"]["parameters"];
export type GetStickerRequestBody = Paths["/stickers/{sticker_id}"]["get"]["requestBody"];
export type GetStickerResponses = Paths["/stickers/{sticker_id}"]["get"]["responses"];

export type GetMyUserParams = Paths["/users/@me"]["get"]["parameters"];
export type GetMyUserRequestBody = Paths["/users/@me"]["get"]["requestBody"];
export type GetMyUserResponses = Paths["/users/@me"]["get"]["responses"];

export type UpdateMyUserParams = Paths["/users/@me"]["patch"]["parameters"];
export type UpdateMyUserRequestBody = Paths["/users/@me"]["patch"]["requestBody"];
export type UpdateMyUserResponses = Paths["/users/@me"]["patch"]["responses"];

export type GetCurrentUserApplicationEntitlementsParams =
  Paths["/users/@me/applications/{application_id}/entitlements"]["get"]["parameters"];
export type GetCurrentUserApplicationEntitlementsRequestBody =
  Paths["/users/@me/applications/{application_id}/entitlements"]["get"]["requestBody"];
export type GetCurrentUserApplicationEntitlementsResponses =
  Paths["/users/@me/applications/{application_id}/entitlements"]["get"]["responses"];

export type GetApplicationUserRoleConnectionParams =
  Paths["/users/@me/applications/{application_id}/role-connection"]["get"]["parameters"];
export type GetApplicationUserRoleConnectionRequestBody =
  Paths["/users/@me/applications/{application_id}/role-connection"]["get"]["requestBody"];
export type GetApplicationUserRoleConnectionResponses =
  Paths["/users/@me/applications/{application_id}/role-connection"]["get"]["responses"];

export type UpdateApplicationUserRoleConnectionParams =
  Paths["/users/@me/applications/{application_id}/role-connection"]["put"]["parameters"];
export type UpdateApplicationUserRoleConnectionRequestBody =
  Paths["/users/@me/applications/{application_id}/role-connection"]["put"]["requestBody"];
export type UpdateApplicationUserRoleConnectionResponses =
  Paths["/users/@me/applications/{application_id}/role-connection"]["put"]["responses"];

export type DeleteApplicationUserRoleConnectionParams =
  Paths["/users/@me/applications/{application_id}/role-connection"]["delete"]["parameters"];
export type DeleteApplicationUserRoleConnectionRequestBody =
  Paths["/users/@me/applications/{application_id}/role-connection"]["delete"]["requestBody"];
export type DeleteApplicationUserRoleConnectionResponses =
  Paths["/users/@me/applications/{application_id}/role-connection"]["delete"]["responses"];

export type CreateDmParams = Paths["/users/@me/channels"]["post"]["parameters"];
export type CreateDmRequestBody = Paths["/users/@me/channels"]["post"]["requestBody"];
export type CreateDmResponses = Paths["/users/@me/channels"]["post"]["responses"];

export type ListMyConnectionsParams = Paths["/users/@me/connections"]["get"]["parameters"];
export type ListMyConnectionsRequestBody = Paths["/users/@me/connections"]["get"]["requestBody"];
export type ListMyConnectionsResponses = Paths["/users/@me/connections"]["get"]["responses"];

export type ListMyGuildsParams = Paths["/users/@me/guilds"]["get"]["parameters"];
export type ListMyGuildsRequestBody = Paths["/users/@me/guilds"]["get"]["requestBody"];
export type ListMyGuildsResponses = Paths["/users/@me/guilds"]["get"]["responses"];

export type LeaveGuildParams = Paths["/users/@me/guilds/{guild_id}"]["delete"]["parameters"];
export type LeaveGuildRequestBody = Paths["/users/@me/guilds/{guild_id}"]["delete"]["requestBody"];
export type LeaveGuildResponses = Paths["/users/@me/guilds/{guild_id}"]["delete"]["responses"];

export type GetMyGuildMemberParams =
  Paths["/users/@me/guilds/{guild_id}/member"]["get"]["parameters"];
export type GetMyGuildMemberRequestBody =
  Paths["/users/@me/guilds/{guild_id}/member"]["get"]["requestBody"];
export type GetMyGuildMemberResponses =
  Paths["/users/@me/guilds/{guild_id}/member"]["get"]["responses"];

export type GetUserParams = Paths["/users/{user_id}"]["get"]["parameters"];
export type GetUserRequestBody = Paths["/users/{user_id}"]["get"]["requestBody"];
export type GetUserResponses = Paths["/users/{user_id}"]["get"]["responses"];

export type ListVoiceRegionsParams = Paths["/voice/regions"]["get"]["parameters"];
export type ListVoiceRegionsRequestBody = Paths["/voice/regions"]["get"]["requestBody"];
export type ListVoiceRegionsResponses = Paths["/voice/regions"]["get"]["responses"];

export type GetWebhookParams = Paths["/webhooks/{webhook_id}"]["get"]["parameters"];
export type GetWebhookRequestBody = Paths["/webhooks/{webhook_id}"]["get"]["requestBody"];
export type GetWebhookResponses = Paths["/webhooks/{webhook_id}"]["get"]["responses"];

export type DeleteWebhookParams = Paths["/webhooks/{webhook_id}"]["delete"]["parameters"];
export type DeleteWebhookRequestBody = Paths["/webhooks/{webhook_id}"]["delete"]["requestBody"];
export type DeleteWebhookResponses = Paths["/webhooks/{webhook_id}"]["delete"]["responses"];

export type UpdateWebhookParams = Paths["/webhooks/{webhook_id}"]["patch"]["parameters"];
export type UpdateWebhookRequestBody = Paths["/webhooks/{webhook_id}"]["patch"]["requestBody"];
export type UpdateWebhookResponses = Paths["/webhooks/{webhook_id}"]["patch"]["responses"];

export type GetWebhookByTokenParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["get"]["parameters"];
export type GetWebhookByTokenRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["get"]["requestBody"];
export type GetWebhookByTokenResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["get"]["responses"];

export type ExecuteWebhookParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["post"]["parameters"];
export type ExecuteWebhookRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["post"]["requestBody"];
export type ExecuteWebhookResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["post"]["responses"];

export type DeleteWebhookByTokenParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["delete"]["parameters"];
export type DeleteWebhookByTokenRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["delete"]["requestBody"];
export type DeleteWebhookByTokenResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["delete"]["responses"];

export type UpdateWebhookByTokenParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["patch"]["parameters"];
export type UpdateWebhookByTokenRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["patch"]["requestBody"];
export type UpdateWebhookByTokenResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}"]["patch"]["responses"];

export type ExecuteGithubCompatibleWebhookParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}/github"]["post"]["parameters"];
export type ExecuteGithubCompatibleWebhookRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}/github"]["post"]["requestBody"];
export type ExecuteGithubCompatibleWebhookResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}/github"]["post"]["responses"];

export type GetOriginalWebhookMessageParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["get"]["parameters"];
export type GetOriginalWebhookMessageRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["get"]["requestBody"];
export type GetOriginalWebhookMessageResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["get"]["responses"];

export type DeleteOriginalWebhookMessageParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["delete"]["parameters"];
export type DeleteOriginalWebhookMessageRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["delete"]["requestBody"];
export type DeleteOriginalWebhookMessageResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["delete"]["responses"];

export type UpdateOriginalWebhookMessageParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["patch"]["parameters"];
export type UpdateOriginalWebhookMessageRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["patch"]["requestBody"];
export type UpdateOriginalWebhookMessageResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/@original"]["patch"]["responses"];

export type GetWebhookMessageParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["get"]["parameters"];
export type GetWebhookMessageRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["get"]["requestBody"];
export type GetWebhookMessageResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["get"]["responses"];

export type DeleteWebhookMessageParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["delete"]["parameters"];
export type DeleteWebhookMessageRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["delete"]["requestBody"];
export type DeleteWebhookMessageResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["delete"]["responses"];

export type UpdateWebhookMessageParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["patch"]["parameters"];
export type UpdateWebhookMessageRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["patch"]["requestBody"];
export type UpdateWebhookMessageResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}/messages/{message_id}"]["patch"]["responses"];

export type ExecuteSlackCompatibleWebhookParams =
  Paths["/webhooks/{webhook_id}/{webhook_token}/slack"]["post"]["parameters"];
export type ExecuteSlackCompatibleWebhookRequestBody =
  Paths["/webhooks/{webhook_id}/{webhook_token}/slack"]["post"]["requestBody"];
export type ExecuteSlackCompatibleWebhookResponses =
  Paths["/webhooks/{webhook_id}/{webhook_token}/slack"]["post"]["responses"];
