import { Node } from 'mdast';
import React from 'react';
import { Editor, NodeEntry } from 'slate';
import { ElementProps, Elements } from './el';
export type MarkdownEditorPlugin = {
    elements?: Record<string, React.ComponentType<ElementProps<any>>>;
    parseMarkdown?: {
        match: (node: Node) => boolean;
        convert: (node: Node) => Elements | NodeEntry<Text>;
    }[];
    toMarkdown?: {
        match: (node: Elements) => boolean;
        convert: (node: Elements) => Node;
    }[];
    withEditor?: (editor: Editor) => Editor;
    hotkeys?: Record<string, (editor: Editor) => void>;
    onPaste?: (text: string) => boolean;
};
export declare const PluginContext: React.Context<MarkdownEditorPlugin[]>;
