UNPKG

seyfert

Version:

The most advanced framework for discord bots

30 lines (29 loc) 1.66 kB
import type { ReturnCache } from '../cache'; import type { GuildRoleStructure, GuildStructure } from '../client'; import type { UsingClient } from '../commands'; import { type MethodContext, type ObjectToLower } from '../common'; import type { APIRole, RESTPatchAPIGuildRoleJSONBody, RESTPatchAPIGuildRolePositionsJSONBody, RESTPostAPIGuildRoleJSONBody } from '../types'; import { DiscordBase } from './extra/DiscordBase'; import { PermissionsBitField } from './extra/Permissions'; export interface GuildRole extends DiscordBase, ObjectToLower<Omit<APIRole, 'permissions'>> { } export declare class GuildRole extends DiscordBase { readonly guildId: string; permissions: PermissionsBitField; constructor(client: UsingClient, data: APIRole, guildId: string); guild(mode?: 'rest' | 'flow'): Promise<GuildStructure<'cached' | 'api'>>; guild(mode: 'cache'): ReturnCache<GuildStructure<'cached'> | undefined>; fetch(force?: boolean): Promise<GuildRoleStructure>; edit(body: RESTPatchAPIGuildRoleJSONBody): Promise<GuildRoleStructure>; delete(reason?: string): Promise<void>; toString(): `<@&${string}>`; static methods(ctx: MethodContext<{ guildId: string; }>): { create: (body: RESTPostAPIGuildRoleJSONBody) => Promise<GuildRoleStructure>; list: (force?: boolean) => Promise<GuildRoleStructure[]>; edit: (roleId: string, body: RESTPatchAPIGuildRoleJSONBody, reason?: string) => Promise<GuildRoleStructure>; delete: (roleId: string, reason?: string) => Promise<void>; editPositions: (body: RESTPatchAPIGuildRolePositionsJSONBody) => Promise<GuildRoleStructure[]>; }; }