import { EuiLanguage } from './eui-language.model';
export type EuiLanguageCode = string | EuiLanguage;
export declare class EuiEuLanguages {
    private static languages;
    private static allLanguages;
    /**
     * Matches the given string array to the EU languages and returns a EuiLanguage array.
     * In case that no codes provided it returns the EU Languages array.
     *
     * @param codes A string array of 2 char codes
     */
    static getLanguages(codes?: EuiLanguageCode[]): EuiLanguage[];
    /**
     * filters and removes language codes that are not part of the EULanguage
     * e.g. 'ko' does not map to any EULanguage code on the array.
     *      { code: 'ko', label: 'whatever' } is valid though
     *
     * @param codes codes A string array of 2 char codescodes A string array of 2 char codes
     */
    static filterInvalidLanguageCodes(codes: EuiLanguageCode[]): EuiLanguageCode[];
    /**
     * return the given list ordered based on the EULanguage order
     *
     * @param codes codes A string array of 2 char codes
     */
    static getOrderedLanguages(codes?: EuiLanguageCode[]): EuiLanguage[];
    /**
     * retrieve language codes (string array) from a given array of string and EuiLanguage items
     *
     * @param array It can be an mixed array of string and EuiLanguage items
     */
    static getLanguageCodes(array: EuiLanguageCode[]): string[];
    /**
     * filter non EU languages from given array
     *
     * @param array An array of EuiLanguage items
     */
    static filterNonEULanguages(array: EuiLanguage[]): EuiLanguage[];
    /**
     * filter EU Languages from given array
     *
     * @param array An array of EuiLanguage items
     */
    static filterEULanguages(array: EuiLanguage[]): EuiLanguage[];
    /**
     * @param code language code, ex. 'lu'
     */
    static getLanguageByCode(code: string): EuiLanguage;
    /**
     * @param code language code, ex. 'lu'
     */
    static isEuLanguage(code: string): boolean;
    /**
     * Returns array of EuiLanguage that match the given codes. If codes array is empty, returns all languages.
     * @param codes A string array of 2 char codes, ex. ['en', 'de']
     */
    static getAllLanguagesByCodes(codes: string[]): EuiLanguage[];
}
//# sourceMappingURL=eui-eu-languages.model.d.ts.map