import { APIUser, RelationshipStatus } from "../api"; import { Client } from "../Client"; import { UserBadges } from "../utils/UserBadges"; import { UserFlags } from "../utils/UserFlags"; import { UserPermissionFlags } from "../utils/UserPermissionFlags"; import { Attachment, AttachmentArgs } from "./Attachment"; import { BaseObject } from "./BaseObject"; declare class Bot { private parent; constructor(parent: User); get ownerID(): string; get owner(): User; fetchOwner(fetchNew?: boolean): Promise; } export interface UserMutuals { friends: string[]; servers: string[]; } export interface UserProfile { background: Attachment | null; bio: string | null; generateBackgroundURL(...args: AttachmentArgs): string | null; } export declare class User extends BaseObject { constructor(client: Client, data: APIUser); get username(): string; get bot(): Bot; get online(): boolean; get privileged(): boolean; get badges(): UserBadges; get flags(): UserFlags; get avatar(): Attachment; get defaultAvatarURL(): string; generateAvatarURL(...args: AttachmentArgs): string; get relationship(): RelationshipStatus; get status(): string; get presence(): "Online" | "Idle" | "Focus" | "Busy" | "Invisible"; /** Send this user a friend request. */ addFriend(): Promise; /** Unfriend this user. */ removeFriend(): Promise; /** Block this user. */ block(): Promise; /** Unblock this user. */ unblock(): Promise; /** Open a DM with this user. */ openDM(): Promise; /** Fetch this user's profile information. */ fetchProfile(): Promise; /** Fetch your mutual friends/servers with this user. */ fetchMutual(): Promise; get permissionsAgainst(): UserPermissionFlags; } export {};