import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from 'lexical'; import { DecoratorNode } from 'lexical'; import { type JSX } from 'react'; import { GithubInfoType } from './util'; export type SerializedGithubNode = Spread<{ title: string; image: string; link: string; type: 'github'; version: 1; }, SerializedLexicalNode>; export declare class GithubNode extends DecoratorNode { __title: string; __image: string; __link: string; static getType(): string; static clone(node: GithubNode): GithubNode; static importJSON(serializedNode: SerializedGithubNode): GithubNode; exportDOM(): DOMExportOutput; static importDOM(): DOMConversionMap | null; constructor(title: string, image: string, link: string, key?: NodeKey); exportJSON(): SerializedGithubNode; createDOM(config: EditorConfig): HTMLElement; updateDOM(): false; decorate(): JSX.Element; } export declare function $createGithubNode(github: GithubInfoType): GithubNode; export declare function $isGithubNode(node: GithubNode | LexicalNode | null | undefined): node is GithubNode;