import { DialtoneLocalization } from '../../../localization';
import { removeClassStyleAttrs, addClassStyleAttrs } from '../../../common/utils';
declare const _default: import('vue').DefineComponent<{
    modelValue: {
        type: (ObjectConstructor | StringConstructor)[];
        default: string;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    inputAriaLabel: {
        type: StringConstructor;
        required: true;
        default: string;
    };
    inputClass: {
        type: StringConstructor;
        default: string;
    };
    autoFocus: {
        type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
        default: boolean;
        validator(autoFocus: unknown): boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    maxHeight: {
        type: StringConstructor;
        default: string;
    };
    setLinkPlaceholder: {
        type: StringConstructor;
        default: string;
    };
    showBoldButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showItalicsButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showUnderlineButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showStrikeButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showListItemsButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showOrderedListButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAlignLeftButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAlignCenterButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAlignRightButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAlignJustifyButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showQuoteButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showCodeBlockButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showQuickRepliesButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showInlineImageButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAddLink: {
        type: ObjectConstructor;
        default: () => {
            showAddLinkButton: boolean;
        };
    };
    useDivTags: {
        type: BooleanConstructor;
        default: boolean;
    };
}, any, {
    internalInputValue: string | Record<string, any>;
    hasFocus: boolean;
    linkOptions: {
        class: string;
    };
    showLinkInput: boolean;
    linkInput: string;
    currentButtonRefIndex: number;
    i18n: DialtoneLocalization;
}, {
    inputLength(): any;
    htmlOutputFormat(): string;
    showingTextFormatButtons(): any;
    showingAlignmentButtons(): any;
    showingListButtons(): any;
    orderedRefs(): any;
    buttonGroups(): ({
        key: string;
        buttonGroup: {
            showBtn: any;
            selector: string;
            icon: import('vue').DefineComponent<{
                size: {
                    type: StringConstructor;
                    default: string;
                    validator: (s: unknown) => boolean;
                };
                ariaLabel: {
                    type: StringConstructor;
                    default: undefined;
                };
            }, any, any, {
                iconSizeClass(): any;
                ariaHidden(): "true" | "false";
                dataQA(): any;
            }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "loaded"[], "loaded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
                size: {
                    type: StringConstructor;
                    default: string;
                    validator: (s: unknown) => boolean;
                };
                ariaLabel: {
                    type: StringConstructor;
                    default: undefined;
                };
            }>> & {
                onLoaded?: ((...args: any[]) => any) | undefined;
            }, {
                size: string;
                ariaLabel: string;
            }, {}>;
            dataQA: string;
            tooltipMessage: string;
            onClick: () => void;
        }[];
    } | {
        key: string;
        buttonGroup: {
            showBtn: any;
            selector: {
                textAlign: string;
            };
            icon: import('vue').DefineComponent<{
                size: {
                    type: StringConstructor;
                    default: string;
                    validator: (s: unknown) => boolean;
                };
                ariaLabel: {
                    type: StringConstructor;
                    default: undefined;
                };
            }, any, any, {
                iconSizeClass(): any;
                ariaHidden(): "true" | "false";
                dataQA(): any;
            }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "loaded"[], "loaded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
                size: {
                    type: StringConstructor;
                    default: string;
                    validator: (s: unknown) => boolean;
                };
                ariaLabel: {
                    type: StringConstructor;
                    default: undefined;
                };
            }>> & {
                onLoaded?: ((...args: any[]) => any) | undefined;
            }, {
                size: string;
                ariaLabel: string;
            }, {}>;
            dataQA: string;
            tooltipMessage: string;
            onClick: () => any;
        }[];
    })[];
    newButtons(): {
        showBtn: any;
        label: string;
        selector: string;
        icon: import('vue').DefineComponent<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }, any, any, {
            iconSizeClass(): any;
            ariaHidden(): "true" | "false";
            dataQA(): any;
        }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "loaded"[], "loaded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }>> & {
            onLoaded?: ((...args: any[]) => any) | undefined;
        }, {
            size: string;
            ariaLabel: string;
        }, {}>;
        dataQA: string;
        tooltipMessage: string;
        onClick: () => void;
    }[];
    textFormatButtons(): {
        showBtn: any;
        selector: string;
        icon: import('vue').DefineComponent<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }, any, any, {
            iconSizeClass(): any;
            ariaHidden(): "true" | "false";
            dataQA(): any;
        }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "loaded"[], "loaded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }>> & {
            onLoaded?: ((...args: any[]) => any) | undefined;
        }, {
            size: string;
            ariaLabel: string;
        }, {}>;
        dataQA: string;
        tooltipMessage: string;
        onClick: () => void;
    }[];
    alignmentButtons(): {
        showBtn: any;
        selector: {
            textAlign: string;
        };
        icon: import('vue').DefineComponent<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }, any, any, {
            iconSizeClass(): any;
            ariaHidden(): "true" | "false";
            dataQA(): any;
        }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "loaded"[], "loaded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }>> & {
            onLoaded?: ((...args: any[]) => any) | undefined;
        }, {
            size: string;
            ariaLabel: string;
        }, {}>;
        dataQA: string;
        tooltipMessage: string;
        onClick: () => any;
    }[];
    listButtons(): {
        showBtn: any;
        selector: string;
        icon: import('vue').DefineComponent<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }, any, any, {
            iconSizeClass(): any;
            ariaHidden(): "true" | "false";
            dataQA(): any;
        }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "loaded"[], "loaded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }>> & {
            onLoaded?: ((...args: any[]) => any) | undefined;
        }, {
            size: string;
            ariaLabel: string;
        }, {}>;
        dataQA: string;
        tooltipMessage: string;
        onClick: () => void;
    }[];
    individualButtons(): {
        showBtn: any;
        selector: string;
        icon: import('vue').DefineComponent<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }, any, any, {
            iconSizeClass(): any;
            ariaHidden(): "true" | "false";
            dataQA(): any;
        }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "loaded"[], "loaded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }>> & {
            onLoaded?: ((...args: any[]) => any) | undefined;
        }, {
            size: string;
            ariaLabel: string;
        }, {}>;
        dataQA: string;
        tooltipMessage: string;
        onClick: () => void;
    }[];
    linkButton(): {
        showBtn: any;
        selector: string;
        icon: import('vue').DefineComponent<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }, any, any, {
            iconSizeClass(): any;
            ariaHidden(): "true" | "false";
            dataQA(): any;
        }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "loaded"[], "loaded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            size: {
                type: StringConstructor;
                default: string;
                validator: (s: unknown) => boolean;
            };
            ariaLabel: {
                type: StringConstructor;
                default: undefined;
            };
        }>> & {
            onLoaded?: ((...args: any[]) => any) | undefined;
        }, {
            size: string;
            ariaLabel: string;
        }, {}>;
        dataQA: string;
        tooltipMessage: string;
        onClick: () => void;
    };
    confirmSetLinkButtonLabels(): Record<string, string>;
    cancelSetLinkButtonLabels(): Record<string, string>;
    removeLinkButtonLabels(): Record<string, string>;
    showAddLinkButtonLabels(): Record<string, string>;
}, {
    removeClassStyleAttrs: typeof removeClassStyleAttrs;
    addClassStyleAttrs: typeof addClassStyleAttrs;
    onInputFocus(event: any): void;
    removeLink(): void;
    setLink(event: any): void;
    openLinkInput(): void;
    updateInput(openedInput: any): void;
    closeLinkInput(): void;
    onBoldTextToggle(): void;
    onItalicTextToggle(): void;
    onUnderlineTextToggle(): void;
    onStrikethroughTextToggle(): void;
    onTextAlign(alignment: any): any;
    onBulletListToggle(): void;
    onOrderedListToggle(): void;
    onCodeBlockToggle(): void;
    onQuickRepliesClick(): void;
    onInsertInlineImageClick(): void;
    insertInlineImage(imageUrl: any): void;
    insertInMessageBody(messageContent: any): void;
    setCursorPosition(position?: null): void;
    onBlockquoteToggle(): void;
    onTextInput(input: any): void;
    onFocus(event: any): void;
    onBlur(event: any): void;
    onInput(event: any): void;
    getButtonKey(key: any, selector: any): string;
    getButtonRef(key: any, selector: any): string;
    canFocus(refKey: string): boolean;
    shiftActionBarFocusRight(): void;
    shiftActionBarFocusLeft(): void;
    shiftButtonRefIndex(shiftAmount: any): void;
}, never, import('vue').ComponentOptionsMixin, ("input" | "blur" | "focus" | "update:modelValue" | "text-input" | "quick-replies-click" | "inline-image-click")[], "input" | "blur" | "focus" | "update:modelValue" | "text-input" | "quick-replies-click" | "inline-image-click", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    modelValue: {
        type: (ObjectConstructor | StringConstructor)[];
        default: string;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    inputAriaLabel: {
        type: StringConstructor;
        required: true;
        default: string;
    };
    inputClass: {
        type: StringConstructor;
        default: string;
    };
    autoFocus: {
        type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
        default: boolean;
        validator(autoFocus: unknown): boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    maxHeight: {
        type: StringConstructor;
        default: string;
    };
    setLinkPlaceholder: {
        type: StringConstructor;
        default: string;
    };
    showBoldButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showItalicsButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showUnderlineButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showStrikeButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showListItemsButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showOrderedListButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAlignLeftButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAlignCenterButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAlignRightButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAlignJustifyButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showQuoteButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showCodeBlockButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showQuickRepliesButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showInlineImageButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAddLink: {
        type: ObjectConstructor;
        default: () => {
            showAddLinkButton: boolean;
        };
    };
    useDivTags: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    onInput?: ((...args: any[]) => any) | undefined;
    onBlur?: ((...args: any[]) => any) | undefined;
    onFocus?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    "onText-input"?: ((...args: any[]) => any) | undefined;
    "onQuick-replies-click"?: ((...args: any[]) => any) | undefined;
    "onInline-image-click"?: ((...args: any[]) => any) | undefined;
}, {
    modelValue: string | Record<string, any>;
    maxHeight: string;
    inputClass: string;
    placeholder: string;
    editable: boolean;
    inputAriaLabel: string;
    autoFocus: string | number | boolean;
    useDivTags: boolean;
    setLinkPlaceholder: string;
    showBoldButton: boolean;
    showItalicsButton: boolean;
    showUnderlineButton: boolean;
    showStrikeButton: boolean;
    showListItemsButton: boolean;
    showOrderedListButton: boolean;
    showAlignLeftButton: boolean;
    showAlignCenterButton: boolean;
    showAlignRightButton: boolean;
    showAlignJustifyButton: boolean;
    showQuoteButton: boolean;
    showCodeBlockButton: boolean;
    showQuickRepliesButton: boolean;
    showInlineImageButton: boolean;
    showAddLink: Record<string, any>;
}, {}>;
export default _default;
//# sourceMappingURL=editor.vue.d.ts.map