import VirtualDOM from 'virtual-dom'; import { Box, BoxData, BOX_TYPE, BoxNode, BoxElement, Editor, BoxTemplateData, BlockElement, CommandItemData } from "../interface"; export declare function createBoxData(type: BOX_TYPE, id: string | null, params: BoxTemplateData | null): BoxData; export declare function getBoxClassByType(type: string): Box; export declare function getBoxTypeByClass(box: Box): BOX_TYPE; export declare function registerBoxType(type: BOX_TYPE, boxClass: Box): void; export declare function getBoxByPrefix(prefix: string): Box | undefined; export declare function removeBoxPrefix(type: BOX_TYPE): void; export declare function isBox(elem: Node): boolean; export declare function getParentBox(elem: Node): BoxElement; export declare function isInBox(elem: Node): boolean; export declare function isBoxData(data: any): boolean; export declare function getBoxId(elem: BoxElement): string; export declare function getBoxType(elem: BoxElement): string; export declare function getBoxClassByElem(node: Node): Box; export declare function getToolbarOptions(editor: Editor, box: BoxElement): CommandItemData[] | null; export declare function boxDataToRichTextOp(data: BoxData): any; export declare function boxToRichTextOp(editor: Editor, elem: BoxElement): any; export declare function richTextOpToBoxData(op: any): BoxData; export declare function createBox(editor: Editor, data: BoxData): BoxNode; export declare function createVirtualNode(editor: Editor, data: BoxData): VirtualDOM.VNode; export declare function createVirtualNodeFromBoxElement(editor: Editor, element: BoxElement): VirtualDOM.VNode; export declare function getAllBoxPrefix(): string[]; export declare function getBoxClassByTextSuffix(text: string): Box | undefined; export declare function handleBoxInserted(editor: Editor, boxData: BoxData, block: BlockElement, pos: number): void; export declare function handleBoxClicked(editor: Editor, boxData: BoxData, block: BlockElement, event: Event, boxElement: BoxElement): void; export declare function insertBoxToBlock(editor: Editor, block: BlockElement, insertPos: number, type: BOX_TYPE, id: string | null, data: BoxTemplateData | null): BoxData; export declare function isBoxInput(node: Node, nodeOffset: number): boolean;