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