import { DOMExportOutput, EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedTextNode, Spread, TextNode } from 'lexical';
type SerializedReferenceNode = Spread<{
    referenceId: string;
    name: string;
}, SerializedTextNode>;
export declare class ReferenceNode extends TextNode {
    __referenceId: string;
    __name: string;
    static getType(): string;
    static clone(node: ReferenceNode): ReferenceNode;
    constructor(referenceId: string, name: string, key?: NodeKey);
    isKeyboardSelectable(): boolean;
    canBeEmpty(): boolean;
    canInsertTextAfter(): boolean;
    canInsertTextBefore(): boolean;
    createDOM(config: EditorConfig): HTMLElement;
    updateDOM(prevNode: ReferenceNode, dom: HTMLElement): boolean;
    exportDOM(_editor: LexicalEditor): DOMExportOutput;
    static importJSON(serializedNode: SerializedReferenceNode): ReferenceNode;
    exportJSON(): SerializedReferenceNode;
    getTextContent(): string;
}
export declare function $createReferenceNode(referenceId: string, name: string): ReferenceNode;
export declare function $isReferenceNode(node: LexicalNode | null | undefined): node is ReferenceNode;
export {};
