import { MentionEditorExtensionConfiguration, IMenuBarDefinition, ResolvedUserIdentity } from "../../../../models";
import { RichTextContentExtensionData } from "../../RichTextContentHelper";
export declare class MentionContentData extends RichTextContentExtensionData {
    users: ResolvedUserIdentity[];
    constructor(users?: any);
}
export declare class MentionConfiguration {
    static extensionName: string;
    private suggestionRange;
    private filteredUsers;
    private navigatedUserIndex;
    private insertMention;
    onEditorUpdated?: (extensionName?: string, data?: MentionContentData) => void;
    suggestionMenu: IMenuBarDefinition;
    private selectionDebounce;
    private mentionUser;
    private identityService;
    constructor(options: {
        onEditorUpdated: (extensionName?: string, data?: MentionContentData) => void;
    });
    getConfig(): MentionEditorExtensionConfiguration;
    getToolbarConfig: () => {
        menuHandler: (menu: IMenuBarDefinition) => void;
        selectUser: (user: ResolvedUserIdentity) => void;
    };
    menuHandler: (menu: IMenuBarDefinition) => void;
    getItems: (query: string, virtualNode: any) => Promise<ResolvedUserIdentity[]>;
    onEnter: ({ items, query, range, command, virtualNode }: {
        items: any;
        query: any;
        range: any;
        command: any;
        virtualNode: any;
    }) => void;
    onChange: ({ items, query, range, command, virtualNode }: {
        items: any;
        query: any;
        range: any;
        command: any;
        virtualNode: any;
    }) => void;
    onExit: () => void;
    onKeyDown: ({ event }: {
        event: any;
    }) => boolean;
    onFilter: (items: any, query: any) => any;
    onRemoveUser: (user: ResolvedUserIdentity) => void;
    onSelectUser: (user: ResolvedUserIdentity) => void;
    upHandler: () => void;
    downHandler: () => void;
    enterHandler: () => void;
    selectUser: (user: ResolvedUserIdentity) => void;
}
