import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from 'lexical'; import { type JSX } from 'react'; import { DecoratorNode } from 'lexical'; export declare const getAbsoluteUrl: ({ fileUrl, name }: { fileUrl: string; name?: string | undefined; }) => string; export interface FilePayload { key?: NodeKey; src: string; name?: string; mimetype?: string; width?: number | string; height?: number | string; } export type SerializedFileNode = Spread<{ height?: number | string; src: string; name?: string; mimetype?: string; width?: number | string; }, SerializedLexicalNode>; export declare class FileNode extends DecoratorNode { __src: string; __name?: string; __mimetype?: string; __width: 'inherit' | number | string; __height: 'inherit' | number | string; static getType(): string; static clone(node: FileNode): FileNode; static importJSON(serializedNode: SerializedFileNode): FileNode; exportDOM(): DOMExportOutput; static importDOM(): DOMConversionMap | null; constructor(src: string, name?: string, mimetype?: string, width?: 'inherit' | number | string, height?: 'inherit' | number | string, key?: NodeKey); exportJSON(): SerializedFileNode; 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 $createFileNode({ height, src, name, mimetype, width, key }: FilePayload): FileNode; export declare function $isFileNode(node: LexicalNode | null | undefined): node is FileNode;