///
import { DecoratorNode, DOMConversionMap, EditorConfig, LexicalEditor, LexicalNode } from "lexical";
export type SerializedReferenceNode = {
type: "reference";
id: string;
text: string;
version: 1;
};
export declare class ReferenceNode extends DecoratorNode {
__referencedElementId: string;
__text: string;
constructor(referencedElementId: string, text: string, key?: string);
static getType(): string;
static clone(node: ReferenceNode): ReferenceNode;
createDOM(config: any): HTMLElement;
updateDOM(prevNode: ReferenceNode, dom: HTMLElement, config: any): boolean;
decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element;
static importJSON(serializedNode: SerializedReferenceNode): ReferenceNode;
exportJSON(): SerializedReferenceNode;
static importDOM(): DOMConversionMap | null;
/**
* Convert the ReferenceNode to a Codox-compatible node
*/
toCodoxNode(): {
type: string;
text: any;
format: any;
mode: any;
detail: any;
version: any;
style: string;
codox_metadata: {
type: any;
referencedElementId: any;
};
};
/**
* Convert a Codox node to a ReferenceNode
* @param codoxNode The Codox node to convert
* @returns The corresponding ReferenceNode
*/
static fromCodoxNode(codoxNode: any): {
type: any;
version: any;
text: any;
id: any;
};
}
export declare function $isReferenceNode(node: LexicalNode | null | undefined): node is ReferenceNode;
export declare function $createReferenceNode(refId: string, referencedText: string): ReferenceNode;