import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from 'lexical'; import { DecoratorNode } from 'lexical'; import { type JSX } from 'react'; export interface VideoPayload { key?: NodeKey; src: string; width?: number; height?: number; maxWidth?: number; } export type SerializedVideoNode = Spread<{ height?: number; maxWidth: number; src: string; width?: number; }, SerializedLexicalNode>; export declare class VideoNode extends DecoratorNode { __src: string; __width: 'inherit' | number; __height: 'inherit' | number; __maxWidth: number; static getType(): string; static clone(node: VideoNode): VideoNode; static importJSON(serializedNode: SerializedVideoNode): VideoNode; exportDOM(): DOMExportOutput; static importDOM(): DOMConversionMap | null; constructor(src: string, maxWidth: number, width?: 'inherit' | number, height?: 'inherit' | number, key?: NodeKey); exportJSON(): SerializedVideoNode; setWidthAndHeight(width: 'inherit' | number, height: 'inherit' | number): void; createDOM(config: EditorConfig): HTMLElement; updateDOM(): false; getSrc(): string; setSrc(src: string): void; decorate(): JSX.Element; } export declare function $createVideoNode({ height, maxWidth, src, width, key }: VideoPayload): VideoNode; export declare function $isVideoNode(node: LexicalNode | null | undefined): node is VideoNode;