import { OnDestroy, OnInit } from '@angular/core';
import { I18nField } from '../models/i18n-field';
import { TranslateService } from '@ngx-translate/core';
import { DomSanitizer } from '@angular/platform-browser';
import { LanguageIconsService } from '../language-icons.service';
import { AbstractI18nErrorsComponent } from '../abstract-i18n-errors.component';
import { LanguageIcons } from '../models/language-icons';
import { I18nFieldTranslations } from '../models/i18n-field-value';
import { DataFieldPortalData } from "../../models/data-field-portal-data-injection-token";
import * as i0 from "@angular/core";
export declare abstract class AbstractI18nTextFieldComponent extends AbstractI18nErrorsComponent implements OnInit, OnDestroy {
    protected languageIconsService: LanguageIconsService;
    protected _translateService: TranslateService;
    protected _domSanitizer: DomSanitizer;
    private fieldValueChangesSubscription;
    private fieldUpdateSubscription;
    languageKeys: Array<string>;
    protected initializedLanguage: boolean;
    selectedLanguage: string;
    filledShown: boolean;
    private labelWidth;
    cutProperty: string;
    currentValue: I18nFieldTranslations;
    filledKeys: Array<string>;
    protected constructor(languageIconsService: LanguageIconsService, _translateService: TranslateService, _domSanitizer: DomSanitizer, dataFieldPortalData: DataFieldPortalData<I18nField>);
    ngOnInit(): void;
    ngOnDestroy(): void;
    protected refreshCurrentValue(newValue?: import("../models/i18n-field-value").I18nFieldValue): void;
    getLanguageIcons(): LanguageIcons;
    isDefaultValue(chosenLanguage: string): boolean;
    selectLanguage(newLanguage: string): void;
    setSelectedValue(): void;
    refreshFilledMap(): void;
    removeTranslation(key: string): void;
    toggleFilled(): void;
    getCutProperty(i18nLabel: any): string;
    hasHint(): boolean;
    getTranslation(): string;
    getDefaultLanguageCode(): string;
    isPlainText(): boolean;
    isBoldText(): boolean;
    getTextColor(): string;
    getTextFontSize(): string;
    textPropertyEnabled(property: string): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractI18nTextFieldComponent, [null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractI18nTextFieldComponent, "ncc-abstract-i18n-text-field", never, {}, {}, never, never, false, never>;
}
