/// import { RenderElementProps } from 'slate-react'; import { IEditor } from "./interface"; import { htmlParser, slate } from "./index"; export declare const Bucket: { Hook: Map; Html: Map>>; Parser: Map; }>; Render: Map>>; Menu: Map; Toolbar: Set; Tipsbar: Map; Leftbar: Map; }; export declare module IBoot { type Element = slate.BaseElement & { type: T; }; type Hook = (editor: IEditor) => IEditor; type Html = (slateElement: E, editor: IEditor) => string; type Parser = (node: htmlParser.HTMLElement, editor: IEditor) => E; type Render = (slateElement: E, source: RenderElementProps, editor: IEditor) => JSX.Element; type Menu = { type: string; title?: string; label: (menu: Omit) => JSX.Element; active: (editor: IEditor, slateElement?: slate.BaseElement) => boolean; disable: (editor: IEditor, slateElement?: slate.BaseElement) => boolean; exec: (editor: IEditor, slateElement?: slate.BaseElement) => Promise; }; } declare class Setup { hook(type: E['type'], hook: IBoot.Hook): void; html(type: E['type'], html: IBoot.Html): void; parser(type: E['type'], selector: string, parse: IBoot.Parser): void; render(type: E['type'], render: IBoot.Render): void; menu(type: string, menu: Omit): void; } export declare class Boot { constructor(); private static setup; static factory(factory: (setup: Setup) => void): () => void; static registryModules(...thisArguments: ReturnType[]): void; } export default Boot;