import type { IViewBased } from "jodit/esm/types/index";
import { UIMessageListItem } from "./item/message-list-item";
import { UIGroup } from "jodit/esm/core/ui/group/group";
import type { IAIAssistantProOptions, IAIMessage } from "../../interface/index";
export declare class UIMessageList extends UIGroup<IViewBased> {
    private params;
    elements: UIMessageListItem[];
    private messages;
    private messageItems;
    private scrollContainer;
    private autoScrollEnabled;
    className(): string;
    constructor(view: IViewBased, params: {
        formatMessageContent: IAIAssistantProOptions['formatMessageContent'];
        formatTimestamp: IAIAssistantProOptions['formatTimestamp'];
        showTimestamps: boolean;
        showCopyMessageAction: boolean;
        showRestartMessageAction: boolean;
        showEditMessageAction: boolean;
        showDeleteMessageAction: boolean;
    });
    protected render(): string;
    protected afterRender(): void;
    /**
     * Handle user scroll events - check if user has scrolled away from bottom
     */
    protected onUserScroll(): void;
    /**
     * Handle message sent event - always enable auto-scroll when user sends message
     */
    protected onMessageSent(): void;
    /**
     * Append child elements to scroll container
     */
    protected appendChildToContainer(childContainer: HTMLElement): void;
    setMessages(messages: Readonly<IAIMessage[]>): void;
    private updateMessageList;
    private scrollToBottom;
    destruct(): void;
}
