import { type APIGuildMember, type GuildMemberFlags } from "discord-api-types/v10"; import { Base } from "../abstracts/Base.js"; import type { Client } from "../classes/Client.js"; import type { IfPartial, VoiceState } from "../types/index.js"; import { type CDNUrlOptions } from "../utils/index.js"; import type { Guild } from "./Guild.js"; import { Role } from "./Role.js"; import { User } from "./User.js"; type APIGuildMemberPartialVoice = Omit & { mute: boolean | undefined; deaf: boolean | undefined; }; export declare class GuildMember extends Base { constructor(client: Client, rawData: APIGuildMemberPartialVoice, guild: Guild); protected _rawData: APIGuildMemberPartialVoice | null; private setData; private setField; /** * The raw Discord API data for this guild member */ get rawData(): Readonly; /** * The guild object of the member. */ guild: Guild; /** * The user object of the member. */ user: User; /** * The guild-specific nickname of the member. */ get nickname(): IfPartial; /** * The guild-specific avatar hash of the member. * You can use {@link GuildMember.avatarUrl} to get the URL of the avatar. */ get avatar(): IfPartial; /** * Get the URL of the member's guild-specific avatar with default settings (png format) */ get avatarUrl(): IfPartial; /** * Get the URL of the member's guild-specific avatar with custom format and size options * @param options Optional format and size parameters * @returns The avatar URL or null if no avatar is set */ getAvatarUrl(options?: CDNUrlOptions): IfPartial; /** * Is this member muted in Voice Channels? */ get mute(): boolean | undefined; /** * Is this member deafened in Voice Channels? */ get deaf(): boolean | undefined; /** * The date since this member boosted the guild, if applicable. */ get premiumSince(): IfPartial; /** * The flags of the member. * @see https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags */ get flags(): IfPartial; /** * The roles of the member */ get roles(): IfPartial[]>; /** * The joined date of the member */ get joinedAt(): IfPartial; /** * The date when the member's communication privileges (timeout) will be reinstated */ get communicationDisabledUntil(): IfPartial; /** * Is this member yet to pass the guild's Membership Screening requirements? */ get pending(): IfPartial; getVoiceState(): Promise; getPermissions(): Promise>; /** * Set the nickname of the member */ setNickname(nickname: string | null, reason?: string): Promise; /** * Set the member's guild-specific data * This will only work if the current member is the bot itself, and will throw an error if it is not */ setMemberData(data: { /** * Data URI base64 encoded banner image */ banner?: string | null; bio?: string | null; /** * Data URI base64 encoded avatar image */ avatar?: string | null; }, reason?: string): Promise; /** * Add a role to the member */ addRole(roleId: string, reason?: string): Promise; /** * Remove a role from the member */ removeRole(roleId: string, reason?: string): Promise; /** * Kick the member from the guild */ kick(reason?: string): Promise; /** * Ban the member from the guild */ ban(options?: { reason?: string; deleteMessageDays?: number; }): Promise; /** * Mute a member in voice channels */ muteMember(reason?: string): Promise; /** * Unmute a member in voice channels */ unmuteMember(reason?: string): Promise; /** * Deafen a member in voice channels */ deafenMember(reason?: string): Promise; /** * Undeafen a member in voice channels */ undeafenMember(reason?: string): Promise; /** * Set or remove a timeout for a member in the guild */ timeoutMember(communicationDisabledUntil: string, reason?: string): Promise; fetch(): Promise>; } export {}; //# sourceMappingURL=GuildMember.d.ts.map