import { DialtoneLocalization } from '../../localization';
import { Extension } from '@tiptap/core';
declare const _default: import('vue').DefineComponent<{
    value: {
        type: (ObjectConstructor | StringConstructor)[];
        default: string;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    preventTyping: {
        type: BooleanConstructor;
        default: boolean;
    };
    pasteRichText: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowLineBreaks: {
        type: BooleanConstructor;
        default: boolean;
    };
    inputAriaLabel: {
        type: StringConstructor;
        required: true;
    };
    inputClass: {
        type: StringConstructor;
        default: string;
    };
    autoFocus: {
        type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
        default: boolean;
        validator(autoFocus: unknown): boolean;
    };
    outputFormat: {
        type: StringConstructor;
        default: string;
        validator(outputFormat: unknown): boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    link: {
        type: (ObjectConstructor | BooleanConstructor)[];
        default: boolean;
    };
    customLink: {
        type: (ObjectConstructor | BooleanConstructor)[];
        default: boolean;
    };
    mentionSuggestion: {
        type: ObjectConstructor;
        default: null;
    };
    channelSuggestion: {
        type: ObjectConstructor;
        default: null;
    };
    slashCommandSuggestion: {
        type: ObjectConstructor;
        default: null;
    };
    allowBlockquote: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowBold: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowBulletList: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowItalic: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowStrike: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowUnderline: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowCode: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowCodeblock: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowInlineImages: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowFontColor: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowFontFamily: {
        type: BooleanConstructor;
        default: boolean;
    };
    additionalExtensions: {
        type: ArrayConstructor;
        default: () => never[];
    };
    hideLinkBubbleMenu: {
        type: BooleanConstructor;
        default: boolean;
    };
    useDivTags: {
        type: BooleanConstructor;
        default: boolean;
    };
}, {}, {
    editor: null;
    tippyOptions: {
        appendTo: () => any;
        placement: string;
    };
    i18n: DialtoneLocalization;
}, {
    editorListeners(): {
        input: () => void;
        focus: () => void;
        blur: () => void;
    };
    extensions(): (import('@tiptap/vue-2').Node<any, any> | Extension<import('@tiptap/extension-history').HistoryOptions, any>)[];
    inputAttrs(): {
        'aria-label': any;
        'aria-multiline': boolean;
        role: string;
    };
}, {
    createEditor(): void;
    bubbleMenuShouldShow({ editor, view, state, oldState, from, to }: {
        editor: any;
        view: any;
        state: any;
        oldState: any;
        from: any;
        to: any;
    }): any;
    getSelectedLinkText(editor: any): any;
    editLink(): void;
    removeLink(): void;
    openLink(): void;
    setLink(linkInput: any, linkText: any, linkOptions: any, linkProtocols: string[] | undefined, defaultPrefix: any): void;
    processValue(newValue: any, returnIfEqual?: boolean): void;
    destroyEditor(): void;
    insertPlainTextWithHardBreaks(view: any, textData: any): void;
    shouldPreserveLineBreaks(textData: any, htmlData: any): any;
    processPasteData(view: any, textData: any, htmlData: any): boolean;
    shouldHandlePreformattedHTML(htmlData: any): any;
    containsPreformattedContent(htmlData: any): boolean;
    hasPreWhitespace(element: any): any;
    hasLineBreaks(element: any): any;
    hasBlankLines(textData: any): any;
    extractPreformattedText(htmlData: any): string;
    walkAndExtractText(node: any): string;
    triggerInputChangeEvents(): void;
    addEditorListeners(): void;
    getOutput(): any;
    getExtension(extension: any, options: any): any;
    updateEditorAttributes(attributes: any): void;
    focusEditor(): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("input" | "focus" | "selected" | "enter" | "blur" | "selected-command" | "json-input" | "html-input" | "text-input" | "update:value" | "edit-link")[], string, Readonly<import('vue').ExtractPropTypes<{
    value: {
        type: (ObjectConstructor | StringConstructor)[];
        default: string;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    preventTyping: {
        type: BooleanConstructor;
        default: boolean;
    };
    pasteRichText: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowLineBreaks: {
        type: BooleanConstructor;
        default: boolean;
    };
    inputAriaLabel: {
        type: StringConstructor;
        required: true;
    };
    inputClass: {
        type: StringConstructor;
        default: string;
    };
    autoFocus: {
        type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
        default: boolean;
        validator(autoFocus: unknown): boolean;
    };
    outputFormat: {
        type: StringConstructor;
        default: string;
        validator(outputFormat: unknown): boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    link: {
        type: (ObjectConstructor | BooleanConstructor)[];
        default: boolean;
    };
    customLink: {
        type: (ObjectConstructor | BooleanConstructor)[];
        default: boolean;
    };
    mentionSuggestion: {
        type: ObjectConstructor;
        default: null;
    };
    channelSuggestion: {
        type: ObjectConstructor;
        default: null;
    };
    slashCommandSuggestion: {
        type: ObjectConstructor;
        default: null;
    };
    allowBlockquote: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowBold: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowBulletList: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowItalic: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowStrike: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowUnderline: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowCode: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowCodeblock: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowInlineImages: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowFontColor: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowFontFamily: {
        type: BooleanConstructor;
        default: boolean;
    };
    additionalExtensions: {
        type: ArrayConstructor;
        default: () => never[];
    };
    hideLinkBubbleMenu: {
        type: BooleanConstructor;
        default: boolean;
    };
    useDivTags: {
        type: BooleanConstructor;
        default: boolean;
    };
}>>, {
    link: boolean | Record<string, any>;
    value: string | Record<string, any>;
    inputClass: string;
    placeholder: string;
    mentionSuggestion: Record<string, any>;
    channelSuggestion: Record<string, any>;
    slashCommandSuggestion: Record<string, any>;
    editable: boolean;
    preventTyping: boolean;
    pasteRichText: boolean;
    allowLineBreaks: boolean;
    autoFocus: string | number | boolean;
    outputFormat: string;
    customLink: boolean | Record<string, any>;
    allowBlockquote: boolean;
    allowBold: boolean;
    allowBulletList: boolean;
    allowItalic: boolean;
    allowStrike: boolean;
    allowUnderline: boolean;
    allowCode: boolean;
    allowCodeblock: boolean;
    allowInlineImages: boolean;
    allowFontColor: boolean;
    allowFontFamily: boolean;
    additionalExtensions: unknown[];
    hideLinkBubbleMenu: boolean;
    useDivTags: boolean;
}>;
export default _default;
//# sourceMappingURL=rich_text_editor.vue.d.ts.map