import { IWebComponentInstance, SubscriptionHandler, OmniaContext } from "../..";
import { IMultilingualInput } from "./IMultilingualInput";
import { MultilingualString, Language, OmitProperties, RichTextEditorExtensionRegistration, LanguageTags } from "../../models";
import "./MultilingualInput.css";
import { MultilingualInputStyles } from "../models";
import { IValidator } from "..";
import { MultilingualStore } from "../../stores";
import { MultilingualInputLocalization } from "./loc/localize";
import { MultilingualContext } from "../MultilingualContext";
import { VueComponentBase } from "../VueComponentBase";
import { IRichTextEditorExtensionHelper, RichTextEditorExtension } from "../richtexteditor";
import { InputLanguageStore } from "../inputlanguagepicker/stores";
import { IRichTextEditor } from "../richtexteditor";
export declare class MultilingualInput extends VueComponentBase implements IWebComponentInstance, IMultilingualInput {
    valueBind: MultilingualString;
    dark: boolean;
    onValueChanged: (model: MultilingualString) => void;
    multipleLines: boolean;
    richTextSettings: OmitProperties<IRichTextEditor, "initialContent" | "onContentChange">;
    label: string;
    filled: boolean;
    disabled: boolean;
    multilingualContext: MultilingualContext;
    requiredWithValidator: IValidator;
    stylesMultilingualInput?: typeof MultilingualInputStyles;
    autofocus: boolean;
    private inheritedMultilingualContext;
    omniaCtx: OmniaContext;
    multilingualStringStore: MultilingualStore;
    subscriptionHandler: SubscriptionHandler;
    inputLanguageStore: InputLanguageStore;
    loc: MultilingualInputLocalization.locInterface;
    get forceOneLanguage(): boolean;
    get forceTenantLanguages(): boolean;
    internalModel: MultilingualString;
    internalDisabled: boolean;
    isLoading: boolean;
    languages: Array<Language>;
    isListView: boolean;
    timeWatchKey: string;
    defaultLanguageCode: LanguageTags;
    editingLanguageCode: LanguageTags;
    showRequired: boolean;
    editorKey: string;
    focusMark: {
        [localeName: string]: boolean;
    };
    previousInternalModelJson: string;
    private styles;
    computedStyleClasses: {
        selectedFlag: string;
        label: string;
        disabledLabel: string;
        icon: string;
        focusedLabel: string;
    };
    private customRichTextMenuBarStyle;
    onDisabledModelChange(): void;
    onValueBindChanged(): void;
    onInternalModelChange(): void;
    mounted(): void;
    get selectedInputLanguage(): Language;
    get darkValue(): boolean;
    validate(): boolean;
    clearValidation(): void;
    created(): void;
    subscribeFlushMessage(): void;
    flushModel(): void;
    isComponentStillValid(): boolean;
    onConfigureExtensions(extensions: Array<RichTextEditorExtension>, registrationResolver?: (registration: RichTextEditorExtensionRegistration) => RichTextEditorExtension, extensionHelper?: IRichTextEditorExtensionHelper): RichTextEditorExtension[];
    initWithForceOneLanguage(): void;
    init(): void;
    initInternalModel(): void;
    private onInput;
    private onBlur;
    transformVSlot(slot: any): {
        scopedSlots: any;
    };
    renderSingleLangualInput(): VueTsxSupport.JSX.Element;
    renderMultilingualInput(): VueTsxSupport.JSX.Element;
    renderLabel(): VueTsxSupport.JSX.Element;
    renderListView(): VueTsxSupport.JSX.Element;
    renderTabBody(): VueTsxSupport.JSX.Element;
    render(): VueTsxSupport.JSX.Element;
}
