import type { NodeEntry } from 'slate'; import { Path } from 'slate'; import type { SlateEditor, SlateElement, YooEditor } from '../editor/types'; import type { Plugin, PluginElement, PluginElementProps, PluginElementsMap } from '../plugins/types'; export declare function getRootBlockElementType(elems: PluginElementsMap | undefined): string | undefined; export declare function getRootBlockElement(elems: PluginElementsMap | undefined): PluginElement | undefined; export declare function isRootElementVoid(elems: PluginElementsMap | undefined): boolean; export type GetBlockElementNodeOptions = { at?: Path; elementType?: string; }; export declare function getBlockElementNode(slate: SlateEditor, options?: GetBlockElementNodeOptions): NodeEntry | undefined; export declare function buildSlateNodeElement(type: string, props?: PluginElementProps): SlateElement; type ElementsMapWithTextContent = Record; export declare function buildBlockElementsStructure(editor: YooEditor, blockType: string, elementsMapWithTextContent?: ElementsMapWithTextContent): SlateElement; export declare function getPluginByInlineElement(plugins: YooEditor['plugins'], elementType: string): Plugin, unknown> | undefined; /** * Checks if the current selection is inside an element with injectElementsFromPlugins * Returns injectElementsFromPlugins array if found, null otherwise */ /** * Find injectElementsFromPlugins from current element OR nearest parent element with injectElementsFromPlugins * This is important for nested structures like Steps > blockquote, * where blockquote doesn't have injectElementsFromPlugins but its parent step-list-item-content does */ export declare function getAllowedPluginsFromElement(editor: YooEditor, slate: SlateEditor): string[] | null; export {}; //# sourceMappingURL=block-elements.d.ts.map