/** * Types extracted from https://discord.com/developers/docs/topics/permissions */ import type { Permissions, Snowflake } from '../../globals'; /** * @see {@link https://discord.com/developers/docs/topics/permissions#role-object} */ export interface APIRole { /** * 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; /** * The role icon hash */ icon?: string | null; /** * The role unicode emoji as a standard emoji */ unicode_emoji?: string | null; /** * Position of this role */ position: number; /** * Permission bit set * * @see {@link https://en.wikipedia.org/wiki/Bit_field} */ permissions: Permissions; /** * Whether this role is managed by an integration */ managed: boolean; /** * Whether this role is mentionable */ mentionable: boolean; /** * The tags this role has */ tags?: APIRoleTags; /** * Role flags */ flags: RoleFlags; } /** * @see {@link https://discord.com/developers/docs/topics/permissions#role-object-role-tags-structure} */ export interface APIRoleTags { /** * The id of the bot this role belongs to */ bot_id?: Snowflake; /** * Whether this is the guild's premium subscriber role */ premium_subscriber?: null; /** * The id of the integration this role belongs to */ integration_id?: Snowflake; /** * The id of this role's subscription sku and listing */ subscription_listing_id?: Snowflake; /** * Whether this role is available for purchase */ available_for_purchase?: null; /** * Whether this role is a guild's linked role */ guild_connections?: null; } /** * @see {@link https://discord.com/developers/docs/topics/permissions#role-object-role-flags} */ export declare enum RoleFlags { /** * Role can be selected by members in an onboarding prompt */ InPrompt = 1 } //# sourceMappingURL=permissions.d.ts.map