import { Editor, BlockData, BlockTypes, Block, BlockElement, BlockContentElement, BlockToolsElement, ContainerElement, RichTextElement, ContainerData, BlockOptions, BLOCK_TYPE, TextCommand, CommandParams, Position, DeleteBlockOptions, SelectionDetail, BlockTemplateData, InsertBlockOptions, SelectedBlock, DocBlock, EditorDoc, BlockCommand, ClipboardData, BOX_TYPE, BoxData, CommandItemData, BlockLockInfo, TextAlign, BasicCommandStatus, TextAttributes, Doc2MarkdownOptionalOptions } from "../interface"; import RichTextDocument from "../text/RichTextDocument"; import RichTextOperations from "../text/RichTextOperations"; export declare function getBlockType(block: BlockElement): BlockTypes; export declare function isBlock(elem: Element): elem is BlockElement; export declare function isContainer(elem: Element): boolean; export declare function isBlockContent(elem: Element): boolean; export declare function getBlockId(block: BlockElement): string; export declare function getBlockClassByType(type: string): Block; export declare function getBlockClass(block: BlockElement): Block; export declare function getBlockRichText(block: BlockElement): Readonly; export declare function replaceBlockRichText(block: BlockElement, newData: RichTextDocument): void; export declare function createBlock(editor: Editor, id: string, type: BLOCK_TYPE, data: BlockData): BlockElement; export declare function getBlockContent(block: BlockElement): BlockContentElement; export declare function getBlockToolsContainer(block: BlockElement, create: boolean): BlockToolsElement | null; export declare function nodeInBlockTools(node: Node): boolean; export declare function updateBlockLockStatus(editor: Editor, block: BlockElement, lockInfo: BlockLockInfo | undefined): void; export declare function getBlockAbstract(block: BlockElement): string; export declare function getBlockLockInfoFromBlock(block: BlockElement): BlockLockInfo | undefined; export declare function updateBlockData(block: BlockElement, data: BlockData): void; export declare function updateBlockText(block: BlockElement, data: RichTextOperations): void; export declare function handleKeydownEvent(block: BlockElement, detail: SelectionDetail, event: KeyboardEvent): boolean; export declare function registerBlockType(type: BLOCK_TYPE, blockClass: Block): void; export declare function getAllBlockPrefix(): string[]; export declare function isBlockQuoted(block: BlockElement): boolean; export declare function setBlockQuoted(block: BlockElement, quoted: boolean): void; export declare function setBlockPadding(block: BlockElement, padding: number): void; export declare function getBlockPadding(block: BlockElement): number | undefined; export declare function getBlockStyleState(block: BlockElement, style: string): boolean; export declare function setBlockStyleState(block: BlockElement, style: string, enabled: boolean): void; export declare function getBlockStyles(block: BlockElement): string[] | undefined; export declare function clearBlockStyles(block: BlockElement): void; export declare function setBlockStyles(block: BlockElement, styles: string[] | undefined): void; export declare function getBlockHeading(block: BlockElement): number | undefined; export declare function saveData(block: BlockElement): BlockData; export declare function isBlockLocked(block: BlockElement): boolean; export declare function saveSelectionData(block: BlockElement): BlockData; export declare function clearSelection(block: BlockElement): boolean; export declare function addBlockComment(block: BlockElement, commentId: string): void; export declare function removeBlockComment(editor: Editor, commentId: string): BlockElement[]; export declare function setBlockComments(block: BlockElement, comments?: string[]): void; export declare function getBlockComments(block: BlockElement): string[] | undefined; export declare function handleBlockInserted(block: BlockElement, options: InsertBlockOptions): void; export declare function handleBlockLoaded(block: BlockElement): void; export declare function handleBlockDeleted(container: ContainerElement, block: BlockElement, index: number, options: DeleteBlockOptions): void; export declare function handleBlockReload(container: ContainerElement, block: BlockElement): void; export declare function handleBlockDataChanged(block: BlockElement): void; export declare function handleBlockTextChanged(block: BlockElement): void; export declare function createBlockTemplateData(editor: Editor, type: string, options: any): BlockTemplateData; export declare function createBlockData(editor: Editor, type: BlockTypes, options?: BlockTemplateData, id?: string): BlockData; export declare function createTextBlockData(editor: Editor, text: string, textBlockData?: BlockTemplateData): BlockData; export declare function getChildContainersData(block: BlockElement): ContainerData[]; export declare function createRange(block: BlockElement, pos: number): Range; export declare function handleSelectionChanged(block: BlockElement, detail: SelectionDetail, lastEvent: MouseEvent | KeyboardEvent | null, lastPosition: Position): boolean; export declare function getBlockOptions(block: BlockElement): BlockOptions; export declare function getBlockOptionsByType(type: BlockTypes): BlockOptions; export declare function isTextType(type: BlockTypes): boolean; export declare function isTextTypeBlock(block: BlockElement): boolean; export declare function isComplexBlock(block: BlockElement): boolean; export declare function isInComplexBlock(block: BlockElement): boolean; export declare function isComplexBlockType(type: BlockTypes): boolean; export declare function replaceChildrenId(type: BlockTypes, doc: EditorDoc, blockData: DocBlock): void; export declare function isEmbedBlock(block: BlockElement): boolean; export declare function getTextElement(block: BlockElement): RichTextElement; export declare function getBlockTextLength(block: BlockElement): number; export declare function isEmptyTextBlock(block: BlockElement): boolean; export declare function getCaretPos(block: BlockElement, node: Node, nodeOffset: number): number; export declare function executeTextCommand(block: BlockElement, command: TextCommand, start: number, end: number, params?: CommandParams): any; export declare function executeBlockCommand(block: BlockElement, command: BlockCommand, params?: CommandParams): any; export declare function getTextCommandStatus(block: BlockElement, offset: number, options: { selectNext: boolean; }): TextAttributes; export declare function getSubContainerInComplexBlock(block: BlockElement, element: HTMLElement, type: 'top' | 'right' | 'bottom' | 'left'): ContainerElement | null; export declare function getToolbarOptions(block: BlockElement, detail: SelectionDetail, type: 'fixed' | 'hover'): CommandItemData[] | null; export declare function getTextToolbarOptions(block: BlockElement, target: Element): CommandItemData[] | null; export declare function getContextMenuData(block: BlockElement, detail: SelectionDetail, target: Node): CommandItemData[] | null; export declare function isBlockRemoved(block: BlockElement): boolean; export declare function notify(block: BlockElement, name: string, data: any): void | null; export declare function toText(block: BlockElement, startOffset?: number, endOffset?: number): string; export declare function removeComment(editor: Editor, block: BlockElement, id: string): void; export declare function getCommentInfo(block: BlockElement, id: string): SelectedBlock[]; export declare function blockData2DocBlock(data: BlockData): DocBlock; export declare function canInsertBox(editor: Editor): boolean; export declare function canInsertBlock(editor: Editor): boolean; export declare function createSplittedBlockData(block: BlockElement): BlockTemplateData; export declare function handlePaste(block: BlockElement, data: ClipboardData, detail: SelectionDetail): boolean; export declare function accept(block: BlockElement, type: BOX_TYPE | BLOCK_TYPE): boolean; export declare function handleBlockClicked(block: BlockElement, event: MouseEvent): boolean; export declare function handleBlockMouseEnter(editor: Editor, block: BlockElement, event: MouseEvent): void; export declare function handleBlockMouseLeave(editor: Editor, block: BlockElement, event: MouseEvent): void; export declare function handleBlockMouseDown(block: BlockElement, event: MouseEvent): boolean; export declare function isBlockHover(block: BlockElement): boolean; export declare function handleBlockMouseMove(block: BlockElement, event: MouseEvent): boolean; export declare function handleBlockFocusChanged(editor: Editor, block: BlockElement, focused: boolean): void; export declare function isBlockFocused(block: BlockElement): boolean; export declare function getBlockBoxes(block: BlockElement, type?: BOX_TYPE): BoxData[]; export declare function getBlockClassByTextSuffix(text: string): Block | undefined; export declare function getBlockPrefix(blockClass: Block): string | undefined; export declare function getBlockTypeByClass(block: Block): BLOCK_TYPE; export declare function getBlockPlainText(block: BlockElement): string; export declare function getAllBlockMenuItems(editor: Editor): Map; export declare function getCurrentCommandBlock(): BlockElement; export declare function insertBlockByMenuCommand(event: Event, itemData: CommandItemData): void; export declare function getParentComplexBlock(block: BlockElement): BlockElement | null; export declare function highlightText(block: BlockElement, text: string): void; export declare function updateBlockWidth(block: BlockElement, data: string, width: number): void; export declare function updateBlockMarker(block: BlockElement, data: string, width: number, expired: boolean): void; export declare function setExpiredMarkerVisible(block: BlockElement, visible: boolean): void; export declare function isExpiredMarkerVisible(block: BlockElement): boolean; export declare function setBlockStartMarker(block: BlockElement): void; export declare function setBlockStopMarker(block: BlockElement): void; export declare function toMarkdown(doc: EditorDoc, containerId: string, blockIndex: number, blockData: DocBlock, options: Doc2MarkdownOptionalOptions): string | undefined; export declare function applyStyles(from: BlockElement, to: BlockElement | null, styles: string[]): void; export declare function isVisible(block: BlockElement): boolean; export declare function handleChildBlockChanged(block: BlockElement, type: 'text-change' | 'data-change' | 'insert' | 'delete'): void; export declare function updateBlockAlign(content: BlockElement, align?: TextAlign): void; export declare function getBlockAlign(block: BlockElement): TextAlign | undefined; export declare function addBlockInlineStyle(block: BlockElement, style: string): void; export declare function getBlockInlineStyle(block: BlockElement): string | undefined; export declare function getSlidingTool(block: BlockElement, scrollElement?: HTMLElement): HTMLElement; export declare function getSlidingToolContainer(slidingTool: HTMLElement): HTMLElement; export declare function getBlockPositionMarkingLine(block: BlockElement): HTMLElement; export declare function toHtml(block: BlockElement): string; export declare function getBlockCommandStatus(block: BlockElement): BasicCommandStatus; export declare function isImageBlock(block: BlockElement): boolean; export declare function isSingleImageBlock(block: BlockElement): boolean; export declare function isTableBlock(block: BlockElement): boolean; export declare function isCodeBlock(block: BlockElement): boolean; export declare function isInCodeBlock(block: BlockElement): boolean; export declare function getContainerAlign(block: BlockElement, childBlock: BlockElement): TextAlign | null; export declare function isEntireSelected(block: BlockElement): boolean; export declare function cancelEntireSelected(block: BlockElement): void; export declare function fixEmptyContainer(block: BlockElement, options: InsertBlockOptions): boolean;