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 { ListType } from '@lexical/list'; import type { LexicalEditor, Klass, LexicalNode, TextFormatType, DecoratorNode, RangeSelection } from 'lexical'; import { ElementNode } from 'lexical'; /** @internal */ export declare const listsSystem: 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, [{ activeEditor, currentSelection }]: [{ 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; }>; }]) => { currentListType: RealmNode<"" | ListType>; applyListType: RealmNode<"" | ListType>; }>; export declare const /** @internal */ listsPlugin: 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, [{ activeEditor, currentSelection }]: [{ 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; }>; }]) => { currentListType: RealmNode<"" | ListType>; applyListType: RealmNode<"" | ListType>; }>, object>, /** @internal */ listsPluginHooks: { useRealmContext: () => TypedRealm<{ currentListType: RealmNode<"" | ListType>; applyListType: RealmNode<"" | ListType>; } & { 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<{ currentListType: RealmNode<"" | ListType>; applyListType: RealmNode<"" | ListType>; } & { 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: ; applyListType: RealmNode<"" | ListType>; } & { 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<{ currentListType: RealmNode<"" | ListType>; applyListType: RealmNode<"" | ListType>; } & { 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<{ currentListType: RealmNode<"" | ListType>; applyListType: RealmNode<"" | ListType>; } & { 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<{ currentListType: RealmNode<"" | ListType>; applyListType: RealmNode<"" | ListType>; } & { 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; };