@rocket.chat/apps-engine
Version:
The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.
46 lines (45 loc) • 2.16 kB
TypeScript
import type { LayoutBlock } from '@rocket.chat/ui-kit';
import type { IMessageBuilder } from '../../definition/accessors';
import type { IMessage, IMessageAttachment } from '../../definition/messages';
import { RocketChatAssociationModel } from '../../definition/metadata';
import type { IRoom } from '../../definition/rooms';
import type { IBlock } from '../../definition/uikit';
import { BlockBuilder } from '../../definition/uikit';
import type { IUser } from '../../definition/users';
export declare class MessageBuilder implements IMessageBuilder {
kind: RocketChatAssociationModel.MESSAGE;
private msg;
constructor(message?: IMessage);
setData(data: IMessage): IMessageBuilder;
setUpdateData(data: IMessage, editor: IUser): IMessageBuilder;
setThreadId(threadId: string): IMessageBuilder;
getThreadId(): string;
setRoom(room: IRoom): IMessageBuilder;
getRoom(): IRoom;
setSender(sender: IUser): IMessageBuilder;
getSender(): IUser;
setText(text: string): IMessageBuilder;
getText(): string;
setEmojiAvatar(emoji: string): IMessageBuilder;
getEmojiAvatar(): string;
setAvatarUrl(avatarUrl: string): IMessageBuilder;
getAvatarUrl(): string;
setUsernameAlias(alias: string): IMessageBuilder;
getUsernameAlias(): string;
addAttachment(attachment: IMessageAttachment): IMessageBuilder;
setAttachments(attachments: Array<IMessageAttachment>): IMessageBuilder;
getAttachments(): Array<IMessageAttachment>;
replaceAttachment(position: number, attachment: IMessageAttachment): IMessageBuilder;
removeAttachment(position: number): IMessageBuilder;
setEditor(user: IUser): IMessageBuilder;
getEditor(): IUser;
setGroupable(groupable: boolean): IMessageBuilder;
getGroupable(): boolean;
setParseUrls(parseUrls: boolean): IMessageBuilder;
getParseUrls(): boolean;
getMessage(): IMessage;
addBlocks(blocks: BlockBuilder | Array<IBlock | LayoutBlock>): this;
setBlocks(blocks: BlockBuilder | Array<IBlock | LayoutBlock>): this;
getBlocks(): (IBlock | LayoutBlock)[];
addCustomField(key: string, value: any): IMessageBuilder;
}