import type { DOMConversionMap, DOMExportOutput, EditorConfig, ElementFormatType, LexicalEditor, LexicalNode, NodeKey, Spread } from 'lexical'; import { DecoratorBlockNode, SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode'; import type { JSX } from 'react'; export interface Embed { title: string; url: string; originalUrl: string; } export type SerializedBlockletEmbedNode = Spread<{ embed: Embed; type: 'blocklet-embed'; version: 1; }, SerializedDecoratorBlockNode>; export declare class BlockletEmbedNode extends DecoratorBlockNode { __embed: Embed; static getType(): string; static clone(node: BlockletEmbedNode): BlockletEmbedNode; static importJSON(serializedNode: SerializedBlockletEmbedNode): BlockletEmbedNode; exportJSON(): SerializedBlockletEmbedNode; constructor(__embed: Embed, format?: ElementFormatType, key?: NodeKey); exportDOM(): DOMExportOutput; static importDOM(): DOMConversionMap | null; updateDOM(): false; getId(): string; getTextContent(_includeInert?: boolean | undefined, _includeDirectionless?: false | undefined): string; decorate(_editor: LexicalEditor, config: EditorConfig): JSX.Element; isInline(): false; } export declare function $createBlockletEmbedNode(embed: Embed): BlockletEmbedNode; export declare function $isBlockletEmbedNode(node: BlockletEmbedNode | LexicalNode | null | undefined): node is BlockletEmbedNode;