import type { BushClient, BushGuild, BushGuildMember, BushGuildMemberResolvable, BushUser, BushUserResolvable } from '#lib'; import { CachedManager, type AddGuildMemberOptions, type BanOptions, type Collection, type FetchMemberOptions, type FetchMembersOptions, type GuildListMembersOptions, type GuildMemberEditData, type GuildPruneMembersOptions, type GuildSearchMembersOptions, type Snowflake } from 'discord.js'; import type { RawGuildMemberData } from 'discord.js/typings/rawDataTypes'; export class BushGuildMemberManager extends CachedManager { public constructor(guild: BushGuild, iterable?: Iterable); public declare readonly client: BushClient; public guild: BushGuild; public add( user: BushUserResolvable, options: AddGuildMemberOptions & { fetchWhenExisting: false } ): Promise; public add(user: BushUserResolvable, options: AddGuildMemberOptions): Promise; public ban(user: BushUserResolvable, options?: BanOptions): Promise; public edit(user: BushUserResolvable, data: GuildMemberEditData, reason?: string): Promise; public fetch( options: BushUserResolvable | FetchMemberOptions | (FetchMembersOptions & { user: BushUserResolvable }) ): Promise; public fetch(options?: FetchMembersOptions): Promise>; public kick(user: BushUserResolvable, reason?: string): Promise; public list(options?: GuildListMembersOptions): Promise>; public prune(options: GuildPruneMembersOptions & { dry?: false; count: false }): Promise; public prune(options?: GuildPruneMembersOptions): Promise; public search(options: GuildSearchMembersOptions): Promise>; public unban(user: BushUserResolvable, reason?: string): Promise; }