import { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';
import { ElementRef, Injector } from '@angular/core';
import * as i0 from "@angular/core";
export declare abstract class ClrMultilingualAbstract extends ClrAbstractFormComponent {
    multi: boolean;
    controlClasses: string;
    selectedLang: string;
    readonly: string;
    maxlength: number;
    /** Show language selector when only one language provided */
    showSingleLanguageSelector: boolean;
    inputElement: ElementRef;
    texts: Map<string, string>;
    shownTexts: Map<string, string>;
    languages: string[];
    missingPrefix: string;
    fallbackLang: string;
    protected constructor(injector: Injector);
    set fallbackLanguage(fallbackLang: string);
    set missingPre(missingPrefix: string);
    set langs(languages: string[]);
    writeValue(value: Map<string, string>): void;
    setText(key: string, value: string): void;
    updateShownTexts(currentlyEditingLang?: string): void;
    applyMissingPrefix(texts: Map<string, string>, currentlyEditingLang: string): Map<string, string>;
    determineFallbackText(): string;
    showLanguageSelector(): boolean;
    changeLanguage(lang: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ClrMultilingualAbstract, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ClrMultilingualAbstract, never, never, { "controlClasses": { "alias": "clrControlClasses"; "required": false; }; "selectedLang": { "alias": "clrSelectedLang"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "showSingleLanguageSelector": { "alias": "clrShowSingleLanguageSelector"; "required": false; }; "fallbackLanguage": { "alias": "clrFallbackLang"; "required": false; }; "missingPre": { "alias": "clrMissingPrefix"; "required": false; }; "langs": { "alias": "clrLanguages"; "required": false; }; }, {}, never, never, true, never>;
}
