import type { Spread, DOMConversionMap, DOMExportOutput, EditorConfig, NodeKey, SerializedTextNode } from 'lexical';
import { TextNode } from 'lexical';
import { IBasicUser } from '../../../models';
export type SerializedMentionNode = Spread<{
    mentionText: string;
    mentionUser?: IBasicUser;
}, SerializedTextNode>;
export declare class MentionNode extends TextNode {
    mentionText: string;
    mentionUser?: IBasicUser;
    static getType(): string;
    static clone(node: MentionNode): MentionNode;
    static importJSON(serializedNode: SerializedMentionNode): MentionNode;
    constructor(mentionText: string, mentionUser?: IBasicUser, text?: string, key?: NodeKey);
    exportJSON(): SerializedMentionNode;
    createDOM(config: EditorConfig): HTMLElement;
    exportDOM(): DOMExportOutput;
    static importDOM(): DOMConversionMap | null;
    isTextEntity(): true;
    canInsertTextBefore(): boolean;
    canInsertTextAfter(): boolean;
}
export declare function createMentionNode(mentionName: string, mentionUser?: IBasicUser): MentionNode;
