import { LitElement } from 'lit';
import type { MentionItem } from './nile-rte-mentions-item';
type MentionsConfig = Record<string, MentionItem[]>;
export declare class NileRteMentions extends LitElement {
    protected createRenderRoot(): this;
    displayFormat: boolean;
    mentions: MentionsConfig;
    mentionFormat: Record<string, {
        prefix?: string;
        suffix?: string;
    }>;
    private itemsFormats;
    private getTriggerFormat;
    private formatLabel;
    mentionColors: Record<string, string>;
    private externalConfig;
    private itemsConfig;
    private mentionActiveIndex;
    private itemsColors;
    private get config();
    private editorEl;
    private hostEl;
    private dropdownEl;
    private menuEl;
    private lastRange;
    private mentionOpen;
    private mentionTrigger;
    private mentionQuery;
    private mentionSuggestions;
    private mentionFiltered;
    private mentionX;
    private mentionY;
    private triggerBtn;
    private mo;
    attach(editorEl: HTMLElement, hostEl: HTMLElement): void;
    detach(): void;
    setExternalConfig(cfg: MentionsConfig): void;
    disconnectedCallback(): void;
    private rebuildConfigFromChildren;
    private injectStyles;
    private getTriggerColor;
    private ensureMentionDropdown;
    private onSelectionChange;
    private saveSelection;
    private restoreSelection;
    private getCaretClientRect;
    private onEditorInput;
    private onEditorKeyUp;
    private onEditorKeyDown;
    private openMention;
    private closeMention;
    private handleMention;
    private updateMentionFiltered;
    private renderMentionList;
    private repositionMention;
    private selectMention;
}
declare global {
    interface HTMLElementTagNameMap {
        'nile-rte-mentions': NileRteMentions;
    }
}
export {};
