import type { DOMExportOutput, EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode } from 'lexical'; import type { JsonValue } from 'type-fest'; import { DecoratorNode } from 'lexical'; import type { RichTextEditorComponentNodeData, RichTextEditorComponentNodeSnapshot } from '../types'; export interface SerializedInlineComponentNode extends SerializedLexicalNode { data: RichTextEditorComponentNodeData; type: 'sd-inline-component'; version: 1; } export declare class InlineComponentNode extends DecoratorNode { __data: RichTextEditorComponentNodeData; static getType(): string; static clone(node: InlineComponentNode): InlineComponentNode; static importJSON(serializedNode: SerializedLexicalNode & Record): InlineComponentNode; constructor(data?: RichTextEditorComponentNodeData, key?: NodeKey); createDOM(): HTMLElement; updateDOM(previousNode: InlineComponentNode, element: HTMLElement): boolean; decorate(_editor: LexicalEditor, _config: EditorConfig): null; exportDOM(): DOMExportOutput; exportJSON(): SerializedInlineComponentNode; getData(): RichTextEditorComponentNodeSnapshot; getTextContent(): string; setValue(value: JsonValue): this; setData(data: RichTextEditorComponentNodeData): this; isInline(): true; isIsolated(): false; isKeyboardSelectable(): true; } export declare function $createInlineComponentNode(data: RichTextEditorComponentNodeData): InlineComponentNode; export declare function $isInlineComponentNode(node: LexicalNode | null | undefined): node is InlineComponentNode;