import { default as Vditor } from 'vditor';
import { EditorProps, EditorOptions } from './editor.js';
import { DefineComponent, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare function getValue(): string;
declare function setValue(value: string, clearStack?: boolean): void;
declare function focus(): void;
declare const _default: DefineComponent<EditorProps, {
    editor: Ref<{
        readonly version: string;
        vditor: {
            element: HTMLElement;
            options: {
                rtl?: boolean | undefined;
                undoDelay?: number | undefined;
                _lutePath?: string | undefined;
                value?: string | undefined;
                debugger?: boolean | undefined;
                typewriterMode?: boolean | undefined;
                height?: number | string | undefined;
                minHeight?: number | undefined;
                width?: number | string | undefined;
                placeholder?: string | undefined;
                lang?: (keyof II18n) | undefined;
                i18n?: {
                    [x: string]: string;
                    alignCenter: string;
                    alignLeft: string;
                    alignRight: string;
                    alternateText: string;
                    bold: string;
                    both: string;
                    check: string;
                    close: string;
                    code: string;
                    "code-theme": string;
                    column: string;
                    comment: string;
                    confirm: string;
                    "content-theme": string;
                    copied: string;
                    copy: string;
                    "delete-column": string;
                    "delete-row": string;
                    devtools: string;
                    down: string;
                    downloadTip: string;
                    edit: string;
                    "edit-mode": string;
                    emoji: string;
                    export: string;
                    fileTypeError: string;
                    footnoteRef: string;
                    fullscreen: string;
                    generate: string;
                    headings: string;
                    help: string;
                    imageURL: string;
                    indent: string;
                    info: string;
                    "inline-code": string;
                    "insert-after": string;
                    "insert-before": string;
                    insertColumnLeft: string;
                    insertColumnRight: string;
                    insertRowAbove: string;
                    insertRowBelow: string;
                    instantRendering: string;
                    italic: string;
                    language: string;
                    line: string;
                    link: string;
                    linkRef: string;
                    list: string;
                    more: string;
                    nameEmpty: string;
                    "ordered-list": string;
                    outdent: string;
                    outline: string;
                    over: string;
                    performanceTip: string;
                    preview: string;
                    quote: string;
                    record: string;
                    "record-tip": string;
                    recording: string;
                    redo: string;
                    remove: string;
                    row: string;
                    spin: string;
                    splitView: string;
                    strike: string;
                    table: string;
                    textIsNotEmpty: string;
                    title: string;
                    tooltipText: string;
                    undo: string;
                    up: string;
                    update: string;
                    upload: string;
                    uploadError: string;
                    uploading: string;
                    wysiwyg: string;
                } | undefined;
                fullscreen?: {
                    index: number;
                } | undefined;
                toolbar?: (string | {
                    name: string;
                    icon?: string | undefined;
                    className?: string | undefined;
                    tip?: string | undefined;
                    hotkey?: string | undefined;
                    suffix?: string | undefined;
                    prefix?: string | undefined;
                    tipPosition?: string | undefined;
                    toolbar?: (string | /*elided*/ any)[] | undefined;
                    level?: number | undefined;
                    click?: ((event: Event, vditor: IVditor) => void) | undefined;
                })[] | undefined;
                resize?: {
                    position?: string | undefined;
                    enable?: boolean | undefined;
                    after?: ((height: number) => void) | undefined;
                } | undefined;
                counter?: {
                    enable: boolean;
                    max?: number | undefined;
                    type?: "markdown" | "text" | undefined;
                    after?: ((length: number, counter: {
                        enable: boolean;
                        max?: number;
                        type?: "markdown" | "text";
                    }) => void) | undefined;
                } | undefined;
                cache?: {
                    id?: string | undefined;
                    enable?: boolean | undefined;
                    after?: ((markdown: string) => void) | undefined;
                } | undefined;
                mode?: "wysiwyg" | "sv" | "ir" | undefined;
                preview?: {
                    delay?: number | undefined;
                    maxWidth?: number | undefined;
                    mode?: "both" | "editor" | undefined;
                    url?: string | undefined;
                    hljs?: {
                        defaultLang?: string | undefined;
                        lineNumber?: boolean | undefined;
                        style?: string | undefined;
                        enable?: boolean | undefined;
                        langs?: string[] | undefined;
                        renderMenu?: ((element: HTMLElement, menuElement: HTMLElement) => void) | undefined;
                    } | undefined;
                    math?: {
                        inlineDigit?: boolean | undefined;
                        macros?: object | undefined;
                        engine?: "KaTeX" | "MathJax" | undefined;
                        mathJaxOptions?: any;
                    } | undefined;
                    markdown?: {
                        autoSpace?: boolean | undefined;
                        paragraphBeginningSpace?: boolean | undefined;
                        fixTermTypo?: boolean | undefined;
                        toc?: boolean | undefined;
                        footnotes?: boolean | undefined;
                        codeBlockPreview?: boolean | undefined;
                        mathBlockPreview?: boolean | undefined;
                        sanitize?: boolean | undefined;
                        linkBase?: string | undefined;
                        linkPrefix?: string | undefined;
                        listStyle?: boolean | undefined;
                        mark?: boolean | undefined;
                        gfmAutoLink?: boolean | undefined;
                    } | undefined;
                    theme?: {
                        current: string;
                        list?: IObject | undefined;
                        path?: string | undefined;
                    } | undefined;
                    actions?: (IPreviewAction | {
                        key: string;
                        text: string;
                        className?: string | undefined;
                        tooltip?: string | undefined;
                        click: (key: string) => void;
                    })[] | undefined;
                    render?: {
                        media?: {
                            enable?: boolean | undefined;
                        } | undefined;
                    } | undefined;
                    parse?: ((element: HTMLElement) => void) | undefined;
                    transform?: ((html: string) => string) | undefined;
                } | undefined;
                link?: {
                    isOpen?: boolean | undefined;
                    click?: ((bom: Element) => void) | undefined;
                } | undefined;
                image?: {
                    isPreview?: boolean | undefined;
                    preview?: ((bom: Element) => void) | undefined;
                } | undefined;
                hint?: {
                    parse?: boolean | undefined;
                    emojiTail?: string | undefined;
                    delay?: number | undefined;
                    emoji?: IObject | undefined;
                    emojiPath?: string | undefined;
                    extend?: {
                        key: string;
                        hint?: ((value: string) => IHintData[] | Promise<IHintData[]>) | undefined;
                    }[] | undefined;
                } | undefined;
                toolbarConfig?: {
                    hide?: boolean | undefined;
                    pin?: boolean | undefined;
                } | undefined;
                comment?: {
                    enable: boolean;
                    add?: ((id: string, text: string, commentsData: ICommentsData[]) => void) | undefined;
                    remove?: ((ids: string[]) => void) | undefined;
                    scroll?: ((top: number) => void) | undefined;
                    adjustTop?: ((commentsData: ICommentsData[]) => void) | undefined;
                } | undefined;
                theme?: "classic" | "dark" | undefined;
                icon?: "ant" | "material" | undefined;
                upload?: {
                    url?: string | undefined;
                    max?: number | undefined;
                    linkToImgUrl?: string | undefined;
                    renderLinkDest?: ((vditor: IVditor, node: ILuteNode, entering: boolean) => [string, number]) | undefined;
                    token?: string | undefined;
                    accept?: string | undefined;
                    withCredentials?: boolean | undefined;
                    headers?: IObject | undefined;
                    extraData?: {
                        [key: string]: string | Blob;
                    } | undefined;
                    multiple?: boolean | undefined;
                    fieldName?: string | undefined;
                    setHeaders?: (() => IObject) | undefined;
                    success?: ((editor: HTMLPreElement, msg: string) => void) | undefined;
                    error?: ((msg: string) => void) | undefined;
                    filename?: ((name: string) => string) | undefined;
                    validate?: ((files: File[]) => string | boolean) | undefined;
                    handler?: ((files: File[]) => string | null | Promise<string> | Promise<null>) | undefined;
                    handleDataUrl?: ((dataUrl: string) => string | Promise<string>) | undefined;
                    base64ToLink?: ((responseText: string) => string) | undefined;
                    format?: ((files: File[], responseText: string) => string) | undefined;
                    linkToImgFormat?: ((responseText: string) => string) | undefined;
                    file?: ((files: File[]) => File[] | Promise<File[]>) | undefined;
                    cancel?: ((files: File[]) => void) | undefined;
                    linkToImgCallback?: ((responseText: string) => void) | undefined;
                } | undefined;
                classes?: {
                    preview?: string | undefined;
                } | undefined;
                cdn?: string | undefined;
                tab?: string | undefined;
                outline?: {
                    enable: boolean;
                    position: "left" | "right";
                } | undefined;
                customRenders?: {
                    language: string;
                    render: (element: HTMLElement, vditor: IVditor) => void;
                }[] | undefined;
                after?: (() => void) | undefined;
                input?: ((value: string) => void) | undefined;
                focus?: ((value: string) => void) | undefined;
                blur?: ((value: string) => void) | undefined;
                keydown?: ((event: KeyboardEvent) => void) | undefined;
                esc?: ((value: string) => void) | undefined;
                ctrlEnter?: ((value: string) => void) | undefined;
                select?: ((value: string) => void) | undefined;
                unSelect?: (() => void) | undefined;
                customWysiwygToolbar?: ((type: TWYSISYGToolbar, element: HTMLElement) => void) | undefined;
            };
            originalInnerHTML: string;
            lute: {
                SetJSRenderers: (options?: {
                    renderers: {
                        HTML2VditorDOM?: ILuteRender;
                        HTML2VditorIRDOM?: ILuteRender;
                        HTML2Md?: ILuteRender;
                        Md2HTML?: ILuteRender;
                        Md2VditorDOM?: ILuteRender;
                        Md2VditorIRDOM?: ILuteRender;
                        Md2VditorSVDOM?: ILuteRender;
                    };
                }) => void;
                SetChineseParagraphBeginningSpace: (enable: boolean) => void;
                SetHeadingID: (enable: boolean) => void;
                SetRenderListStyle: (enable: boolean) => void;
                SetLinkBase: (url: string) => void;
                SetVditorIR: (enable: boolean) => void;
                SetVditorSV: (enable: boolean) => void;
                SetVditorWYSIWYG: (enable: boolean) => void;
                SetLinkPrefix: (url: string) => void;
                SetMark: (enable: boolean) => void;
                SetGFMAutoLink: (enable: boolean) => void;
                SetSanitize: (enable: boolean) => void;
                SetHeadingAnchor: (enable: boolean) => void;
                SetImageLazyLoading: (imagePath: string) => void;
                SetInlineMathAllowDigitAfterOpenMarker: (enable: boolean) => void;
                SetToC: (enable: boolean) => void;
                SetFootnotes: (enable: boolean) => void;
                SetAutoSpace: (enable: boolean) => void;
                SetFixTermTypo: (enable: boolean) => void;
                SetEmojiSite: (emojiSite: string) => void;
                SetVditorCodeBlockPreview: (enable: boolean) => void;
                SetVditorMathBlockPreview: (enable: boolean) => void;
                SetSub: (enable: boolean) => void;
                SetSup: (enable: boolean) => void;
                PutEmojis: (emojis: IObject) => void;
                GetEmojis: () => IObject;
                IsValidLinkDest: (link: string) => boolean;
                RenderEChartsJSON: (text: string) => string;
                Md2HTML: (markdown: string) => string;
                HTML2Md: (html: string) => string;
                VditorDOM2HTML: (vhtml: string) => string;
                SpinVditorDOM: (html: string) => string;
                HTML2VditorDOM: (html: string) => string;
                VditorDOM2Md: (html: string) => string;
                Md2VditorDOM: (markdown: string) => string;
                SpinVditorIRDOM: (markdown: string) => string;
                VditorIRDOM2Md: (html: string) => string;
                Md2VditorIRDOM: (text: string) => string;
                VditorIRDOM2HTML: (html: string) => string;
                HTML2VditorIRDOM: (html: string) => string;
                SpinVditorSVDOM: (text: string) => string;
                Md2VditorSVDOM: (text: string) => string;
                RenderJSON: (markdown: string) => string;
            };
            currentMode: "sv" | "wysiwyg" | "ir";
            devtools?: {
                element: HTMLDivElement;
                renderEchart: (vditor: IVditor) => void;
            } | undefined;
            outline: {
                element: HTMLElement;
                render: (vditor: IVditor) => string;
                toggle: (vditor: IVditor, show?: boolean, focus?: boolean) => void;
            };
            toolbar?: {
                elements?: {
                    [key: string]: HTMLElement;
                } | undefined;
                element?: HTMLElement | undefined;
                updateConfig: (vditor: IVditor, options: IToolbarConfig) => void;
            } | undefined;
            preview?: {
                element: HTMLElement;
                previewElement: HTMLElement;
                render: (vditor: IVditor, value?: string) => void;
            } | undefined;
            counter?: {
                element: HTMLElement;
                render: (vditor: IVditor, mdText?: string) => void;
            } | undefined;
            resize?: {
                element: HTMLElement;
            } | undefined;
            hint: {
                timeId: number;
                element: HTMLDivElement;
                recentLanguage: string;
                fillEmoji: (element: HTMLElement, vditor: IVditor) => void;
                render: (vditor: IVditor) => void;
                genHTML: (data: IHintData[], key: string, vditor: IVditor) => void;
                select: (event: KeyboardEvent, vditor: IVditor) => boolean;
            };
            tip: {
                element: HTMLElement;
                show: (text: string, time?: number) => void;
                hide: () => void;
            };
            upload?: {
                element: HTMLElement;
                isUploading: boolean;
                range: {
                    readonly commonAncestorContainer: Node;
                    cloneContents: () => DocumentFragment;
                    cloneRange: () => Range;
                    collapse: (toStart?: boolean) => void;
                    compareBoundaryPoints: (how: number, sourceRange: Range) => number;
                    comparePoint: (node: Node, offset: number) => number;
                    createContextualFragment: (string: string) => DocumentFragment;
                    deleteContents: () => void;
                    detach: () => void;
                    extractContents: () => DocumentFragment;
                    getBoundingClientRect: () => DOMRect;
                    getClientRects: () => DOMRectList;
                    insertNode: (node: Node) => void;
                    intersectsNode: (node: Node) => boolean;
                    isPointInRange: (node: Node, offset: number) => boolean;
                    selectNode: (node: Node) => void;
                    selectNodeContents: (node: Node) => void;
                    setEnd: (node: Node, offset: number) => void;
                    setEndAfter: (node: Node) => void;
                    setEndBefore: (node: Node) => void;
                    setStart: (node: Node, offset: number) => void;
                    setStartAfter: (node: Node) => void;
                    setStartBefore: (node: Node) => void;
                    surroundContents: (newParent: Node) => void;
                    toString: () => string;
                    readonly START_TO_START: 0;
                    readonly START_TO_END: 1;
                    readonly END_TO_END: 2;
                    readonly END_TO_START: 3;
                    readonly collapsed: boolean;
                    readonly endContainer: Node;
                    readonly endOffset: number;
                    readonly startContainer: Node;
                    readonly startOffset: number;
                };
                xhr?: {
                    onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;
                    readonly readyState: number;
                    readonly response: any;
                    readonly responseText: string;
                    responseType: XMLHttpRequestResponseType;
                    readonly responseURL: string;
                    readonly responseXML: Document | null;
                    readonly status: number;
                    readonly statusText: string;
                    timeout: number;
                    readonly upload: {
                        addEventListener: {
                            <K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
                            (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
                        };
                        removeEventListener: {
                            <K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
                            (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
                        };
                        onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        dispatchEvent: (event: Event) => boolean;
                    };
                    withCredentials: boolean;
                    abort: () => void;
                    getAllResponseHeaders: () => string;
                    getResponseHeader: (name: string) => string | null;
                    open: {
                        (method: string, url: string | URL): void;
                        (method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void;
                    };
                    overrideMimeType: (mime: string) => void;
                    send: (body?: Document | XMLHttpRequestBodyInit | null) => void;
                    setRequestHeader: (name: string, value: string) => void;
                    readonly UNSENT: 0;
                    readonly OPENED: 1;
                    readonly HEADERS_RECEIVED: 2;
                    readonly LOADING: 3;
                    readonly DONE: 4;
                    addEventListener: {
                        <K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
                        (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
                    };
                    removeEventListener: {
                        <K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
                        (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
                    };
                    onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    dispatchEvent: (event: Event) => boolean;
                } | undefined;
            } | undefined;
            undo?: {
                clearStack: (vditor: IVditor) => void;
                redo: (vditor: IVditor) => void;
                undo: (vditor: IVditor) => void;
                addToUndoStack: (vditor: IVditor) => void;
                recordFirstPosition: (vditor: IVditor, event: KeyboardEvent) => void;
                resetIcon: (vditor: IVditor) => void;
            } | undefined;
            wysiwyg?: {
                range: {
                    readonly commonAncestorContainer: Node;
                    cloneContents: () => DocumentFragment;
                    cloneRange: () => Range;
                    collapse: (toStart?: boolean) => void;
                    compareBoundaryPoints: (how: number, sourceRange: Range) => number;
                    comparePoint: (node: Node, offset: number) => number;
                    createContextualFragment: (string: string) => DocumentFragment;
                    deleteContents: () => void;
                    detach: () => void;
                    extractContents: () => DocumentFragment;
                    getBoundingClientRect: () => DOMRect;
                    getClientRects: () => DOMRectList;
                    insertNode: (node: Node) => void;
                    intersectsNode: (node: Node) => boolean;
                    isPointInRange: (node: Node, offset: number) => boolean;
                    selectNode: (node: Node) => void;
                    selectNodeContents: (node: Node) => void;
                    setEnd: (node: Node, offset: number) => void;
                    setEndAfter: (node: Node) => void;
                    setEndBefore: (node: Node) => void;
                    setStart: (node: Node, offset: number) => void;
                    setStartAfter: (node: Node) => void;
                    setStartBefore: (node: Node) => void;
                    surroundContents: (newParent: Node) => void;
                    toString: () => string;
                    readonly START_TO_START: 0;
                    readonly START_TO_END: 1;
                    readonly END_TO_END: 2;
                    readonly END_TO_START: 3;
                    readonly collapsed: boolean;
                    readonly endContainer: Node;
                    readonly endOffset: number;
                    readonly startContainer: Node;
                    readonly startOffset: number;
                };
                element: HTMLPreElement;
                selectPopover: HTMLDivElement;
                popover: HTMLDivElement;
                afterRenderTimeoutId: number;
                hlToolbarTimeoutId: number;
                preventInput: boolean;
                composingLock: boolean;
                commentIds: string[];
                getComments: (vditor: IVditor, getData?: boolean) => ICommentsData[];
                triggerRemoveComment: (vditor: IVditor) => void;
                showComment: () => void;
                hideComment: () => void;
                unbindListener: () => void;
            } | undefined;
            ir?: {
                range: {
                    readonly commonAncestorContainer: Node;
                    cloneContents: () => DocumentFragment;
                    cloneRange: () => Range;
                    collapse: (toStart?: boolean) => void;
                    compareBoundaryPoints: (how: number, sourceRange: Range) => number;
                    comparePoint: (node: Node, offset: number) => number;
                    createContextualFragment: (string: string) => DocumentFragment;
                    deleteContents: () => void;
                    detach: () => void;
                    extractContents: () => DocumentFragment;
                    getBoundingClientRect: () => DOMRect;
                    getClientRects: () => DOMRectList;
                    insertNode: (node: Node) => void;
                    intersectsNode: (node: Node) => boolean;
                    isPointInRange: (node: Node, offset: number) => boolean;
                    selectNode: (node: Node) => void;
                    selectNodeContents: (node: Node) => void;
                    setEnd: (node: Node, offset: number) => void;
                    setEndAfter: (node: Node) => void;
                    setEndBefore: (node: Node) => void;
                    setStart: (node: Node, offset: number) => void;
                    setStartAfter: (node: Node) => void;
                    setStartBefore: (node: Node) => void;
                    surroundContents: (newParent: Node) => void;
                    toString: () => string;
                    readonly START_TO_START: 0;
                    readonly START_TO_END: 1;
                    readonly END_TO_END: 2;
                    readonly END_TO_START: 3;
                    readonly collapsed: boolean;
                    readonly endContainer: Node;
                    readonly endOffset: number;
                    readonly startContainer: Node;
                    readonly startOffset: number;
                };
                element: HTMLPreElement;
                composingLock: boolean;
                preventInput: boolean;
                processTimeoutId: number;
                hlToolbarTimeoutId: number;
            } | undefined;
            sv?: {
                range: {
                    readonly commonAncestorContainer: Node;
                    cloneContents: () => DocumentFragment;
                    cloneRange: () => Range;
                    collapse: (toStart?: boolean) => void;
                    compareBoundaryPoints: (how: number, sourceRange: Range) => number;
                    comparePoint: (node: Node, offset: number) => number;
                    createContextualFragment: (string: string) => DocumentFragment;
                    deleteContents: () => void;
                    detach: () => void;
                    extractContents: () => DocumentFragment;
                    getBoundingClientRect: () => DOMRect;
                    getClientRects: () => DOMRectList;
                    insertNode: (node: Node) => void;
                    intersectsNode: (node: Node) => boolean;
                    isPointInRange: (node: Node, offset: number) => boolean;
                    selectNode: (node: Node) => void;
                    selectNodeContents: (node: Node) => void;
                    setEnd: (node: Node, offset: number) => void;
                    setEndAfter: (node: Node) => void;
                    setEndBefore: (node: Node) => void;
                    setStart: (node: Node, offset: number) => void;
                    setStartAfter: (node: Node) => void;
                    setStartBefore: (node: Node) => void;
                    surroundContents: (newParent: Node) => void;
                    toString: () => string;
                    readonly START_TO_START: 0;
                    readonly START_TO_END: 1;
                    readonly END_TO_END: 2;
                    readonly END_TO_START: 3;
                    readonly collapsed: boolean;
                    readonly endContainer: Node;
                    readonly endOffset: number;
                    readonly startContainer: Node;
                    readonly startOffset: number;
                };
                element: HTMLPreElement;
                processTimeoutId: number;
                hlToolbarTimeoutId: number;
                composingLock: boolean;
                preventInput: boolean;
            } | undefined;
        };
        updateToolbarConfig: (options: IToolbarConfig) => void;
        setTheme: (theme: "dark" | "classic", contentTheme?: string, codeTheme?: string, contentThemePath?: string) => void;
        getValue: () => string;
        getCurrentMode: () => "sv" | "wysiwyg" | "ir";
        focus: () => void;
        blur: () => void;
        disabled: () => void;
        enable: () => void;
        getSelection: () => string;
        renderPreview: (value?: string) => void;
        getCursorPosition: () => {
            left: number;
            top: number;
        };
        isUploading: () => boolean;
        clearCache: () => void;
        disabledCache: () => void;
        enableCache: () => void;
        html2md: (value: string) => string;
        exportJSON: (value: string) => string;
        getHTML: () => string;
        tip: (text: string, time?: number) => void;
        setPreviewMode: (mode: "both" | "editor") => void;
        deleteValue: () => void;
        updateValue: (value: string) => void;
        insertValue: (value: string, render?: boolean) => void;
        insertMD: (md: string) => void;
        setValue: (markdown: string, clearStack?: boolean) => void;
        insertEmptyBlock: (position: InsertPosition) => void;
        clearStack: () => void;
        destroy: () => void;
        getCommentIds: () => ICommentsData[];
        hlCommentIds: (ids: string[]) => void;
        unHlCommentIds: (ids: string[]) => void;
        removeCommentIds: (removeIds: string[]) => void;
    } | null, Vditor | {
        readonly version: string;
        vditor: {
            element: HTMLElement;
            options: {
                rtl?: boolean | undefined;
                undoDelay?: number | undefined;
                _lutePath?: string | undefined;
                value?: string | undefined;
                debugger?: boolean | undefined;
                typewriterMode?: boolean | undefined;
                height?: number | string | undefined;
                minHeight?: number | undefined;
                width?: number | string | undefined;
                placeholder?: string | undefined;
                lang?: (keyof II18n) | undefined;
                i18n?: {
                    [x: string]: string;
                    alignCenter: string;
                    alignLeft: string;
                    alignRight: string;
                    alternateText: string;
                    bold: string;
                    both: string;
                    check: string;
                    close: string;
                    code: string;
                    "code-theme": string;
                    column: string;
                    comment: string;
                    confirm: string;
                    "content-theme": string;
                    copied: string;
                    copy: string;
                    "delete-column": string;
                    "delete-row": string;
                    devtools: string;
                    down: string;
                    downloadTip: string;
                    edit: string;
                    "edit-mode": string;
                    emoji: string;
                    export: string;
                    fileTypeError: string;
                    footnoteRef: string;
                    fullscreen: string;
                    generate: string;
                    headings: string;
                    help: string;
                    imageURL: string;
                    indent: string;
                    info: string;
                    "inline-code": string;
                    "insert-after": string;
                    "insert-before": string;
                    insertColumnLeft: string;
                    insertColumnRight: string;
                    insertRowAbove: string;
                    insertRowBelow: string;
                    instantRendering: string;
                    italic: string;
                    language: string;
                    line: string;
                    link: string;
                    linkRef: string;
                    list: string;
                    more: string;
                    nameEmpty: string;
                    "ordered-list": string;
                    outdent: string;
                    outline: string;
                    over: string;
                    performanceTip: string;
                    preview: string;
                    quote: string;
                    record: string;
                    "record-tip": string;
                    recording: string;
                    redo: string;
                    remove: string;
                    row: string;
                    spin: string;
                    splitView: string;
                    strike: string;
                    table: string;
                    textIsNotEmpty: string;
                    title: string;
                    tooltipText: string;
                    undo: string;
                    up: string;
                    update: string;
                    upload: string;
                    uploadError: string;
                    uploading: string;
                    wysiwyg: string;
                } | undefined;
                fullscreen?: {
                    index: number;
                } | undefined;
                toolbar?: (string | {
                    name: string;
                    icon?: string | undefined;
                    className?: string | undefined;
                    tip?: string | undefined;
                    hotkey?: string | undefined;
                    suffix?: string | undefined;
                    prefix?: string | undefined;
                    tipPosition?: string | undefined;
                    toolbar?: (string | /*elided*/ any)[] | undefined;
                    level?: number | undefined;
                    click?: ((event: Event, vditor: IVditor) => void) | undefined;
                })[] | undefined;
                resize?: {
                    position?: string | undefined;
                    enable?: boolean | undefined;
                    after?: ((height: number) => void) | undefined;
                } | undefined;
                counter?: {
                    enable: boolean;
                    max?: number | undefined;
                    type?: "markdown" | "text" | undefined;
                    after?: ((length: number, counter: {
                        enable: boolean;
                        max?: number;
                        type?: "markdown" | "text";
                    }) => void) | undefined;
                } | undefined;
                cache?: {
                    id?: string | undefined;
                    enable?: boolean | undefined;
                    after?: ((markdown: string) => void) | undefined;
                } | undefined;
                mode?: "wysiwyg" | "sv" | "ir" | undefined;
                preview?: {
                    delay?: number | undefined;
                    maxWidth?: number | undefined;
                    mode?: "both" | "editor" | undefined;
                    url?: string | undefined;
                    hljs?: {
                        defaultLang?: string | undefined;
                        lineNumber?: boolean | undefined;
                        style?: string | undefined;
                        enable?: boolean | undefined;
                        langs?: string[] | undefined;
                        renderMenu?: ((element: HTMLElement, menuElement: HTMLElement) => void) | undefined;
                    } | undefined;
                    math?: {
                        inlineDigit?: boolean | undefined;
                        macros?: object | undefined;
                        engine?: "KaTeX" | "MathJax" | undefined;
                        mathJaxOptions?: any;
                    } | undefined;
                    markdown?: {
                        autoSpace?: boolean | undefined;
                        paragraphBeginningSpace?: boolean | undefined;
                        fixTermTypo?: boolean | undefined;
                        toc?: boolean | undefined;
                        footnotes?: boolean | undefined;
                        codeBlockPreview?: boolean | undefined;
                        mathBlockPreview?: boolean | undefined;
                        sanitize?: boolean | undefined;
                        linkBase?: string | undefined;
                        linkPrefix?: string | undefined;
                        listStyle?: boolean | undefined;
                        mark?: boolean | undefined;
                        gfmAutoLink?: boolean | undefined;
                    } | undefined;
                    theme?: {
                        current: string;
                        list?: IObject | undefined;
                        path?: string | undefined;
                    } | undefined;
                    actions?: (IPreviewAction | {
                        key: string;
                        text: string;
                        className?: string | undefined;
                        tooltip?: string | undefined;
                        click: (key: string) => void;
                    })[] | undefined;
                    render?: {
                        media?: {
                            enable?: boolean | undefined;
                        } | undefined;
                    } | undefined;
                    parse?: ((element: HTMLElement) => void) | undefined;
                    transform?: ((html: string) => string) | undefined;
                } | undefined;
                link?: {
                    isOpen?: boolean | undefined;
                    click?: ((bom: Element) => void) | undefined;
                } | undefined;
                image?: {
                    isPreview?: boolean | undefined;
                    preview?: ((bom: Element) => void) | undefined;
                } | undefined;
                hint?: {
                    parse?: boolean | undefined;
                    emojiTail?: string | undefined;
                    delay?: number | undefined;
                    emoji?: IObject | undefined;
                    emojiPath?: string | undefined;
                    extend?: {
                        key: string;
                        hint?: ((value: string) => IHintData[] | Promise<IHintData[]>) | undefined;
                    }[] | undefined;
                } | undefined;
                toolbarConfig?: {
                    hide?: boolean | undefined;
                    pin?: boolean | undefined;
                } | undefined;
                comment?: {
                    enable: boolean;
                    add?: ((id: string, text: string, commentsData: ICommentsData[]) => void) | undefined;
                    remove?: ((ids: string[]) => void) | undefined;
                    scroll?: ((top: number) => void) | undefined;
                    adjustTop?: ((commentsData: ICommentsData[]) => void) | undefined;
                } | undefined;
                theme?: "classic" | "dark" | undefined;
                icon?: "ant" | "material" | undefined;
                upload?: {
                    url?: string | undefined;
                    max?: number | undefined;
                    linkToImgUrl?: string | undefined;
                    renderLinkDest?: ((vditor: IVditor, node: ILuteNode, entering: boolean) => [string, number]) | undefined;
                    token?: string | undefined;
                    accept?: string | undefined;
                    withCredentials?: boolean | undefined;
                    headers?: IObject | undefined;
                    extraData?: {
                        [key: string]: string | Blob;
                    } | undefined;
                    multiple?: boolean | undefined;
                    fieldName?: string | undefined;
                    setHeaders?: (() => IObject) | undefined;
                    success?: ((editor: HTMLPreElement, msg: string) => void) | undefined;
                    error?: ((msg: string) => void) | undefined;
                    filename?: ((name: string) => string) | undefined;
                    validate?: ((files: File[]) => string | boolean) | undefined;
                    handler?: ((files: File[]) => string | null | Promise<string> | Promise<null>) | undefined;
                    handleDataUrl?: ((dataUrl: string) => string | Promise<string>) | undefined;
                    base64ToLink?: ((responseText: string) => string) | undefined;
                    format?: ((files: File[], responseText: string) => string) | undefined;
                    linkToImgFormat?: ((responseText: string) => string) | undefined;
                    file?: ((files: File[]) => File[] | Promise<File[]>) | undefined;
                    cancel?: ((files: File[]) => void) | undefined;
                    linkToImgCallback?: ((responseText: string) => void) | undefined;
                } | undefined;
                classes?: {
                    preview?: string | undefined;
                } | undefined;
                cdn?: string | undefined;
                tab?: string | undefined;
                outline?: {
                    enable: boolean;
                    position: "left" | "right";
                } | undefined;
                customRenders?: {
                    language: string;
                    render: (element: HTMLElement, vditor: IVditor) => void;
                }[] | undefined;
                after?: (() => void) | undefined;
                input?: ((value: string) => void) | undefined;
                focus?: ((value: string) => void) | undefined;
                blur?: ((value: string) => void) | undefined;
                keydown?: ((event: KeyboardEvent) => void) | undefined;
                esc?: ((value: string) => void) | undefined;
                ctrlEnter?: ((value: string) => void) | undefined;
                select?: ((value: string) => void) | undefined;
                unSelect?: (() => void) | undefined;
                customWysiwygToolbar?: ((type: TWYSISYGToolbar, element: HTMLElement) => void) | undefined;
            };
            originalInnerHTML: string;
            lute: {
                SetJSRenderers: (options?: {
                    renderers: {
                        HTML2VditorDOM?: ILuteRender;
                        HTML2VditorIRDOM?: ILuteRender;
                        HTML2Md?: ILuteRender;
                        Md2HTML?: ILuteRender;
                        Md2VditorDOM?: ILuteRender;
                        Md2VditorIRDOM?: ILuteRender;
                        Md2VditorSVDOM?: ILuteRender;
                    };
                }) => void;
                SetChineseParagraphBeginningSpace: (enable: boolean) => void;
                SetHeadingID: (enable: boolean) => void;
                SetRenderListStyle: (enable: boolean) => void;
                SetLinkBase: (url: string) => void;
                SetVditorIR: (enable: boolean) => void;
                SetVditorSV: (enable: boolean) => void;
                SetVditorWYSIWYG: (enable: boolean) => void;
                SetLinkPrefix: (url: string) => void;
                SetMark: (enable: boolean) => void;
                SetGFMAutoLink: (enable: boolean) => void;
                SetSanitize: (enable: boolean) => void;
                SetHeadingAnchor: (enable: boolean) => void;
                SetImageLazyLoading: (imagePath: string) => void;
                SetInlineMathAllowDigitAfterOpenMarker: (enable: boolean) => void;
                SetToC: (enable: boolean) => void;
                SetFootnotes: (enable: boolean) => void;
                SetAutoSpace: (enable: boolean) => void;
                SetFixTermTypo: (enable: boolean) => void;
                SetEmojiSite: (emojiSite: string) => void;
                SetVditorCodeBlockPreview: (enable: boolean) => void;
                SetVditorMathBlockPreview: (enable: boolean) => void;
                SetSub: (enable: boolean) => void;
                SetSup: (enable: boolean) => void;
                PutEmojis: (emojis: IObject) => void;
                GetEmojis: () => IObject;
                IsValidLinkDest: (link: string) => boolean;
                RenderEChartsJSON: (text: string) => string;
                Md2HTML: (markdown: string) => string;
                HTML2Md: (html: string) => string;
                VditorDOM2HTML: (vhtml: string) => string;
                SpinVditorDOM: (html: string) => string;
                HTML2VditorDOM: (html: string) => string;
                VditorDOM2Md: (html: string) => string;
                Md2VditorDOM: (markdown: string) => string;
                SpinVditorIRDOM: (markdown: string) => string;
                VditorIRDOM2Md: (html: string) => string;
                Md2VditorIRDOM: (text: string) => string;
                VditorIRDOM2HTML: (html: string) => string;
                HTML2VditorIRDOM: (html: string) => string;
                SpinVditorSVDOM: (text: string) => string;
                Md2VditorSVDOM: (text: string) => string;
                RenderJSON: (markdown: string) => string;
            };
            currentMode: "sv" | "wysiwyg" | "ir";
            devtools?: {
                element: HTMLDivElement;
                renderEchart: (vditor: IVditor) => void;
            } | undefined;
            outline: {
                element: HTMLElement;
                render: (vditor: IVditor) => string;
                toggle: (vditor: IVditor, show?: boolean, focus?: boolean) => void;
            };
            toolbar?: {
                elements?: {
                    [key: string]: HTMLElement;
                } | undefined;
                element?: HTMLElement | undefined;
                updateConfig: (vditor: IVditor, options: IToolbarConfig) => void;
            } | undefined;
            preview?: {
                element: HTMLElement;
                previewElement: HTMLElement;
                render: (vditor: IVditor, value?: string) => void;
            } | undefined;
            counter?: {
                element: HTMLElement;
                render: (vditor: IVditor, mdText?: string) => void;
            } | undefined;
            resize?: {
                element: HTMLElement;
            } | undefined;
            hint: {
                timeId: number;
                element: HTMLDivElement;
                recentLanguage: string;
                fillEmoji: (element: HTMLElement, vditor: IVditor) => void;
                render: (vditor: IVditor) => void;
                genHTML: (data: IHintData[], key: string, vditor: IVditor) => void;
                select: (event: KeyboardEvent, vditor: IVditor) => boolean;
            };
            tip: {
                element: HTMLElement;
                show: (text: string, time?: number) => void;
                hide: () => void;
            };
            upload?: {
                element: HTMLElement;
                isUploading: boolean;
                range: {
                    readonly commonAncestorContainer: Node;
                    cloneContents: () => DocumentFragment;
                    cloneRange: () => Range;
                    collapse: (toStart?: boolean) => void;
                    compareBoundaryPoints: (how: number, sourceRange: Range) => number;
                    comparePoint: (node: Node, offset: number) => number;
                    createContextualFragment: (string: string) => DocumentFragment;
                    deleteContents: () => void;
                    detach: () => void;
                    extractContents: () => DocumentFragment;
                    getBoundingClientRect: () => DOMRect;
                    getClientRects: () => DOMRectList;
                    insertNode: (node: Node) => void;
                    intersectsNode: (node: Node) => boolean;
                    isPointInRange: (node: Node, offset: number) => boolean;
                    selectNode: (node: Node) => void;
                    selectNodeContents: (node: Node) => void;
                    setEnd: (node: Node, offset: number) => void;
                    setEndAfter: (node: Node) => void;
                    setEndBefore: (node: Node) => void;
                    setStart: (node: Node, offset: number) => void;
                    setStartAfter: (node: Node) => void;
                    setStartBefore: (node: Node) => void;
                    surroundContents: (newParent: Node) => void;
                    toString: () => string;
                    readonly START_TO_START: 0;
                    readonly START_TO_END: 1;
                    readonly END_TO_END: 2;
                    readonly END_TO_START: 3;
                    readonly collapsed: boolean;
                    readonly endContainer: Node;
                    readonly endOffset: number;
                    readonly startContainer: Node;
                    readonly startOffset: number;
                };
                xhr?: {
                    onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;
                    readonly readyState: number;
                    readonly response: any;
                    readonly responseText: string;
                    responseType: XMLHttpRequestResponseType;
                    readonly responseURL: string;
                    readonly responseXML: Document | null;
                    readonly status: number;
                    readonly statusText: string;
                    timeout: number;
                    readonly upload: {
                        addEventListener: {
                            <K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
                            (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
                        };
                        removeEventListener: {
                            <K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
                            (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
                        };
                        onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                        dispatchEvent: (event: Event) => boolean;
                    };
                    withCredentials: boolean;
                    abort: () => void;
                    getAllResponseHeaders: () => string;
                    getResponseHeader: (name: string) => string | null;
                    open: {
                        (method: string, url: string | URL): void;
                        (method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void;
                    };
                    overrideMimeType: (mime: string) => void;
                    send: (body?: Document | XMLHttpRequestBodyInit | null) => void;
                    setRequestHeader: (name: string, value: string) => void;
                    readonly UNSENT: 0;
                    readonly OPENED: 1;
                    readonly HEADERS_RECEIVED: 2;
                    readonly LOADING: 3;
                    readonly DONE: 4;
                    addEventListener: {
                        <K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
                        (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
                    };
                    removeEventListener: {
                        <K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
                        (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
                    };
                    onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
                    dispatchEvent: (event: Event) => boolean;
                } | undefined;
            } | undefined;
            undo?: {
                clearStack: (vditor: IVditor) => void;
                redo: (vditor: IVditor) => void;
                undo: (vditor: IVditor) => void;
                addToUndoStack: (vditor: IVditor) => void;
                recordFirstPosition: (vditor: IVditor, event: KeyboardEvent) => void;
                resetIcon: (vditor: IVditor) => void;
            } | undefined;
            wysiwyg?: {
                range: {
                    readonly commonAncestorContainer: Node;
                    cloneContents: () => DocumentFragment;
                    cloneRange: () => Range;
                    collapse: (toStart?: boolean) => void;
                    compareBoundaryPoints: (how: number, sourceRange: Range) => number;
                    comparePoint: (node: Node, offset: number) => number;
                    createContextualFragment: (string: string) => DocumentFragment;
                    deleteContents: () => void;
                    detach: () => void;
                    extractContents: () => DocumentFragment;
                    getBoundingClientRect: () => DOMRect;
                    getClientRects: () => DOMRectList;
                    insertNode: (node: Node) => void;
                    intersectsNode: (node: Node) => boolean;
                    isPointInRange: (node: Node, offset: number) => boolean;
                    selectNode: (node: Node) => void;
                    selectNodeContents: (node: Node) => void;
                    setEnd: (node: Node, offset: number) => void;
                    setEndAfter: (node: Node) => void;
                    setEndBefore: (node: Node) => void;
                    setStart: (node: Node, offset: number) => void;
                    setStartAfter: (node: Node) => void;
                    setStartBefore: (node: Node) => void;
                    surroundContents: (newParent: Node) => void;
                    toString: () => string;
                    readonly START_TO_START: 0;
                    readonly START_TO_END: 1;
                    readonly END_TO_END: 2;
                    readonly END_TO_START: 3;
                    readonly collapsed: boolean;
                    readonly endContainer: Node;
                    readonly endOffset: number;
                    readonly startContainer: Node;
                    readonly startOffset: number;
                };
                element: HTMLPreElement;
                selectPopover: HTMLDivElement;
                popover: HTMLDivElement;
                afterRenderTimeoutId: number;
                hlToolbarTimeoutId: number;
                preventInput: boolean;
                composingLock: boolean;
                commentIds: string[];
                getComments: (vditor: IVditor, getData?: boolean) => ICommentsData[];
                triggerRemoveComment: (vditor: IVditor) => void;
                showComment: () => void;
                hideComment: () => void;
                unbindListener: () => void;
            } | undefined;
            ir?: {
                range: {
                    readonly commonAncestorContainer: Node;
                    cloneContents: () => DocumentFragment;
                    cloneRange: () => Range;
                    collapse: (toStart?: boolean) => void;
                    compareBoundaryPoints: (how: number, sourceRange: Range) => number;
                    comparePoint: (node: Node, offset: number) => number;
                    createContextualFragment: (string: string) => DocumentFragment;
                    deleteContents: () => void;
                    detach: () => void;
                    extractContents: () => DocumentFragment;
                    getBoundingClientRect: () => DOMRect;
                    getClientRects: () => DOMRectList;
                    insertNode: (node: Node) => void;
                    intersectsNode: (node: Node) => boolean;
                    isPointInRange: (node: Node, offset: number) => boolean;
                    selectNode: (node: Node) => void;
                    selectNodeContents: (node: Node) => void;
                    setEnd: (node: Node, offset: number) => void;
                    setEndAfter: (node: Node) => void;
                    setEndBefore: (node: Node) => void;
                    setStart: (node: Node, offset: number) => void;
                    setStartAfter: (node: Node) => void;
                    setStartBefore: (node: Node) => void;
                    surroundContents: (newParent: Node) => void;
                    toString: () => string;
                    readonly START_TO_START: 0;
                    readonly START_TO_END: 1;
                    readonly END_TO_END: 2;
                    readonly END_TO_START: 3;
                    readonly collapsed: boolean;
                    readonly endContainer: Node;
                    readonly endOffset: number;
                    readonly startContainer: Node;
                    readonly startOffset: number;
                };
                element: HTMLPreElement;
                composingLock: boolean;
                preventInput: boolean;
                processTimeoutId: number;
                hlToolbarTimeoutId: number;
            } | undefined;
            sv?: {
                range: {
                    readonly commonAncestorContainer: Node;
                    cloneContents: () => DocumentFragment;
                    cloneRange: () => Range;
                    collapse: (toStart?: boolean) => void;
                    compareBoundaryPoints: (how: number, sourceRange: Range) => number;
                    comparePoint: (node: Node, offset: number) => number;
                    createContextualFragment: (string: string) => DocumentFragment;
                    deleteContents: () => void;
                    detach: () => void;
                    extractContents: () => DocumentFragment;
                    getBoundingClientRect: () => DOMRect;
                    getClientRects: () => DOMRectList;
                    insertNode: (node: Node) => void;
                    intersectsNode: (node: Node) => boolean;
                    isPointInRange: (node: Node, offset: number) => boolean;
                    selectNode: (node: Node) => void;
                    selectNodeContents: (node: Node) => void;
                    setEnd: (node: Node, offset: number) => void;
                    setEndAfter: (node: Node) => void;
                    setEndBefore: (node: Node) => void;
                    setStart: (node: Node, offset: number) => void;
                    setStartAfter: (node: Node) => void;
                    setStartBefore: (node: Node) => void;
                    surroundContents: (newParent: Node) => void;
                    toString: () => string;
                    readonly START_TO_START: 0;
                    readonly START_TO_END: 1;
                    readonly END_TO_END: 2;
                    readonly END_TO_START: 3;
                    readonly collapsed: boolean;
                    readonly endContainer: Node;
                    readonly endOffset: number;
                    readonly startContainer: Node;
                    readonly startOffset: number;
                };
                element: HTMLPreElement;
                processTimeoutId: number;
                hlToolbarTimeoutId: number;
                composingLock: boolean;
                preventInput: boolean;
            } | undefined;
        };
        updateToolbarConfig: (options: IToolbarConfig) => void;
        setTheme: (theme: "dark" | "classic", contentTheme?: string, codeTheme?: string, contentThemePath?: string) => void;
        getValue: () => string;
        getCurrentMode: () => "sv" | "wysiwyg" | "ir";
        focus: () => void;
        blur: () => void;
        disabled: () => void;
        enable: () => void;
        getSelection: () => string;
        renderPreview: (value?: string) => void;
        getCursorPosition: () => {
            left: number;
            top: number;
        };
        isUploading: () => boolean;
        clearCache: () => void;
        disabledCache: () => void;
        enableCache: () => void;
        html2md: (value: string) => string;
        exportJSON: (value: string) => string;
        getHTML: () => string;
        tip: (text: string, time?: number) => void;
        setPreviewMode: (mode: "both" | "editor") => void;
        deleteValue: () => void;
        updateValue: (value: string) => void;
        insertValue: (value: string, render?: boolean) => void;
        insertMD: (md: string) => void;
        setValue: (markdown: string, clearStack?: boolean) => void;
        insertEmptyBlock: (position: InsertPosition) => void;
        clearStack: () => void;
        destroy: () => void;
        getCommentIds: () => ICommentsData[];
        hlCommentIds: (ids: string[]) => void;
        unHlCommentIds: (ids: string[]) => void;
        removeCommentIds: (removeIds: string[]) => void;
    } | null>;
    getValue: typeof getValue;
    setValue: typeof setValue;
    focus: typeof focus;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    blur: (...args: any[]) => void;
    focus: (...args: any[]) => void;
    "update:modelValue": (...args: any[]) => void;
    init: (...args: any[]) => void;
    ready: (...args: any[]) => void;
}, string, PublicProps, Readonly<EditorProps> & Readonly<{
    onBlur?: ((...args: any[]) => any) | undefined;
    onFocus?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onInit?: ((...args: any[]) => any) | undefined;
    onReady?: ((...args: any[]) => any) | undefined;
}>, {
    modelValue: string;
    options: EditorOptions;
    height: string | number;
    disabled: boolean;
    placeholder: string;
    minHeight: string | number;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    rootRef: HTMLDivElement;
}, HTMLDivElement>;
export default _default;
