import { DeepPartial } from 'react-hook-form';
import { Translation } from 'translations/Translation';
type TTranslation = typeof Translation;
type TI18nMappedLanguage = {
    translation: TTranslation;
};
type TI18nMappedLanguages = {
    [key in Language]?: TI18nMappedLanguage;
};
export type TLanguageTranslations = {
    [key in Language]?: TTranslation;
};
export declare enum Language {
    en_us = "en-US",
    zh_cn = "zh-CN",
    zh_tw = "zh-TW",
    es = "es",
    fr = "fr",
    clear = "testing_only"
}
export declare class LanguageProvider {
    static filterLanguages: Language[];
    private static overrides;
    private static languages;
    static changeLanguage(lang: Language): void;
    static getPrettyLanguageName(lang: Language): "" | "English" | "简体中文" | "繁體中文" | "Español" | "Français";
    static getI18nMappedLanguages(): TI18nMappedLanguages;
    /**
     * Create a way to override translations for specific languages, and hotels.
     * @param lang
     * @param overrideTree
     */
    static registerOverride(lang: Language, overrideTree: DeepPartial<TTranslation>): void;
    static getLanguages(): TLanguageTranslations;
    private static getOverridesForLanguage;
}
export {};
