import { Editor, Node, NodeEntry } from 'slate'; import { WithElementType } from '../typings/element'; import { Withable } from '../typings/with'; import { GetNodesOptions } from '../queries/getNodes'; import { HeadingLevel } from './common'; export interface WithEnabledHeadingLevels { /** * Only consider heading element which level in enabled levels as valid heading element. */ enabledLevels: ReadonlyArray; } export interface Heading extends WithElementType, Withable, WithEnabledHeadingLevels { getHeadingNodes(editor: Editor, level: L, options?: GetNodesOptions): Generator>; isSelectionInHeading(editor: Editor, level: L, options?: GetNodesOptions): boolean; toggleHeadingNodes(editor: Editor, level: L, defaultType?: string): void; }