import type { Spread } from 'lexical';
import { type DOMConversionMap, type DOMExportOutput, type EditorConfig, type LexicalNode, type NodeKey, type SerializedTextNode, TextNode } from 'lexical';
export type SerializedMentionNode = Spread<{
    mention: {
        id: string;
        name: string;
    };
    notified?: boolean;
}, SerializedTextNode>;
export declare class MentionNode extends TextNode {
    __mention: {
        id: string;
        name: string;
    };
    __notified: boolean;
    static getType(): string;
    static clone(node: MentionNode): MentionNode;
    static importJSON(serializedNode: SerializedMentionNode): MentionNode;
    constructor(mention: {
        id: string;
        name: string;
    }, notified?: boolean, key?: NodeKey);
    exportJSON(): SerializedMentionNode;
    createDOM(config: EditorConfig): HTMLElement;
    exportDOM(): DOMExportOutput;
    static importDOM(): DOMConversionMap | null;
    isTextEntity(): true;
    canInsertTextBefore(): boolean;
    canInsertTextAfter(): boolean;
}
export declare function $createMentionNode(mention: any, notified?: boolean): MentionNode;
export declare function $isMentionNode(node: LexicalNode | null | undefined): node is MentionNode;
