import type { Klass, LexicalNode } from 'lexical'; import type { EditorPresetType, PluginConfig } from './types'; /** * Compute the list of Lexical node classes required for the given plugin configuration. * Each plugin maps to specific node types that must be registered with createEditor(). * * Note: Node classes are imported statically (not lazily) because they are needed during * editor initialization. These are small registration classes, not the full plugin logic. * * Common content nodes (HeadingNode, QuoteNode, ListNode, ListItemNode, LinkNode, * CodeNode, CodeHighlightNode) are always registered so that content in any format * (markdown, HTML, JSON) can be parsed and displayed correctly, even when the * corresponding editing plugins are not enabled. * * @param config - The plugin configuration object * @returns Array of Lexical node classes to register */ export declare function getNodesForPlugins(config: PluginConfig): Array>; /** * Get the default plugin configuration for a given editor preset. * * - **bare**: Minimal (richText + history + clipboard) * - **docked**: Batteries-included (richText + history + clipboard + list + link + autoLink + code + table) * - **contextual**: Same as docked (block handle is managed by the component, not a plugin) * * @param preset - The editor preset type * @returns Default plugin configuration for the preset */ export declare function createDefaultPluginConfig(preset: EditorPresetType): PluginConfig;