/** * RevealUI Rich Text Editor - Image Node * * A DecoratorNode for rendering images in the Lexical editor. */ import type { DOMExportOutput, ElementFormatType, LexicalCommand, LexicalNode, NodeKey, Spread } from 'lexical'; import * as React from 'react'; import { DecoratorBlockNode, type SerializedDecoratorBlockNode } from './DecoratorBlockNode.js'; export type ImageNodeData = { src: string; alt?: string; width?: number; height?: number; caption?: string; }; export type SerializedImageNode = Spread<{ children?: never; type: 'image'; fields: ImageNodeData; }, SerializedDecoratorBlockNode>; export declare const INSERT_IMAGE_COMMAND: LexicalCommand; export declare const OPEN_IMAGE_UPLOAD_COMMAND: LexicalCommand<{ data?: ImageNodeData | null; nodeKey?: string; }>; export declare class ImageNode extends DecoratorBlockNode { __data: ImageNodeData; constructor({ data, format, key, }: { data: ImageNodeData; format?: ElementFormatType; key?: NodeKey; }); static clone(node: ImageNode): ImageNode; static getType(): string; /** * Import from JSON - takes saved data and converts it into a node. */ static importJSON(serializedNode: SerializedImageNode): ImageNode; /** * Render React component for the image */ decorate(): React.ReactElement; exportDOM(): DOMExportOutput; exportJSON(): SerializedImageNode; getData(): ImageNodeData; setData(data: ImageNodeData): void; getTextContent(): string; } export declare function $createImageNode(data: ImageNodeData): ImageNode; export declare function $isImageNode(node: LexicalNode | null | undefined): node is ImageNode; //# sourceMappingURL=ImageNode.d.ts.map