import { APIGuildMember, APIInteractionDataResolvedGuildMember, APIInteractionGuildMember, UserAvatarFormat } from "discord-api-types/v10"; import Permissions from "../basic/Permissions.mjs"; import User from "./User.mjs"; /** A guild member */ export declare class GuildMember { /** This users guild nickname */ nickname?: string | null; /** The member's guild avatar hash */ avatar?: string | null; /** Array of role object ids */ roles: string[]; /** When the user joined the guild */ joinedAt: Date; /** When the user started boosting the guild */ premiumSince?: string | null; /** Whether the user has not yet passed the guild's Membership Screening requirements */ pending?: boolean; /** Timestamp of when the time out will be removed; until then, they cannot interact with the guild */ communicationDisabledUntil?: string | null; /** Whether the user is deafened in voice channels */ deaf: boolean; /** Whether the user is muted in voice channels */ mute: boolean; /** The guild id that this member is in */ guildId: string; /** The members's user id */ userId: string; /** The member's user object */ user?: User; constructor(member: APIGuildMember, guildId: string, userId?: string); /** The member's custom avatar in the guild (not to be confused with {@link User.avatarURL}) */ memberAvatarURL(config?: { extension: UserAvatarFormat; size: number; animatedExtension?: UserAvatarFormat; }): string | null; } /** A guild member but from an interaction */ export declare class InteractionGuildMember extends GuildMember { user: User; /** The permissions the member has */ permissions: Permissions; constructor(member: APIInteractionGuildMember, guildId: string, userId?: string); } /** A guild member but from the resolved part of an interaction */ export declare class InteractionDataResolvedGuildMember extends InteractionGuildMember { constructor(member: APIInteractionDataResolvedGuildMember, guildId: string, userId: string); /** @deprecated This will never be filled with data */ deaf: never; /** @deprecated This will never be filled with data */ muted: never; /** @deprecated This will never be filled with data */ user: never; } export default GuildMember;