dressed
Version:
A sleek, serverless-ready Discord bot framework.
540 lines • 92.1 kB
TypeScript
import { type APIGuildMember, type APIMessage, type APIThreadChannel, type RESTDeleteAPIChannelResult, type RESTDeleteAPIGuildTemplateResult, type RESTDeleteAPIInviteResult, type RESTGetAPIApplicationCommandPermissionsResult, type RESTGetAPIApplicationCommandResult, type RESTGetAPIApplicationCommandsQuery, type RESTGetAPIApplicationCommandsResult, type RESTGetAPIApplicationEmojiResult, type RESTGetAPIApplicationEmojisResult, type RESTGetAPIApplicationGuildCommandResult, type RESTGetAPIApplicationGuildCommandsQuery, type RESTGetAPIApplicationGuildCommandsResult, type RESTGetAPIApplicationRoleConnectionMetadataResult, type RESTGetAPIAuditLogQuery, type RESTGetAPIAuditLogResult, type RESTGetAPIAutoModerationRuleResult, type RESTGetAPIAutoModerationRulesResult, type RESTGetAPIChannelInvitesResult, type RESTGetAPIChannelMessageReactionUsersQuery, type RESTGetAPIChannelMessageReactionUsersResult, type RESTGetAPIChannelMessageResult, type RESTGetAPIChannelMessagesPinsQuery, type RESTGetAPIChannelMessagesPinsResult, type RESTGetAPIChannelMessagesQuery, type RESTGetAPIChannelMessagesResult, type RESTGetAPIChannelPinsResult, type RESTGetAPIChannelResult, type RESTGetAPIChannelThreadMemberQuery, type RESTGetAPIChannelThreadMemberResult, type RESTGetAPIChannelThreadMembersQuery, type RESTGetAPIChannelThreadMembersResult, type RESTGetAPIChannelThreadsArchivedQuery, type RESTGetAPIChannelUsersThreadsArchivedResult, type RESTGetAPIChannelWebhooksResult, type RESTGetAPICurrentUserApplicationRoleConnectionResult, type RESTGetAPICurrentUserConnectionsResult, type RESTGetAPICurrentUserGuildsQuery, type RESTGetAPICurrentUserGuildsResult, type RESTGetAPIEntitlementResult, type RESTGetAPIEntitlementsQuery, type RESTGetAPIEntitlementsResult, type RESTGetAPIGatewayBotResult, type RESTGetAPIGatewayResult, type RESTGetAPIGuildApplicationCommandsPermissionsResult, type RESTGetAPIGuildBanResult, type RESTGetAPIGuildBansQuery, type RESTGetAPIGuildBansResult, type RESTGetAPIGuildChannelsResult, type RESTGetAPIGuildEmojiResult, type RESTGetAPIGuildEmojisResult, type RESTGetAPIGuildIntegrationsResult, type RESTGetAPIGuildInvitesResult, type RESTGetAPIGuildMemberResult, type RESTGetAPIGuildMembersQuery, type RESTGetAPIGuildMembersResult, type RESTGetAPIGuildMembersSearchQuery, type RESTGetAPIGuildMembersSearchResult, type RESTGetAPIGuildOnboardingResult, type RESTGetAPIGuildPreviewResult, type RESTGetAPIGuildPruneCountQuery, type RESTGetAPIGuildPruneCountResult, type RESTGetAPIGuildQuery, type RESTGetAPIGuildResult, type RESTGetAPIGuildRoleResult, type RESTGetAPIGuildRolesResult, type RESTGetAPIGuildScheduledEventQuery, type RESTGetAPIGuildScheduledEventResult, type RESTGetAPIGuildScheduledEventsQuery, type RESTGetAPIGuildScheduledEventsResult, type RESTGetAPIGuildScheduledEventUsersQuery, type RESTGetAPIGuildScheduledEventUsersResult, type RESTGetAPIGuildSoundboardSoundResult, type RESTGetAPIGuildStickerResult, type RESTGetAPIGuildStickersResult, type RESTGetAPIGuildTemplatesResult, type RESTGetAPIGuildThreadsResult, type RESTGetAPIGuildVanityUrlResult, type RESTGetAPIGuildVoiceRegionsResult, type RESTGetAPIGuildVoiceStateUserResult, type RESTGetAPIGuildWebhooksResult, type RESTGetAPIGuildWelcomeScreenResult, type RESTGetAPIGuildWidgetImageQuery, type RESTGetAPIGuildWidgetImageResult, type RESTGetAPIGuildWidgetJSONResult, type RESTGetAPIGuildWidgetSettingsResult, type RESTGetAPIInviteQuery, type RESTGetAPIInviteResult, type RESTGetAPIPollAnswerVotersQuery, type RESTGetAPIPollAnswerVotersResult, type RESTGetAPISKUSubscriptionResult, type RESTGetAPISKUSubscriptionsQuery, type RESTGetAPISKUSubscriptionsResult, type RESTGetAPISKUsResult, type RESTGetAPISoundboardDefaultSoundsResult, type RESTGetAPIStageInstanceResult, type RESTGetAPIStickerPackResult, type RESTGetAPIStickerResult, type RESTGetAPITemplateResult, type RESTGetAPIUserResult, type RESTGetAPIVoiceRegionsResult, type RESTGetAPIWebhookResult, type RESTGetAPIWebhookWithTokenMessageQuery, type RESTGetAPIWebhookWithTokenMessageResult, type RESTGetAPIWebhookWithTokenResult, type RESTGetCurrentApplicationResult, type RESTGetStickerPacksResult, type RESTPatchAPIApplicationCommandJSONBody, type RESTPatchAPIApplicationCommandResult, type RESTPatchAPIApplicationEmojiJSONBody, type RESTPatchAPIApplicationEmojiResult, type RESTPatchAPIApplicationGuildCommandJSONBody, type RESTPatchAPIApplicationGuildCommandResult, type RESTPatchAPIAutoModerationRuleJSONBody, type RESTPatchAPIAutoModerationRuleResult, type RESTPatchAPIChannelJSONBody, type RESTPatchAPIChannelMessageJSONBody, type RESTPatchAPIChannelMessageResult, type RESTPatchAPIChannelResult, type RESTPatchAPICurrentGuildMemberJSONBody, type RESTPatchAPICurrentUserJSONBody, type RESTPatchAPICurrentUserResult, type RESTPatchAPIGuildChannelPositionsJSONBody, type RESTPatchAPIGuildEmojiJSONBody, type RESTPatchAPIGuildEmojiResult, type RESTPatchAPIGuildJSONBody, type RESTPatchAPIGuildMemberJSONBody, type RESTPatchAPIGuildMemberResult, type RESTPatchAPIGuildResult, type RESTPatchAPIGuildRoleJSONBody, type RESTPatchAPIGuildRolePositionsJSONBody, type RESTPatchAPIGuildRolePositionsResult, type RESTPatchAPIGuildRoleResult, type RESTPatchAPIGuildScheduledEventJSONBody, type RESTPatchAPIGuildScheduledEventResult, type RESTPatchAPIGuildSoundboardSoundJSONBody, type RESTPatchAPIGuildSoundboardSoundResult, type RESTPatchAPIGuildStickerJSONBody, type RESTPatchAPIGuildStickerResult, type RESTPatchAPIGuildTemplateJSONBody, type RESTPatchAPIGuildTemplateResult, type RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody, type RESTPatchAPIGuildWelcomeScreenJSONBody, type RESTPatchAPIGuildWelcomeScreenResult, type RESTPatchAPIGuildWidgetSettingsJSONBody, type RESTPatchAPIGuildWidgetSettingsResult, type RESTPatchAPIStageInstanceJSONBody, type RESTPatchAPIStageInstanceResult, type RESTPatchAPIWebhookJSONBody, type RESTPatchAPIWebhookResult, type RESTPatchAPIWebhookWithTokenJSONBody, type RESTPatchAPIWebhookWithTokenMessageJSONBody, type RESTPatchAPIWebhookWithTokenMessageQuery, type RESTPatchAPIWebhookWithTokenMessageResult, type RESTPatchAPIWebhookWithTokenResult, type RESTPatchCurrentApplicationJSONBody, type RESTPatchCurrentApplicationResult, type RESTPostAPIApplicationCommandsJSONBody, type RESTPostAPIApplicationCommandsResult, type RESTPostAPIApplicationEmojiJSONBody, type RESTPostAPIApplicationEmojiResult, type RESTPostAPIApplicationGuildCommandsJSONBody, type RESTPostAPIApplicationGuildCommandsResult, type RESTPostAPIAutoModerationRuleJSONBody, type RESTPostAPIAutoModerationRuleResult, type RESTPostAPIChannelFollowersJSONBody, type RESTPostAPIChannelFollowersResult, type RESTPostAPIChannelInviteJSONBody, type RESTPostAPIChannelInviteResult, type RESTPostAPIChannelMessageCrosspostResult, type RESTPostAPIChannelMessageJSONBody, type RESTPostAPIChannelMessageResult, type RESTPostAPIChannelMessagesBulkDeleteJSONBody, type RESTPostAPIChannelThreadsJSONBody, type RESTPostAPIChannelThreadsResult, type RESTPostAPIChannelWebhookJSONBody, type RESTPostAPIChannelWebhookResult, type RESTPostAPICurrentUserCreateDMChannelResult, type RESTPostAPIEntitlementJSONBody, type RESTPostAPIEntitlementResult, type RESTPostAPIGuildBulkBanJSONBody, type RESTPostAPIGuildBulkBanResult, type RESTPostAPIGuildChannelJSONBody, type RESTPostAPIGuildChannelResult, type RESTPostAPIGuildEmojiJSONBody, type RESTPostAPIGuildEmojiResult, type RESTPostAPIGuildForumThreadsJSONBody, type RESTPostAPIGuildPruneJSONBody, type RESTPostAPIGuildPruneResult, type RESTPostAPIGuildRoleJSONBody, type RESTPostAPIGuildRoleResult, type RESTPostAPIGuildScheduledEventJSONBody, type RESTPostAPIGuildScheduledEventResult, type RESTPostAPIGuildSoundboardSoundJSONBody, type RESTPostAPIGuildSoundboardSoundResult, type RESTPostAPIGuildStickerFormDataBody, type RESTPostAPIGuildStickerResult, type RESTPostAPIGuildsJSONBody, type RESTPostAPIGuildsMFAJSONBody, type RESTPostAPIGuildsMFAResult, type RESTPostAPIGuildsResult, type RESTPostAPIGuildTemplatesJSONBody, type RESTPostAPIGuildTemplatesResult, type RESTPostAPIPollExpireResult, type RESTPostAPISendSoundboardSoundResult, type RESTPostAPISoundboardSendSoundJSONBody, type RESTPostAPIStageInstanceJSONBody, type RESTPostAPIStageInstanceResult, type RESTPostAPITemplateCreateGuildJSONBody, type RESTPostAPITemplateCreateGuildResult, type RESTPostAPIWebhookWithTokenJSONBody, type RESTPostAPIWebhookWithTokenQuery, type RESTPostAPIWebhookWithTokenWaitResult, type RESTPutAPIApplicationCommandPermissionsJSONBody, type RESTPutAPIApplicationCommandPermissionsResult, type RESTPutAPIApplicationCommandsJSONBody, type RESTPutAPIApplicationCommandsResult, type RESTPutAPIApplicationGuildCommandsJSONBody, type RESTPutAPIApplicationGuildCommandsResult, type RESTPutAPIApplicationRoleConnectionMetadataResult, type RESTPutAPICurrentUserApplicationRoleConnectionJSONBody, type RESTPutAPICurrentUserApplicationRoleConnectionResult, type RESTPutAPIGuildBanJSONBody, type RESTPutAPIGuildIncidentActionsJSONBody, type RESTPutAPIGuildMemberJSONBody, type RESTPutAPIGuildMemberResult, type RESTPutAPIGuildOnboardingJSONBody, type RESTPutAPIGuildOnboardingResult, type RESTPutAPIGuildTemplateSyncResult, type Snowflake, type ThreadChannelType } from "discord-api-types/v10";
import type { RawFile } from "../types/file.ts";
import { type CallConfig } from "../utils/call-discord.ts";
/**
* Fetch all of the global commands for your application.
* @warn The objects returned by this endpoint may be augmented with [additional fields if localization is active](https://discord.com/developers/docs/interactions/application-commands#retrieving-localized-commands).
* @see https://discord.com/developers/docs/interactions/application-commands#get-global-application-commands
*/
export declare function listGlobalCommands(params?: RESTGetAPIApplicationCommandsQuery, $req?: CallConfig): Promise<RESTGetAPIApplicationCommandsResult>;
/**
* Create a new global command.
* @warn Creating a command with the same name as an existing command for your application will overwrite the old command.
* @see https://discord.com/developers/docs/interactions/application-commands#create-global-application-command
*/
export declare function createGlobalCommand(data: RESTPostAPIApplicationCommandsJSONBody, $req?: CallConfig): Promise<RESTPostAPIApplicationCommandsResult>;
/**
* Fetch a global command for your application.
* @see https://discord.com/developers/docs/interactions/application-commands#get-global-application-command
*/
export declare function getGlobalCommand(commandId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIApplicationCommandResult>;
/**
* Edit a global command.
* @see https://discord.com/developers/docs/interactions/application-commands#edit-global-application-command
*/
export declare function modifyGlobalCommand(commandId: Snowflake, data: RESTPatchAPIApplicationCommandJSONBody, $req?: CallConfig): Promise<RESTPatchAPIApplicationCommandResult>;
/**
* Deletes a global command.
* @see https://discord.com/developers/docs/interactions/application-commands#delete-global-application-command
*/
export declare function deleteGlobalCommand(commandId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Takes a list of application commands, overwriting the existing global command list for this application.
* @danger This will overwrite all types of application commands: slash commands, user commands, and message commands.
* @see https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-global-application-commands
*/
export declare function bulkOverwriteGlobalCommands(data: RESTPutAPIApplicationCommandsJSONBody, $req?: CallConfig): Promise<RESTPutAPIApplicationCommandsResult>;
/**
* Fetch all of the guild commands for your application for a specific guild.
* @warn The objects returned by this endpoint may be augmented with [additional fields if localization is active](https://discord.com/developers/docs/interactions/application-commands#retrieving-localized-commands).
* @see https://discord.com/developers/docs/interactions/application-commands#get-guild-application-commands
*/
export declare function listGuildCommands(guildId: Snowflake, params?: RESTGetAPIApplicationGuildCommandsQuery, $req?: CallConfig): Promise<RESTGetAPIApplicationGuildCommandsResult>;
/**
* Create a new guild command. New guild commands will be available in the guild immediately.
* @danger Creating a command with the same name as an existing command for your application will overwrite the old command.
* @see https://discord.com/developers/docs/interactions/application-commands#create-guild-application-command
*/
export declare function createGuildCommand(guildId: Snowflake, data: RESTPostAPIApplicationGuildCommandsJSONBody, $req?: CallConfig): Promise<RESTPostAPIApplicationGuildCommandsResult>;
/**
* Fetch a guild command for your application.
* @see https://discord.com/developers/docs/interactions/application-commands#get-guild-application-command
*/
export declare function getGuildCommand(guildId: Snowflake, commandId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIApplicationGuildCommandResult>;
/**
* Edit a guild command. Updates for guild commands will be available immediately.
* @see https://discord.com/developers/docs/interactions/application-commands#edit-guild-application-command
*/
export declare function modifyGuildCommand(guildId: Snowflake, commandId: Snowflake, data: RESTPatchAPIApplicationGuildCommandJSONBody, $req?: CallConfig): Promise<RESTPatchAPIApplicationGuildCommandResult>;
/**
* Delete a guild command.
* @see https://discord.com/developers/docs/interactions/application-commands#delete-guild-application-command
*/
export declare function deleteGuildCommand(guildId: Snowflake, commandId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Takes a list of application commands, overwriting the existing command list for this application for the targeted guild.
* @danger This will overwrite **all** types of application commands: slash commands, user commands, and message commands.
* @see https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-guild-application-commands
*/
export declare function bulkOverwriteGuildCommands(guildId: Snowflake, data: RESTPutAPIApplicationGuildCommandsJSONBody, $req?: CallConfig): Promise<RESTPutAPIApplicationGuildCommandsResult>;
/**
* Fetches permissions for all commands for your application in a guild.
* @see https://discord.com/developers/docs/interactions/application-commands#get-guild-application-command-permissions
*/
export declare function listGuildCommandsPermissions(guildId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIGuildApplicationCommandsPermissionsResult>;
/**
* Fetches permissions for a specific command for your application in a guild.
* @see https://discord.com/developers/docs/interactions/application-commands#get-application-command-permissions
*/
export declare function getGuildCommandPermissions(guildId: Snowflake, commandId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIApplicationCommandPermissionsResult>;
/**
* Edits command permissions for a specific command for your application in a guild.
* @warn This endpoint will overwrite existing permissions for the command in that guild
* @warn Deleting or renaming a command will permanently delete all permissions for the command
* @see https://discord.com/developers/docs/interactions/application-commands#edit-application-command-permissions
*/
export declare function modifyGuildCommandPermissions(guildId: Snowflake, commandId: Snowflake, data: RESTPutAPIApplicationCommandPermissionsJSONBody, $req?: CallConfig): Promise<RESTPutAPIApplicationCommandPermissionsResult>;
/**
* Returns a list of [application role connection metadata](https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object) objects for the given application.
* @see https://discord.com/developers/docs/resources/application-role-connection-metadata#get-application-role-connection-metadata-records
*/
export declare function listAppRoleConnectionMetadata($req?: CallConfig): Promise<RESTGetAPIApplicationRoleConnectionMetadataResult>;
/**
* Updates and returns a list of [application role connection metadata](https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object) objects for the given application.
* @info An application can have a maximum of 5 metadata records.
* @see https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
*/
export declare function modifyAppRoleConnectionMetadata($req?: CallConfig): Promise<RESTPutAPIApplicationRoleConnectionMetadataResult>;
/**
* Returns the [application](https://discord.com/developers/docs/resources/application#application-object) object associated with the requesting bot user.
* @see https://discord.com/developers/docs/resources/application#get-current-application
*/
export declare function getApp($req?: CallConfig): Promise<RESTGetCurrentApplicationResult>;
/**
* Edit properties of the app associated with the requesting bot user. Only properties that are passed will be updated.
* @see https://discord.com/developers/docs/resources/application#edit-current-application
*/
export declare function modifyApp(data: RESTPatchCurrentApplicationJSONBody, $req?: CallConfig): Promise<RESTPatchCurrentApplicationResult>;
/**
* Returns an [audit log](https://discord.com/developers/docs/resources/audit-log#audit-log-object) object for the guild.
* @info Requires the [`VIEW_AUDIT_LOG`](https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags) permission.
* @see https://discord.com/developers/docs/resources/audit-log#get-guild-audit-log
*/
export declare function getAuditLog(guildId: Snowflake, params?: RESTGetAPIAuditLogQuery, $req?: CallConfig): Promise<RESTGetAPIAuditLogResult>;
/**
* Get a list of all rules currently configured for the guild.
* @info This endpoint requires the `MANAGE_GUILD` [permission](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-permission-requirements).
* @see https://discord.com/developers/docs/resources/auto-moderation#list-auto-moderation-rules-for-guild
*/
export declare function listAutomodRules(guildId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIAutoModerationRulesResult>;
/**
* Get a single rule.
* @info This endpoint requires the `MANAGE_GUILD` [permission](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-permission-requirements).
* @see https://discord.com/developers/docs/resources/auto-moderation#get-auto-moderation-rule
*/
export declare function getAutomodRule(guildId: Snowflake, ruleId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIAutoModerationRuleResult>;
/**
* Create a new rule.
* @info This endpoint requires the `MANAGE_GUILD` [permission](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-permission-requirements).
* @see https://discord.com/developers/docs/resources/auto-moderation#create-auto-moderation-rule
*/
export declare function createAutomodRule(guildId: Snowflake, data: RESTPostAPIAutoModerationRuleJSONBody, $req?: CallConfig): Promise<RESTPostAPIAutoModerationRuleResult>;
/**
* Modify an existing rule.
* @info This endpoint requires the `MANAGE_GUILD` [permission](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-permission-requirements).
* @see https://discord.com/developers/docs/resources/auto-moderation#modify-auto-moderation-rule
*/
export declare function modifyAutomodRule(guildId: Snowflake, ruleId: Snowflake, data: RESTPatchAPIAutoModerationRuleJSONBody, $req?: CallConfig): Promise<RESTPatchAPIAutoModerationRuleResult>;
/**
* Delete a rule.
* @info This endpoint requires the `MANAGE_GUILD` [permission](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-permission-requirements).
* @see https://discord.com/developers/docs/resources/auto-moderation#delete-auto-moderation-rule
*/
export declare function deleteAutomodRule(guildId: Snowflake, ruleId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Get a channel by ID.
* @see https://discord.com/developers/docs/resources/channel#get-channel
*/
export declare function getChannel(channelId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIChannelResult>;
/**
* Update a channel's settings.
* @see https://discord.com/developers/docs/resources/channel#modify-channel
*/
export declare function modifyChannel(channelId: Snowflake, data: RESTPatchAPIChannelJSONBody, $req?: CallConfig): Promise<RESTPatchAPIChannelResult>;
/**
* Delete a channel, or close a private message.
* @info Requires the `MANAGE_CHANNELS` permission for the guild, or `MANAGE_THREADS` if the channel is a thread.
* @info For Community guilds, the Rules or Guidelines channel and the Community Updates channel cannot be deleted.
* @warn Deleting a guild channel cannot be undone. Use this with caution, as it is impossible to undo this action when performed on a guild channel. In contrast, when used with a private message, it is possible to undo the action by opening a private message with the recipient again.
* @see https://discord.com/developers/docs/resources/channel#deleteclose-channel
*/
export declare function deleteChannel(channelId: Snowflake, $req?: CallConfig): Promise<RESTDeleteAPIChannelResult>;
/**
* Edit the channel permission overwrites for a user or role in a channel.
* @info Only usable for guild channels.
* @info Requires the `MANAGE_ROLES` permission.
* @info Only permissions your bot has in the guild or parent channel (if applicable) can be allowed/denied (unless your bot has a `MANAGE_ROLES` overwrite in the channel).
* @see https://discord.com/developers/docs/resources/channel#edit-channel-permissions
*/
export declare function modifyChannelPermissions(channelId: Snowflake, overwriteId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Returns a list of [invite](https://discord.com/developers/docs/resources/invite#invite-object) objects (with [invite metadata](https://discord.com/developers/docs/resources/invite#invite-metadata-object)) for the channel.
* @info Only usable for guild channels.
* @info Requires the `MANAGE_CHANNELS` permission.
* @see https://discord.com/developers/docs/resources/channel#get-channel-invites
*/
export declare function listChannelInvites(channelId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIChannelInvitesResult>;
/**
* Create a new [invite](https://discord.com/developers/docs/resources/invite#invite-object) object for the channel.
* @info Only usable for guild channels.
* @info Requires the `CREATE_INSTANT_INVITE` permission.
* @see https://discord.com/developers/docs/resources/channel#create-channel-invite
*/
export declare function createChannelInvite(channelId: Snowflake, data: RESTPostAPIChannelInviteJSONBody, $req?: CallConfig): Promise<RESTPostAPIChannelInviteResult>;
/**
* Delete a channel permission overwrite for a user or role in a channel.
* TODO rename to something like `deleteChannelPermission`
* @info Only usable for guild channels.
* @info Requires the `MANAGE_ROLES` permission.
* @see https://discord.com/developers/docs/resources/channel#delete-channel-permission
*/
export declare function deleteChannelPermissions(channelId: Snowflake, overwriteId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Follow an Announcement Channel to send messages to a target channel.
* @info Requires the `MANAGE_WEBHOOKS` permission in the target channel.
* @see https://discord.com/developers/docs/resources/channel#follow-announcement-channel
*/
export declare function followChannel(channelId: Snowflake, data: RESTPostAPIChannelFollowersJSONBody, $req?: CallConfig): Promise<RESTPostAPIChannelFollowersResult>;
/**
* Post a typing indicator for the specified channel, which expires after 10 seconds.
* @info Generally bots should **not** use this route.
* @see https://discord.com/developers/docs/resources/channel#trigger-typing-indicator
*/
export declare function createTypingIndicator(channelId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Adds a recipient to a Group DM using their access token.
* @see https://discord.com/developers/docs/resources/channel#group-dm-add-recipient
*/
export declare function addGDMMember(channelId: Snowflake, userId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Removes a recipient from a Group DM.
* @see https://discord.com/developers/docs/resources/channel#group-dm-remove-recipient
*/
export declare function removeGDMMember(channelId: Snowflake, userId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Creates a new thread, include a message ID to start the thread from an existing message.
* @info When called on a `GUILD_TEXT` channel, creates a `PUBLIC_THREAD`. When called on a `GUILD_ANNOUNCEMENT` channel, creates a `ANNOUNCEMENT_THREAD`.
* @info Does not work on a [`GUILD_FORUM`](https://discord.com/developers/docs/resources/channel#start-thread-in-forum-or-media-channel) or a `GUILD_MEDIA` channel.
* @info The id of the created thread will be the same as the id of the source message, and as such a message can only have a single thread created from it.
* @see https://discord.com/developers/docs/resources/channel#start-thread-from-message
*/
export declare function createThread(channelId: Snowflake, data: Omit<RESTPostAPIChannelThreadsJSONBody, "type"> & {
type?: "Public" | "Private" | "Announcement" | ThreadChannelType;
}, messageId?: Snowflake, $req?: CallConfig): Promise<RESTPostAPIChannelThreadsResult>;
/**
* Creates a new thread in a forum or a media channel, and sends a message within the created thread.
* @info The type of the created thread is `PUBLIC_THREAD`.
* @info The current user must have the `SEND_MESSAGES` permission (`CREATE_PUBLIC_THREADS` is ignored).
* @see https://discord.com/developers/docs/resources/channel#start-thread-in-forum-or-media-channel
*/
export declare function createForumThread(channelId: Snowflake, data: Omit<RESTPostAPIGuildForumThreadsJSONBody, "message"> & {
message: string | (RESTPostAPIGuildForumThreadsJSONBody["message"] & {
files?: RawFile[];
});
}, $req?: CallConfig): Promise<APIThreadChannel & {
message: APIMessage;
}>;
/**
* Adds a member to a thread.
* @param userId Member to add, defaults to self
* @info Adding another member requires the ability to send messages in the thread.
* @see https://discord.com/developers/docs/resources/channel#add-thread-member
*/
export declare function addThreadMember(threadId: Snowflake, userId?: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Removes a member from a thread.
* @param userId Member to remove, defaults to self
* @info Requires the ability to send messages in the thread.
* @info Removing another member also requires the thread is not archived.
* @see https://discord.com/developers/docs/resources/channel#remove-thread-member
*/
export declare function removeThreadMember(threadId: Snowflake, userId?: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Returns a [thread member](https://discord.com/developers/docs/resources/channel#thread-member-object) object for the specified user if they are a member of the thread.
* @info When `with_member` is set to `true`, the thread member object will include a `member` field containing a [guild member](https://discord.com/developers/docs/resources/guild#guild-member-object) object.
* @see https://discord.com/developers/docs/resources/channel#get-thread-member
*/
export declare function getThreadMember(threadId: Snowflake, userId: Snowflake, params?: RESTGetAPIChannelThreadMemberQuery, $req?: CallConfig): Promise<RESTGetAPIChannelThreadMemberResult>;
/**
* Returns array of [thread members](https://discord.com/developers/docs/resources/channel#thread-member-object) objects that are members of the thread.
* @info When `with_member` is set to `true`, the results will be paginated and each thread member object will include a `member` field containing a [guild member](https://discord.com/developers/docs/resources/guild#guild-member-object) object.
* @warn Starting in API v11, this endpoint will always return paginated results. Paginated results can be enabled before API v11 by setting `with_member` to `true`. Read [the changelog](https://discord.com/developers/docs/change-log#thread-member-details-and-pagination) for details.
* @warn This endpoint is restricted according to whether the `GUILD_MEMBERS` [Privileged Intent](https://discord.com/developers/docs/events/gateway#privileged-intents) is enabled for your application.
* @see https://discord.com/developers/docs/resources/channel#list-thread-members
*/
export declare function listThreadMembers(threadId: Snowflake, params?: RESTGetAPIChannelThreadMembersQuery, $req?: CallConfig): Promise<RESTGetAPIChannelThreadMembersResult>;
/**
* Returns a list of archived threads in the channel. Alternatively, returns a list of joined private threads in the channel.
* @see https://discord.com/developers/docs/resources/channel#list-private-archived-threads
*/
export declare function listArchivedThreads(channelId: Snowflake, archivedStatus: "public" | "private", joinedOnly?: boolean, params?: RESTGetAPIChannelThreadsArchivedQuery, $req?: CallConfig): Promise<RESTGetAPIChannelUsersThreadsArchivedResult>;
/**
* Returns a list of [emoji](https://discord.com/developers/docs/resources/emoji#emoji-object) objects for the given guild.
* @info Includes `user` fields if the bot has the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.
* @see https://discord.com/developers/docs/resources/emoji#list-guild-emojis
*/
export declare function listEmojis(guildId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIGuildEmojisResult>;
/**
* Returns an [emoji](https://discord.com/developers/docs/resources/emoji#emoji-object) object for the given guild and emoji IDs.
* @info Includes the `user` field if the bot has the `MANAGE_GUILD_EXPRESSIONS` permission, or if the bot created the emoji and has the the `CREATE_GUILD_EXPRESSIONS` permission.
* @see https://discord.com/developers/docs/resources/emoji#get-guild-emoji
*/
export declare function getEmoji(guildId: Snowflake, emojiId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIGuildEmojiResult>;
/**
* Create a new emoji for the guild.
* @info Includes `user` fields if the bot has the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.
* @info We highly recommend that developers use the `.webp` extension when fetching emoji so they're rendered as WebP for maximum performance and compatibility. See the [Emoji Formats](https://discord.com/developers/docs/resources/emoji#emoji-object-emoji-formats) section above for more details.
* @warn Emojis and animated emojis have a maximum file size of 256 KiB. Attempting to upload an emoji larger than this limit will fail and return 400 Bad Request and an error message, but not a [JSON status code](https://discord.com/developers/docs/topics/opcodes-and-status-codes#json).
* @see https://discord.com/developers/docs/resources/emoji#create-guild-emoji
*/
export declare function createEmoji(guildId: Snowflake, data: RESTPostAPIGuildEmojiJSONBody, $req?: CallConfig): Promise<RESTPostAPIGuildEmojiResult>;
/**
* Modify the given emoji.
* @info For emojis created by the current user, requires either the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.
* @info For other emojis, requires the `MANAGE_GUILD_EXPRESSIONS` permission.
* @see https://discord.com/developers/docs/resources/emoji#moify-guild-emoji
*/
export declare function modifyEmoji(guildId: Snowflake, emojiId: Snowflake, data: RESTPatchAPIGuildEmojiJSONBody, $req?: CallConfig): Promise<RESTPatchAPIGuildEmojiResult>;
/**
* Delete the given emoji.
* @info For emojis created by the current user, requires either the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.
* @info For other emojis, requires the `MANAGE_GUILD_EXPRESSIONS` permission.
* @see https://discord.com/developers/docs/resources/emoji#delete-guild-emoji
*/
export declare function deleteEmoji(guildId: Snowflake, emojiId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Returns an object containing a list of [emoji](https://discord.com/developers/docs/resources/emoji#emoji-object) objects for the given application under the `items` key.
* @info Includes a `user` object for the team member that uploaded the emoji from the app's settings, or for the bot user if uploaded using the API.
* @see https://discord.com/developers/docs/resources/emoji#list-application-emojis
*/
export declare function listApplicationEmojis($req?: CallConfig): Promise<RESTGetAPIApplicationEmojisResult>;
/**
* Returns an [emoji](https://discord.com/developers/docs/resources/emoji#emoji-object) object for the given application and emoji IDs.
* @info Includes the `user` field.
* @see https://discord.com/developers/docs/resources/emoji#get-application-emoji
*/
export declare function getApplicationEmoji(emojiId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIApplicationEmojiResult>;
/**
* Create a new emoji for the application.
* @info We highly recommend that developers use the `.webp` extension when fetching emoji so they're rendered as WebP for maximum performance and compatibility. See the [Emoji Formats](https://discord.com/developers/docs/resources/emoji#emoji-object-emoji-formats) section above for more details.
* @warn Emojis and animated emojis have a maximum file size of 256 KiB. Attempting to upload an emoji larger than this limit will fail and return 400 Bad Request and an error message, but not a [JSON status code](https://discord.com/developers/docs/topics/opcodes-and-status-codes#json).
* @see https://discord.com/developers/docs/resources/emoji#create-application-emoji
*/
export declare function createApplicationEmoji(data: RESTPostAPIApplicationEmojiJSONBody, $req?: CallConfig): Promise<RESTPostAPIApplicationEmojiResult>;
/**
* Modify the given emoji.
* @see https://discord.com/developers/docs/resources/emoji#modify-application-emoji
*/
export declare function modifyApplicationEmoji(emojiId: Snowflake, data: RESTPatchAPIApplicationEmojiJSONBody, $req?: CallConfig): Promise<RESTPatchAPIApplicationEmojiResult>;
/**
* Delete the given emoji.
* @see https://discord.com/developers/docs/resources/emoji#delete-application-emoji
*/
export declare function deleteApplicationEmoji(emojiId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Returns all entitlements for a given app, active and expired.
* @see https://discord.com/developers/docs/resources/entitlement#list-entitlements
*/
export declare function listEntitlements(params?: RESTGetAPIEntitlementsQuery, $req?: CallConfig): Promise<RESTGetAPIEntitlementsResult>;
/**
* Returns an entitlement.
* @see https://discord.com/developers/docs/resources/entitlement#get-entitlement
*/
export declare function getEntitlement(entitlementId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIEntitlementResult>;
/**
* For One-Time Purchase consumable SKUs, marks a given entitlement for the user as consumed.
* @info The entitlement will have `consumed: true` when using [List Entitlements](https://discord.com/developers/docs/resources/entitlement#list-entitlements).
* @see https://discord.com/developers/docs/resources/entitlement#consume-entitlement
*/
export declare function consumeEntitlement(entitlementId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Creates a test entitlement to a given SKU for a given guild or user. Discord will act as though that user or guild has entitlement to your premium offering.
* @info After creating a test entitlement, you'll need to reload your Discord client. After doing so, you'll see that your server or user now has premium access.
* @see https://discord.com/developers/docs/resources/entitlement#create-test-entitlement
*/
export declare function createTestEntitlement(data: RESTPostAPIEntitlementJSONBody, $req?: CallConfig): Promise<RESTPostAPIEntitlementResult>;
/**
* Creates a test entitlement to a given SKU for a given guild or user. Discord will act as though that user or guild has entitlement to your premium offering.
* @info After creating a test entitlement, you'll need to reload your Discord client. After doing so, you'll see that your server or user now has premium access.
* @see https://discord.com/developers/docs/resources/entitlement#delete-test-entitlement
*/
export declare function deleteTestEntitlement(entitlementId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Returns an object with a valid WSS URL which the app can use when [Connecting](https://discord.com/developers/docs/events/gateway#connecting) to the Gateway. Apps should cache this value and only call this endpoint to retrieve a new URL when they are unable to properly establish a connection using the cached one.
* @info This endpoint does not require authentication.
* @see https://discord.com/developers/docs/events/gateway#get-gateway
*/
export declare function getGateway($req?: CallConfig): Promise<RESTGetAPIGatewayResult>;
/**
* Returns an object based on the information in [Get Gateway](https://discord.com/developers/docs/events/gateway#get-gateway), plus additional metadata that can help during the operation of large or [sharded](https://discord.com/developers/docs/events/gateway#sharding) bots. Unlike the [Get Gateway](https://discord.com/developers/docs/events/gateway#get-gateway), this route should not be cached for extended periods of time as the value is not guaranteed to be the same per-call, and changes as the bot joins/leaves guilds.
* @warn This endpoint requires authentication using a valid bot token.
* @see https://discord.com/developers/docs/events/gateway#get-gateway-bot
*/
export declare function getGatewayBot($req?: CallConfig): Promise<RESTGetAPIGatewayBotResult>;
/**
* Returns a list of [guild scheduled event](https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object) objects for the given guild.
* @see https://discord.com/developers/docs/resources/guild-scheduled-event#list-guild-scheduled-events
*/
export declare function listScheduledEvents(guildId: Snowflake, params?: RESTGetAPIGuildScheduledEventsQuery, $req?: CallConfig): Promise<RESTGetAPIGuildScheduledEventsResult>;
/**
* Create a guild scheduled event in the guild.
* @info A guild can have a maximum of 100 events with `SCHEDULED` or `ACTIVE` status at any time.
* @see https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
*/
export declare function createScheduledEvent(guildId: Snowflake, data: RESTPostAPIGuildScheduledEventJSONBody, $req?: CallConfig): Promise<RESTPostAPIGuildScheduledEventResult>;
/**
* Get a guild scheduled event.
* @see https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
*/
export declare function getScheduledEvent(guildId: Snowflake, guildScheduledEventId: Snowflake, params?: RESTGetAPIGuildScheduledEventQuery, $req?: CallConfig): Promise<RESTGetAPIGuildScheduledEventResult>;
/**
* Modify a guild scheduled event.
* @info To start or end an event, use this endpoint to modify the event's [status](https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-status) field.
* @info This endpoint silently discards `entity_metadata` for non-`EXTERNAL` events.
* @see https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
*/
export declare function modifyScheduledEvent(guildId: Snowflake, guildScheduledEventId: Snowflake, data: RESTPatchAPIGuildScheduledEventJSONBody, $req?: CallConfig): Promise<RESTPatchAPIGuildScheduledEventResult>;
/**
* Delete a guild scheduled event.
* @see https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event
*/
export declare function deleteScheduledEvent(guildId: Snowflake, guildScheduledEventId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Get a list of guild scheduled event users subscribed to a guild scheduled event.
* @see https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
*/
export declare function getScheduledEventUsers(guildId: Snowflake, guildScheduledEventId: Snowflake, params?: RESTGetAPIGuildScheduledEventUsersQuery, $req?: CallConfig): Promise<RESTGetAPIGuildScheduledEventUsersResult>;
/**
* Returns a [guild template](https://discord.com/developers/docs/resources/guild-template#guild-template-object) object for the given code.
* @see https://discord.com/developers/docs/resources/guild-template#get-guild-template
*/
export declare function getTemplate(code: string, $req?: CallConfig): Promise<RESTGetAPITemplateResult>;
/**
* Returns a [guild template](https://discord.com/developers/docs/resources/guild-template#guild-template-object) object for the given code.
* @see https://discord.com/developers/docs/change-log#guild-create-deprecation
* @deprecated
*/
export declare function createFromTemplate(code: string, data: RESTPostAPITemplateCreateGuildJSONBody, $req?: CallConfig): Promise<RESTPostAPITemplateCreateGuildResult>;
/**
* Returns an array of [guild template](https://discord.com/developers/docs/resources/guild-template#guild-template-object) objects.
* @info Requires the `MANAGE_GUILD` permission.
* @see https://discord.com/developers/docs/resources/guild-template#get-guild-templates
*/
export declare function listTemplates(guildId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIGuildTemplatesResult>;
/**
* Creates a template for the guild.
* @info Requires the `MANAGE_GUILD` permission.
* @see https://discord.com/developers/docs/resources/guild-template#create-guild-template
*/
export declare function createTemplate(guildId: Snowflake, data: RESTPostAPIGuildTemplatesJSONBody, $req?: CallConfig): Promise<RESTPostAPIGuildTemplatesResult>;
/**
* Syncs the template to the guild's current state.
* @info Requires the `MANAGE_GUILD` permission.
* @see https://discord.com/developers/docs/resources/guild-template#sync-guild-template
*/
export declare function syncTemplate(guildId: Snowflake, code: string, $req?: CallConfig): Promise<RESTPutAPIGuildTemplateSyncResult>;
/**
* Modifies the template's metadata.
* @info Requires the `MANAGE_GUILD` permission.
* @see https://discord.com/developers/docs/resources/guild-template#modify-guild-template
*/
export declare function modifyTemplate(guildId: Snowflake, code: string, data: RESTPatchAPIGuildTemplateJSONBody, $req?: CallConfig): Promise<RESTPatchAPIGuildTemplateResult>;
/**
* Deletes the template.
* @info Requires the `MANAGE_GUILD` permission.
* @see https://discord.com/developers/docs/resources/guild-template#delete-guild-template
*/
export declare function deleteTemplate(guildId: Snowflake, code: string, $req?: CallConfig): Promise<RESTDeleteAPIGuildTemplateResult>;
/**
* Create a new guild.
* @see https://discord.com/developers/docs/change-log#guild-create-deprecation
* @deprecated
*/
export declare function createGuild(data: RESTPostAPIGuildsJSONBody, $req?: CallConfig): Promise<RESTPostAPIGuildsResult>;
/**
* Returns the [guild](https://discord.com/developers/docs/resources/guild#guild-object) object for the given id.
* @info If `with_counts` is set to `true`, this endpoint will also return `approximate_member_count` and `approximate_presence_count` for the guild.
* @see https://discord.com/developers/docs/resources/guild#get-guild
*/
export declare function getGuild(guildId: Snowflake, params?: RESTGetAPIGuildQuery, $req?: CallConfig): Promise<RESTGetAPIGuildResult>;
/**
* Returns the [guild preview](https://discord.com/developers/docs/resources/guild#guild-preview-object) object for the given id.
* @info If the user is not in the guild, then the guild must be [discoverable](https://discord.com/developers/docs/resources/guild#guild-object-guild-features).
* @see https://discord.com/developers/docs/resources/guild#get-guild-preview
*/
export declare function getGuildPreview(guildId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIGuildPreviewResult>;
/**
* Modify a guild's settings.
* @info Requires the `MANAGE_GUILD` permission.
* @warn Attempting to add or remove the `COMMUNITY` [guild feature](https://discord.com/developers/docs/resources/guild#guild-object-guild-features) requires the `ADMINISTRATOR` permission.
* @see https://discord.com/developers/docs/resources/guild#modify-guild
*/
export declare function modifyGuild(guildId: Snowflake, data: RESTPatchAPIGuildJSONBody, $req?: CallConfig): Promise<RESTPatchAPIGuildResult>;
/**
* Delete a guild.
* @see https://discord.com/developers/docs/change-log#guild-create-deprecation
* @deprecated
*/
export declare function deleteGuild(guildId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Returns a list of guild [channel](https://discord.com/developers/docs/resources/channel#channel-object) objects.
* @info Does not include threads.
* @see https://discord.com/developers/docs/resources/guild#get-guild-channels
*/
export declare function listChannels(guildId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIGuildChannelsResult>;
/**
* Create a new [channel](https://discord.com/developers/docs/resources/channel#channel-object) object for the guild.
* @info Requires the `MANAGE_CHANNELS` permission. If setting permission overwrites, only permissions your bot has in the guild can be allowed/denied.
* @info Setting `MANAGE_ROLES` permission in channels is only possible for guild administrators.
* @see https://discord.com/developers/docs/resources/guild#create-guild-channel
*/
export declare function createChannel(guildId: Snowflake, data: RESTPostAPIGuildChannelJSONBody, $req?: CallConfig): Promise<RESTPostAPIGuildChannelResult>;
/**
* Modify the positions of a set of [channel](https://discord.com/developers/docs/resources/channel#channel-object) objects for the guild.
* @info Requires the `MANAGE_GUILD` permission.
* @info Only channels to be modified are required.
* @see https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions
*/
export declare function modifyChannelPositions(guildId: Snowflake, data: RESTPatchAPIGuildChannelPositionsJSONBody, $req?: CallConfig): Promise<void>;
/**
* Returns all active threads in the guild, including public and private threads.
* @info Threads are ordered by their `id`, in descending order.
* @see https://discord.com/developers/docs/resources/guild#list-active-guild-threads
*/
export declare function listActiveThreads(guildId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIGuildThreadsResult>;
/**
* Returns a [guild member](https://discord.com/developers/docs/resources/guild#guild-member-object) object for the specified user.
* @see https://discord.com/developers/docs/resources/guild#get-guild-member
*/
export declare function getMember(guildId: Snowflake, userId: Snowflake, $req?: CallConfig): Promise<RESTGetAPIGuildMemberResult>;
/**
* Returns a list of [guild member](https://discord.com/developers/docs/resources/guild#guild-member-object) objects that are members of the guild.
* @warn This endpoint is restricted according to whether the `GUILD_MEMBERS` [Privileged Intent](https://discord.com/developers/docs/events/gateway#privileged-intents) is enabled for your application.
* @see https://discord.com/developers/docs/resources/guild#list-guild-members
*/
export declare function listMembers(guildId: Snowflake, params?: RESTGetAPIGuildMembersQuery, $req?: CallConfig): Promise<RESTGetAPIGuildMembersResult>;
/**
* Returns a list of [guild member](https://discord.com/developers/docs/resources/guild#guild-member-object) objects whose username or nickname starts with a provided string.
* @see https://discord.com/developers/docs/resources/guild#search-guild-members
*/
export declare function searchMembers(guildId: Snowflake, params?: RESTGetAPIGuildMembersSearchQuery, $req?: CallConfig): Promise<RESTGetAPIGuildMembersSearchResult>;
/**
* Adds a user to the guild, provided you have a valid oauth2 access token for the user with the `guilds.join` scope.
* @info The Authorization header must be a Bot token (belonging to the same application used for authorization), and the bot must be a member of the guild with `CREATE_INSTANT_INVITE` permission.
* @see https://discord.com/developers/docs/resources/guild#add-guild-member
*/
export declare function addMember(guildId: Snowflake, userId: Snowflake, data: RESTPutAPIGuildMemberJSONBody, $req?: CallConfig): Promise<RESTPutAPIGuildMemberResult>;
/**
* Modify attributes of a [guild member](https://discord.com/developers/docs/resources/guild#guild-member-object), defaults to self.
* @see https://discord.com/developers/docs/resources/guild#modify-guild-member
*/
export declare function modifyMember<T extends "@me" | (Snowflake & {})>(guildId: Snowflake, userId: T, data: T extends "@me" ? RESTPatchAPICurrentGuildMemberJSONBody : RESTPatchAPIGuildMemberJSONBody, $req?: CallConfig): Promise<RESTPatchAPIGuildMemberResult>;
/**
* Adds a role to a [guild member](https://discord.com/developers/docs/resources/guild#guild-member-object).
* @info Requires the `MANAGE_ROLES` permission.
* @see https://discord.com/developers/docs/resources/guild#add-guild-member-role
*/
export declare function addMemberRole(guildId: Snowflake, userId: Snowflake, roleId: Snowflake, $req?: CallConfig): Promise<void>;
/**
* Removes a role from a [guild member](https://discord.com/developers/docs/resources/guild#guild-member-object).
* @info Requires