import type { IViewBased } from "jodit/esm/types/index";
import { UIConversationListItem } from "./conversation-list-item";
import { UIGroup } from "jodit/esm/core/ui/group/group";
import type { IAIAssistantProOptions, IConversationMeta } from "../../interface/index";
export declare class UIConversationList extends UIGroup<IViewBased> {
    private opts;
    elements: UIConversationListItem[];
    private searchInput;
    private activeConversationId;
    private listContainer;
    private conversationItems;
    constructor(view: IViewBased, opts: {
        formatTimestamp: IAIAssistantProOptions['formatTimestamp'];
        showTimestamps: boolean;
    });
    className(): string;
    protected render(): string;
    protected afterRender(): void;
    /**
     * Append child elements to list container
     */
    protected appendChildToContainer(childContainer: HTMLElement): void;
    private createControls;
    setConversations(conversations: IConversationMeta[]): void;
    setActiveConversation(id: string | null): void;
    private onSearch;
    /**
     * Build list of conversation items using ListReconciler
     */
    private buildList;
    /**
     * Set loading state - shows loader next to search input
     */
    setLoading(loading: boolean): void;
    setParentView(view: IViewBased): this;
    destruct(): void;
}
