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 BilibiliVideoPayload { id: string; page: string | undefined; } export type SerializedBilibiliNode = Spread<{ videoID: string; page?: string; type: 'bilibili'; version: 1; }, SerializedDecoratorBlockNode>; export declare class BilibiliNode extends DecoratorBlockNode { __id: string; __page?: string; static getType(): string; static clone(node: BilibiliNode): BilibiliNode; static importJSON(serializedNode: SerializedBilibiliNode): BilibiliNode; exportJSON(): SerializedBilibiliNode; constructor(id: string, page: string | undefined, 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 $createBilibiliNode({ id, page }: BilibiliVideoPayload): BilibiliNode; export declare function $isBilibiliNode(node: BilibiliNode | LexicalNode | null | undefined): node is BilibiliNode;