import type { IViewBased } from "jodit/esm/types/index";
import type { IAIAssistantProOptions, IAIMessage } from "../../../interface/index";
import { UIElement } from "jodit/esm/core/ui/index";
export declare class UIMessageListItem extends UIElement<IViewBased> {
    readonly message: IAIMessage;
    private opts;
    className(): string;
    private artifactGroup;
    private actionsButton;
    private contextMenu;
    constructor(view: IViewBased, message: IAIMessage, opts: {
        formatMessageContent: IAIAssistantProOptions['formatMessageContent'];
        formatTimestamp: IAIAssistantProOptions['formatTimestamp'];
        showTimestamps: boolean;
        showCopyMessageAction: boolean;
        showRestartMessageAction: boolean;
        showEditMessageAction: boolean;
        showDeleteMessageAction: boolean;
    });
    protected render(): string;
    protected onReady(): void;
    private updateContent;
    /**
     * Render message actions button (3-dot menu)
     */
    private renderActionsButton;
    /**
     * Show actions menu using ContextMenu
     */
    private showActionsMenu;
    /**
     * Render artifacts
     */
    private renderArtifacts;
    /**
     * Create tool call element
     */
    private createToolCallElement;
    /**
     * Create expandable section for tool details
     */
    private createExpandableSection;
    /**
     * Get tool status text
     */
    private getToolStatusText;
    /**
     * Format message content using custom formatter
     */
    private formatMessageContent;
    /**
     * Format timestamp using custom formatter
     */
    private formatTimestamp;
    /**
     * Update message (for streaming or updates)
     */
    updateMessage(message: IAIMessage): void;
    destruct(): void;
}
