import { OnInit, ElementRef } from '@angular/core';
import { DialogService } from '../../service/DialogService.service';
import { AbstractComponentDataLangSelector } from '../AbstractComponentDataLangSelector';
import { IHasModel } from '../IHasModel';
import { LanguageButtonModel } from '../model/LanguageButtonModel';
export declare class DataLangSelectorPane extends AbstractComponentDataLangSelector implements OnInit, IHasModel {
    static readonly TYPE_NAME: string;
    private LANGUAGE_FIELD_NAME;
    private OBJECT_ID_FIELD_NAME;
    private model;
    constructor(elementRef: ElementRef, dialogService: DialogService);
    ngOnInit(): void;
    private getEditor();
    private getWrapDataObject(dataObject);
    /**
     * @param data as any
     * @return any as one object.
     */
    getDefaultData(): any;
    protected getDataObjects(): any[];
    hasModel(): boolean;
    getModel(): any;
    setModel(model: any): void;
    getLanguageFieldName(): string;
    getObjectIdFieldName(): string;
    getInstanceDefaultData(data: any): any;
    getInstanceDataLanguage(data: any): any;
    /**
     * @param data as any
     * @return any as object in pattern {iconURL: string, code: string, label: string}
     */
    getLanguageList(): string[];
    loadDataLanguageList(defaultData: any): Promise<any[]>;
    /**
     * when new language was created this method will be called
     * @param newLangData as any
     */
    onLanguageAdded(newLangData: any): void;
    /**
    * when language was removed this method will be called
    * @param deletedData as any
    */
    onLanguageRemoved(deletedData: any): void;
    parseLanguageButtonModel(langCode: string): LanguageButtonModel;
}
