import type { IconKey } from '../core/Icon'; import type { RefObject, ReactNode, ComponentType } from 'react'; import type { Options } from 'mdast-util-to-markdown'; import type { Config } from 'mdast-util-from-markdown/lib'; import type { Extension } from 'micromark-util-types'; import type { Content } from 'mdast'; import type { MdastImportVisitor, LexicalVisitor } from '../..'; import type { EditorSubscription, EditorInFocus, BlockType } from '../core'; import type { InitialEditorStateType } from '@lexical/react/LexicalComposer'; import type { JsxComponentDescriptor } from '../jsx'; import type { HistoryState } from '@lexical/history'; import type { SystemSpec, Realm, RealmNode, PluginConstructor, TypedRealm, ValueForKey, SystemKeys, ValuesForKeys, SystemDict } from '../../gurx'; /// import type { RangeSelection, Klass, LexicalNode, TextFormatType, ElementNode, DecoratorNode, LexicalCommand, LexicalEditor } from 'lexical'; import { CreateImageNodeOptions } from './ImageNode'; export * from './ImageNode'; export type ImageUploadHandler = ((image: File) => Promise) | null; export type ImagePreviewHandler = ((imageSource: string) => Promise) | null; export interface InsertImageFormValues { src?: string; altText?: string; title?: string; file: FileList; } type InactiveImageDialogState = { type: 'inactive'; }; type NewImageDialogState = { type: 'new'; }; type EditingImageDialogState = { type: 'editing'; nodeKey: string; initialValues: Omit; }; /** @internal */ export declare const imageSystem: SystemSpec<[SystemSpec<[], (r: Realm) => { activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }>], (r: Realm, [{ rootEditor }]: [{ activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }]) => { imageDialogState: RealmNode; saveImage: RealmNode; openNewImageDialog: RealmNode; openEditImageDialog: RealmNode>; closeImageDialog: RealmNode; imageUploadHandler: RealmNode; imageAutocompleteSuggestions: RealmNode; disableImageResize: RealmNode; insertImage: RealmNode; imagePreviewHandler: RealmNode; }>; interface ImagePluginParams { imageUploadHandler?: ImageUploadHandler; imageAutocompleteSuggestions?: string[]; disableImageResize?: boolean; imagePreviewHandler?: ImagePreviewHandler; } export declare const /** @internal */ imagePlugin: PluginConstructor { activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }>], (r: Realm, [{ rootEditor }]: [{ activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }]) => { imageDialogState: RealmNode; saveImage: RealmNode; openNewImageDialog: RealmNode; openEditImageDialog: RealmNode>; closeImageDialog: RealmNode; imageUploadHandler: RealmNode; imageAutocompleteSuggestions: RealmNode; disableImageResize: RealmNode; insertImage: RealmNode; imagePreviewHandler: RealmNode; }>, ImagePluginParams>, /** @internal */ imagePluginHooks: { useRealmContext: () => TypedRealm<{ imageDialogState: RealmNode; saveImage: RealmNode; openNewImageDialog: RealmNode; openEditImageDialog: RealmNode>; closeImageDialog: RealmNode; imageUploadHandler: RealmNode; imageAutocompleteSuggestions: RealmNode; disableImageResize: RealmNode; insertImage: RealmNode; imagePreviewHandler: RealmNode; } & { activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }>; useEmitter: (key: K, callback: (value: ValueForKey<{ imageDialogState: RealmNode; saveImage: RealmNode; openNewImageDialog: RealmNode; openEditImageDialog: RealmNode>; closeImageDialog: RealmNode; imageUploadHandler: RealmNode; imageAutocompleteSuggestions: RealmNode; disableImageResize: RealmNode; insertImage: RealmNode; imagePreviewHandler: RealmNode; } & { activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }, K>) => void) => void; useEmitterValues: ; saveImage: RealmNode; openNewImageDialog: RealmNode; openEditImageDialog: RealmNode>; closeImageDialog: RealmNode; imageUploadHandler: RealmNode; imageAutocompleteSuggestions: RealmNode; disableImageResize: RealmNode; insertImage: RealmNode; imagePreviewHandler: RealmNode; } & { activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }>>(...keys: K_1) => ValuesForKeys<{ imageDialogState: RealmNode; saveImage: RealmNode; openNewImageDialog: RealmNode; openEditImageDialog: RealmNode>; closeImageDialog: RealmNode; imageUploadHandler: RealmNode; imageAutocompleteSuggestions: RealmNode; disableImageResize: RealmNode; insertImage: RealmNode; imagePreviewHandler: RealmNode; } & { activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }, K_1>; usePubKeys: () => (values: SystemDict<{ imageDialogState: RealmNode; saveImage: RealmNode; openNewImageDialog: RealmNode; openEditImageDialog: RealmNode>; closeImageDialog: RealmNode; imageUploadHandler: RealmNode; imageAutocompleteSuggestions: RealmNode; disableImageResize: RealmNode; insertImage: RealmNode; imagePreviewHandler: RealmNode; } & { activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }>) => void; usePublisher: (key: K_2) => (value: ValueForKey<{ imageDialogState: RealmNode; saveImage: RealmNode; openNewImageDialog: RealmNode; openEditImageDialog: RealmNode>; closeImageDialog: RealmNode; imageUploadHandler: RealmNode; imageAutocompleteSuggestions: RealmNode; disableImageResize: RealmNode; insertImage: RealmNode; imagePreviewHandler: RealmNode; } & { activeEditor: RealmNode; inFocus: RealmNode; historyState: RealmNode; currentSelection: RealmNode; jsxIsAvailable: RealmNode; jsxComponentDescriptors: RealmNode; initialRootEditorState: RealmNode; rootEditor: RealmNode; createRootEditorSubscription: RealmNode; createActiveEditorSubscription: RealmNode; importVisitors: RealmNode[]>; syntaxExtensions: RealmNode; mdastExtensions: RealmNode<(Partial | Partial[])[] | null | undefined>; usedLexicalNodes: RealmNode[]>; addImportVisitor: RealmNode>; addLexicalNode: RealmNode>; addSyntaxExtension: RealmNode; addMdastExtension: RealmNode | Partial[]>; toMarkdownExtensions: RealmNode; toMarkdownOptions: RealmNode; addToMarkdownExtension: RealmNode; addExportVisitor: RealmNode; exportVisitors: RealmNode; initialMarkdown: RealmNode; setMarkdown: RealmNode; markdown: RealmNode; markdownSignal: RealmNode; editorRootElementRef: RealmNode | null>; contentEditableClassName: RealmNode; placeholder: RealmNode; autoFocus: RealmNode; readOnly: RealmNode; composerChildren: RealmNode[]>; addComposerChild: RealmNode>; topAreaChildren: RealmNode[]>; addTopAreaChild: RealmNode>; nestedEditorChildren: RealmNode[]>; addNestedEditorChild: RealmNode>; editorWrappers: RealmNode[]>; addEditorWrapper: RealmNode>; currentFormat: RealmNode; editorInFocus: RealmNode; applyFormat: RealmNode; currentBlockType: RealmNode; applyBlockType: RealmNode; convertSelectionToNode: RealmNode<() => ElementNode>; insertDecoratorNode: RealmNode<() => DecoratorNode>; onBlur: RealmNode; iconComponentFor: RealmNode<(name: IconKey) => ReactNode>; markdownProcessingError: RealmNode<{ error: string; source: string; } | null>; markdownErrorSignal: RealmNode<{ error: string; source: string; }>; }, K_2>) => void; }; /** @internal */ export type InsertImagePayload = Readonly; /** * @internal */ export declare const INSERT_IMAGE_COMMAND: LexicalCommand; declare global { interface DragEvent { rangeOffset?: number; rangeParent?: Node; } }