import { DOMExportOutput, ElementFormatType, LexicalNode, NodeKey, Spread } from 'lexical'; import { DecoratorBlockNode, SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'; export type ImageNodePayload = { src: string; caption?: string; }; type SerializedImageNode = Spread<{ type: 'image'; version: 1; } & ImageNodePayload, SerializedDecoratorBlockNode>; export declare class ImageNode extends DecoratorBlockNode { __src: string; __caption: string; static getType(): string; static clone(node: ImageNode): ImageNode; constructor(src: string, caption?: string, format?: ElementFormatType, key?: NodeKey); createDOM(): HTMLElement; updateDOM(): false; decorate(): JSX.Element; static importJSON(serializedNode: SerializedImageNode): ImageNode; exportJSON(): SerializedImageNode; static importDOM(): { figure: (node: HTMLElement) => { conversion: () => { node: ImageNode; }; }; }; exportDOM(): DOMExportOutput; } export declare function $createImageNode({ src, caption, }: ImageNodePayload): ImageNode; export declare function $isImageNode(node: LexicalNode | null | undefined): node is ImageNode; export {};