import { APIMessage } from "../api"; import { Client } from "../Client"; import { MessageEditPayload } from "../utils/Messaging"; import { Attachment } from "./Attachment"; import { BaseMessage } from "./BaseMessage"; import { Embed } from "./Embed"; import { EmbedMedia } from "./EmbedMedia"; import { EmbedWeb } from "./EmbedWeb"; import { Emoji } from "./Emoji"; export declare class Message extends BaseMessage { constructor(client: Client, data: APIMessage); get content(): string; get attachments(): Attachment[]; get edited(): Date; get nonce(): string; get masquerade(): { name?: string; avatar?: string; colour?: string; }; generateMasqAvatarURL(): string; get authorID(): string; get author(): import("./User").User; fetchAuthor(fetchNew?: boolean): Promise; get member(): import("./Member").Member; fetchMember(): Promise; get mentionIDs(): string[]; get mentions(): import("./User").User[]; fetchMentions(): Promise; get replyIDs(): string[]; get replies(): BaseMessage[]; fetchReplies(): Promise; /** Returns an array of embed objects for this message. */ get embeds(): (EmbedMedia | EmbedWeb | Embed)[]; get reactions(): { emoji: string; userIDs: string[]; users: import("./User").User[]; }[]; /** If the message author allows reactions on their messages. */ get restrictReactions(): boolean; react(emoji: Emoji | string): Promise; unreact(emoji: Emoji | string): Promise; clearReactions(): Promise; /** Adds an embed to this message. (used internally) */ appendEmbed({ embeds }: Pick, "embeds">): void; edit(data: MessageEditPayload): Promise; }