import type { Snowflake } from "./index"; export type AdaptorPermissions = Record; export type AdaptorPermissionFlags = keyof typeof adaptorPermissionFlagsMap; export declare const adaptorPermissionFlagsMap: { /** Allows creation of instant invites */ readonly createInstantInvite: bigint; /** Allows kicking members */ readonly kickMembers: bigint; /** Allows banning members */ readonly banMembers: bigint; /** Allows all permissions and bypasses channel permission overwrites */ readonly administrator: bigint; /** Allows management and editing of channels */ readonly manageChannels: bigint; /** Allows management and editing of the guild */ readonly manageGuild: bigint; /** Allows for the addition of reactions to messages */ readonly addReactions: bigint; /** Allows for viewing of audit logs */ readonly viewAuditLog: bigint; /** Allows for using priority speaker in a voice channel */ readonly prioritySpeaker: bigint; /** Allows the user to go live */ readonly stream: bigint; /** Allows guild members to view a channel, which includes reading messages in text channels and joining voice channels */ readonly viewChannel: bigint; /** Allows for sending messages in a channel and creating threads in a forum (does not allow sending messages in threads) */ readonly sendMessages: bigint; /** Allows for sending of /tts messages */ readonly sendTTSMessages: bigint; /** Allows for deletion of other users messages */ readonly manageMessages: bigint; /** Links sent by users with this permission will be auto-embedded */ readonly embedLinks: bigint; /** Allows for uploading images and files */ readonly attachFiles: bigint; /** Allows for reading of message history */ readonly readMessageHistory: bigint; /** Allows for using the @everyone tag to notify all users in a channel, and the @here tag to notify all online users in a channel */ readonly mentionEveryone: bigint; /** Allows the usage of custom emojis from other servers */ readonly useExternalEmojis: bigint; /** Allows for viewing guild insights */ readonly viewGuildInsights: bigint; /** Allows for joining of a voice channel */ readonly connect: bigint; /** Allows for speaking in a voice channel */ readonly speak: bigint; /** Allows for muting members in a voice channel */ readonly muteMembers: bigint; /** Allows for deafening of members in a voice channel */ readonly deafenMembers: bigint; /** Allows for moving of members between voice channels */ readonly moveMembers: bigint; /** Allows for using voice-activity-detection in a voice channel */ readonly useVAD: bigint; /** Allows for modification of own nickname */ readonly changeNickname: bigint; /** Allows for modification of other users nicknames */ readonly manageNicknames: bigint; /** Allows management and editing of roles */ readonly manageRoles: bigint; /** Allows management and editing of webhooks */ readonly manageWebhooks: bigint; /** Allows management and editing of emojis and stickers */ readonly manageEmojis: bigint; /** Allows members to use application commands, including slash commands and context menu commands. */ readonly useApplicationCommands: bigint; /** Allows for requesting to speak in stage channels. (This permission is under active development and may be changed or removed.) */ readonly requestToSpeak: bigint; /** Allows for creating, editing, and deleting scheduled events */ readonly manageEvents: bigint; /** Allows for deleting and archiving threads, and viewing all private threads */ readonly manageThreads: bigint; /** Allows for creating public and announcement threads */ readonly createPublicThreads: bigint; /** Allows for creating private threads */ readonly createPrivateThreads: bigint; /** Allows the usage of custom stickers from other servers */ readonly useExternalStickers: bigint; /** Allows for sending messages in threads */ readonly sendMessagesInThreads: bigint; /** Allows for using Activities (applications with the EMBEDDED flag) in a voice channel */ readonly startEmbeddedActivities: bigint; /** Allows for timing out users to prevent them from sending or reacting to messages in chat and threads, and from speaking in voice and stage channels */ readonly moderateMembers: bigint; }; /** * @see https://discord.com/developers/docs/resources/channel#channel-object-channel-types */ export interface AdaptorRole { /** * Role id */ id: Snowflake; /** * Role name */ name: string; /** * Integer representation of hexadecimal color code */ color: number; /** * If this role is pinned in the user listing */ hoist: boolean; /** * role icon hash * @see https://discord.com/developers/docs/reference#image-formatting */ icon: string | null; /** * role unicode emoji */ unicodeEmoji: string | null; /** * Position of this role */ position: number; /** * parsed permission flags */ permissions: AdaptorPermissions; /** * whether this role is managed by an integration */ managed: boolean; /** * whether this role is mentionable */ mentionable: boolean; /** * the tags this role has */ tags: AdaptorRoleTags | null; } /** * @see https://discord.com/developers/docs/topics/permissions#role-object-role-tags-structure */ export interface AdaptorRoleTags { /** * The id of the bot this role belongs to */ botId: Snowflake | null; /** * The id of the integration this role belongs to */ integrationId: Snowflake | null; /** * Whether this is the guild's premium subscriber role */ premiumSubscriber: boolean; /** * the id of this role's subscription sku and listing */ subscriptionListingId: Snowflake | null; /** * whether this role is available for purchase */ availableForPurchase: boolean; /** * whether this role is a guild's linked role */ guildConnections: boolean; } //# sourceMappingURL=permissions.d.ts.map