import { Editor, Element, NodeEntry, Path, Range } from 'slate';
import { Elements } from '../../el';
export declare const insertAfter: (editor: Editor, path: Path, node?: Elements) => void;
export type CheckMdParams = {
    sel: Range;
    editor: Editor;
    path: Path;
    match: RegExpMatchArray;
    el: Element;
    startText: string;
};
interface MdNode {
    reg: RegExp;
    matchKey?: string | RegExp;
    /** 为 true 时仅在 `markdown.matchInputToNode === true` 时参与匹配（避免首段 `- ` 误转列表） */
    gatedByMatchInputToNode?: boolean;
    checkAllow?: (ctx: {
        editor: Editor;
        node: NodeEntry<Element>;
        sel: Range;
    }) => boolean;
    run: (ctx: CheckMdParams) => void | boolean;
}
export declare const MdElements: Record<string, MdNode>;
export declare const BlockMathNodes: (MdNode & {
    type: string;
})[];
export declare const TextMatchNodes: (MdNode & {
    type: string;
})[];
export {};
