import { IContentManager, IEditorCore } from '../../typings';
export declare class ContentManager extends IContentManager {
    protected _editorElement: HTMLElement;
    private _editor;
    constructor(element: HTMLElement, editor: IEditorCore);
    insertEmptyPara(): void;
    calcTextCount(): number;
    getContent(): string;
    getHtml(): string;
    setContent(content: string): void;
    setHtml(content: string): void;
    setMarkdown(markdown: string): void;
    appendMarkdown(markdown: string): void;
    /**
     * 将 markdown 文本通过 marked 解析为编辑器所需的段落 HTML
     * 所有块级元素内容都会被包裹在 <p class="PARAGRAPH_CLS"> 中
     */
    private _markdownToEditorHtml;
    /**
     * 将编辑器当前内容转为 Markdown 格式
     * 反向解析 _markdownToEditorHtml 产出的段落结构
     */
    getMarkdownContent(): string;
    /**
     * 将段落内部的 HTML 标签转为 Markdown 内联语法
     */
    private _htmlToMarkdownInline;
    appendContent(content: string | string[], cb?: (para: HTMLElement) => void): void;
    insert(content: string | Node): void;
    delete(): void;
    update(content: string | Node): void;
    getParas(): HTMLElement[];
    getTextContent(): string[];
    private _insert;
    private _delete;
    private _update;
    /**
     * 将 fragment 插入到 range 所在 contenteditable 的上一个 <p> 元素末尾
     * @param {Range} range - 当前的 Range 对象
     */
    private _calcRange;
}
