import { SanitizedUser, User } from './User.js'; export interface SanitizedMessage { /** * Message unique id */ id: number; /** * Message room */ room: number | null; /** * Message content */ content: string; /** * Message content, formatted as html */ formatted: string; /** * Quoted message if any */ quoted: SanitizedMessage | null; /** * Author */ user: SanitizedUser; /** * Timestamp in seconds */ createdTimestamp: number; /** * Message metadata */ meta: MessageMeta; } export type MessageMeta = { device: string; audio: number; }; export type MessageConstructorOptions = { id?: number; room?: number | null; content: string; formatted?: string | null; user: User; quoted?: Message | null; createdTime?: Date | null; meta?: Partial | null; }; export declare class Message { static ID: number; readonly id: number; readonly room: number | null; content: string; formatted: string; quoted: Message | null; readonly user: User; readonly createdTime: Date; readonly meta: MessageMeta; constructor(options: MessageConstructorOptions); /** * Edit a message content * @param content * @param formatted */ edit(content: string, formatted?: string, quoted?: Message | null): void; /** * Append raw text to the message * @param content * @param formatted If set, will not be built from the content */ append(content: string, formatted?: string): void; /** * Get the number of lines of the message */ getLineCount(): number; /** * */ sanitized(quoteDepth?: number): SanitizedMessage; }