import type { DOMConversionMap, DOMExportOutput, EditorConfig, ElementFormatType, LexicalEditor, LexicalNode, NodeKey, Spread } from 'lexical'; import { DecoratorBlockNode, SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode'; import { type JSX } from 'react'; import type { Properties } from './utils'; export interface ComponentData { id: string; name: string; properties?: Properties; } export type SerializedPagesKitComponentNode = Spread<{ data: ComponentData; type: 'pages-kit-component'; version: 1; }, SerializedDecoratorBlockNode>; export declare class PagesKitComponentNode extends DecoratorBlockNode { __data: ComponentData; static getType(): string; static clone(node: PagesKitComponentNode): PagesKitComponentNode; static importJSON(serializedNode: SerializedPagesKitComponentNode): PagesKitComponentNode; exportJSON(): SerializedPagesKitComponentNode; constructor(data: ComponentData, format?: ElementFormatType, key?: NodeKey); exportDOM(): DOMExportOutput; static importDOM(): DOMConversionMap | null; updateDOM(): false; getId(): string; setProperties(properties: any): void; decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element; isInline(): false; } export declare function $createPagesKitComponentNode(data: ComponentData): PagesKitComponentNode; export declare function $isPagesKitComponentNode(node: PagesKitComponentNode | LexicalNode | null | undefined): node is PagesKitComponentNode;