import "./RichTextEditorSettings.css";
import { IWebComponentInstance } from "../../runtime/core/InternalWebComponentBootstrapper";
import { VueComponentBase } from "..";
import { OmniaContext } from "../..";
import { RichTextEditorExtensionRegistration } from "../../models/RichTextEditorExtension";
import { IRichTextEditorSettings } from "./IRichTextEditorSettings";
import { MediaPickerStore, MultilingualStore } from "internal/fx/stores";
export interface RTFExtensionViewModel extends RichTextEditorExtensionRegistration {
    instance: any;
    isChecked?: boolean;
    isSettingsShowed?: boolean;
}
export default class RichTextEditorSettings extends VueComponentBase implements IWebComponentInstance, IRichTextEditorSettings {
    showEditorPreview: boolean;
    extensions: Array<RTFExtensionViewModel>;
    enableAutomaticFormatCleaning: boolean;
    onExtensionChange: (model: Array<RTFExtensionViewModel>) => void;
    onAutomaticFormatCleaningChange?: (enable: boolean) => void;
    private omniaTheming;
    private omniaUxLoc;
    private loc;
    omniaCtx: OmniaContext;
    private localizationService;
    private settingsService;
    multilingualStore: MultilingualStore;
    mediaPickerStore: MediaPickerStore;
    private guid;
    private richTextEditorExtensionSubscriptionHandler;
    private isSaving;
    private readyToRender;
    private RTFContents;
    private isRendering;
    private richTextEdiorSettingsStyles;
    private formValidator;
    private textStylesSettingKey;
    private headings;
    private extensionIdsHaveSettings;
    private selectableCropRatioUniqueIds;
    private selectedCropRatioUniqueId;
    created(): void;
    init(): void;
    mounted(): void;
    beforeDestroy(): void;
    private initSelectableCropRatios;
    private getRatioDefinitionItems;
    private onEditCropRatio;
    private onAddCropRatio;
    private onRemoveCropRatio;
    private migratenewHeading;
    private getHeadingSettings;
    private onExtensionCheckedChanged;
    private onHeadingSettingsChanged;
    private forceRendering;
    private saveSettings;
    private onExtensionOrderChanged;
    private toggleExtensionSettings;
    private isNotEmpty;
    updateExtension(extension: RTFExtensionViewModel): void;
    render(): VueTsxSupport.JSX.Element;
    renderPreviewEditor(): VueTsxSupport.JSX.Element;
    renderExtensions(): VueTsxSupport.JSX.Element;
    renderListTileContent(extension: RTFExtensionViewModel, extensions: RTFExtensionViewModel[]): VueTsxSupport.JSX.Element[];
    renderMediaPickerSettings(extension: RTFExtensionViewModel): VueTsxSupport.JSX.Element;
    renderHeadingSettings(extension: RTFExtensionViewModel): VueTsxSupport.JSX.Element;
}
