import { type GuildMemberStructure, type GuildRoleStructure, type VoiceStateStructure } from '../../client/transformers'; import { PermissionsBitField } from '../../structures/extra/Permissions'; import { type APIGuildMember, type RESTGetAPIGuildMembersQuery, type RESTGetAPIGuildMembersSearchQuery, type RESTPatchAPICurrentGuildMemberJSONBody, type RESTPatchAPIGuildMemberJSONBody, type RESTPutAPIGuildMemberJSONBody } from '../../types'; import type { BanOptions } from '../types/options'; import type { GuildMemberResolvable } from '../types/resolvables'; import { BaseShorter } from './base'; export declare class MemberShorter extends BaseShorter { /** * Resolves a member in the guild based on the provided GuildMemberResolvable. * @param guildId The ID of the guild. * @param resolve The GuildMemberResolvable to resolve. * @returns A Promise that resolves to the resolved member. */ resolve(guildId: string, resolve: GuildMemberResolvable): Promise; /** * Searches for members in the guild based on the provided query. * @param guildId The ID of the guild. * @param query The query parameters for searching members. * @returns A Promise that resolves to an array of matched members. */ search(guildId: string, query: RESTGetAPIGuildMembersSearchQuery): Promise; /** * Unbans a member from the guild. * @param guildId The ID of the guild. * @param memberId The ID of the member to unban. * @param reason The reason for unbanning the member. */ unban(guildId: string, memberId: string, reason?: string): Promise; /** * Bans a member from the guild. * @param guildId The ID of the guild. * @param memberId The ID of the member to ban. * @param options The options for banning the member. */ ban(guildId: string, memberId: string, options?: BanOptions): Promise; /** * Kicks a member from the guild. * @param guildId The ID of the guild. * @param memberId The ID of the member to kick. * @param reason The reason for kicking the member. */ kick(guildId: string, memberId: string, reason?: string): Promise; /** * Edits a member in the guild. * @param guildId The ID of the guild. * @param memberId The ID of the member to edit. * @param body The data to update the member with. * @param reason The reason for editing the member. * @returns A Promise that resolves to the edited member. */ edit(guildId: string, memberId: string, body: RESTPatchAPIGuildMemberJSONBody | RESTPatchAPICurrentGuildMemberJSONBody, reason?: string): Promise; /** * Adds a member to the guild. * @param guildId The ID of the guild. * @param memberId The ID of the member to add. * @param body The request body for adding the member. * @returns A Promise that resolves to the added member. */ add(guildId: string, memberId: string, body: RESTPutAPIGuildMemberJSONBody): Promise; /** * Fetches a member from the guild. * @param guildId The ID of the guild. * @param memberId The ID of the member to fetch. * @param force Whether to force fetching the member from the API even if it exists in the cache. * @returns A Promise that resolves to the fetched member. */ fetch(guildId: string, memberId: string, force?: boolean): Promise; raw(guildId: string, memberId: string, force?: boolean): Promise; /** * Lists members in the guild based on the provided query. * @param guildId The ID of the guild. * @param query The query parameters for listing members. * @param force Whether to force listing members from the API even if they exist in the cache. * @returns A Promise that resolves to an array of listed members. */ list(guildId: string, query?: RESTGetAPIGuildMembersQuery, force?: boolean): Promise; /** * Adds a role to a guild member. * @param guildId The ID of the guild. * @param memberId The ID of the member to add the role to. * @param id The ID of the role to add. */ addRole(guildId: string, memberId: string, id: string): Promise; /** * Removes a role from a guild member. * @param guildId The ID of the guild. * @param memberId The ID of the member to remove the role from. * @param id The ID of the role to remove. */ removeRole(guildId: string, memberId: string, id: string): Promise; listRoles(guildId: string, memberId: string, force?: boolean): Promise; sortRoles(guildId: string, memberId: string, force?: boolean): Promise; permissions(guildId: string, memberId: string, force?: boolean): Promise; presence(memberId: string): import("../..").ReturnCache<(Omit & { id: string; user_id: string; } & { guild_id: string; }) | undefined>; voice(guildId: string, memberId: (string & {}) | '@me', force?: boolean): Promise; /** * Timeouts a member from the guild. * @param guildId The ID of the guild. * @param memberId The ID of the member to timeout. * @param time The time in milliseconds to timeout the member for. * @param reason The reason for the timeout. */ timeout(guildId: string, memberId: string, time: number | null, reason?: string): Promise; /** * Checks if a member has a timeout. * @param member The member to check. * @returns The time left until the timeout expires, in milliseconds, or false if the member does not have a timeout. */ hasTimeout(member: Exclude): false | number; }