deep-chat
Version:
Customizable chat component for AI APIs
35 lines • 2.6 kB
TypeScript
import { MessageBodyElements, MessageContentI, MessageToElements } from '../../../../types/messagesInternal';
import { MessageContent } from '../../../../types/messages';
import { Avatars } from '../../../../types/avatars';
import { Names } from '../../../../types/names';
import { MessageElements } from '../messages';
export declare class MessageUtils {
static readonly AI_ROLE = "ai";
static readonly USER_ROLE = "user";
private static readonly EMPTY_MESSAGE_CLASS;
private static readonly POSITION_TOP_MESSAGE_CLASS;
private static readonly POSITION_MIDDLE_MESSAGE_CLASS;
private static readonly POSITION_BOTTOM_MESSAGE_CLASS;
static getLastElementsByClass(messagesElements: MessageElements[], classes: string[], avoidedClasses?: string[]): MessageElements | undefined;
static getLastMessage(msgToEls: MessageToElements, role: string, content?: keyof Omit<MessageContent, 'role'>): MessageContentI | undefined;
static getLastTextToElement(elemsToText: [MessageElements, string][], elems: MessageElements): [MessageElements, string] | undefined;
static overwriteMessage(messageToElements: MessageToElements, messagesElements: MessageElements[], content: string, role: string, contentType: 'text' | 'html', className: string): MessageElements | undefined;
static getRoleClass(role: string): string;
static fillEmptyMessageElement(bubbleElement: HTMLElement, content: string): void;
static unfillEmptyMessageElement(bubbleElement: HTMLElement, newContent: string): void;
static getLastMessageBubbleElement(messagesEl: HTMLElement): Element | undefined;
static getLastMessageElement(messagesEl: HTMLElement): Element;
static addRoleElements(bubbleElement: HTMLElement, role: string, avatars?: Avatars, names?: Names): void;
static hideRoleElements(messageElementRefs: MessageElements[], avatars: boolean, names: boolean): void;
static revealRoleElements(innerContainer: HTMLElement, avatars?: Avatars, names?: Names): void;
static updateRefArr<T>(arr: Array<T>, item: T, isTop: boolean): void;
static buildRoleContainerClass(role: string): string;
private static addNewPositionClasses;
private static getNumberOfElements;
private static filterdMessageElements;
private static findMessageElements;
private static generateMessageBodyElements;
static generateMessageBody(messageContent: MessageContentI, messageElementRefs: MessageElements[]): MessageBodyElements;
static classifyMessages(role: string, messageElementRefs: MessageElements[]): void;
}
//# sourceMappingURL=messageUtils.d.ts.map