import { PrimitiveType } from 'intl-messageformat';
import { LangEnum } from 'nsn-enum';
import { LocaleKey } from 'nsn-locale';
import { RepData } from 'nsn-service-type';
import { MessageDescriptor } from 'umi';
/** umi语言环境设置的变量 */
declare const UMI_LOCALE_KEY = "umi_locale";
declare type MessageDescriptorType<ID> = Omit<MessageDescriptor, 'id'> & {
    id: ID;
};
/**
 * 获取语言
 * @returns [ zh-CN,简体中文,🇨🇳 ] / [ en-US,English,🇺🇸 ]
 */
declare const getLangValue: (lang: LangEnum) => string[];
/**
 * 获取语言编码
 * @return EG: zh-CN / en-US
 */
declare const getLangCode: (lang: LangEnum) => string;
/**
 * 获取语言描述
 * @return EG: 简体中文 / English
 */
declare const getLangLabel: (lang: LangEnum) => string;
/**
 * 获取语言国旗
 * @return EG: 🇨🇳 / 🇺🇸
 */
declare const getLangIcon: (lang: LangEnum) => string;
/**
 * 获取当前语言环境.
 * @returns en-US / zh-CN
 */
declare const get: () => string;
/** 英文环境 */
declare const isEN: () => boolean;
/** 中文环境 */
declare const isCN: () => boolean;
/** 切换语言 */
declare const setLang: (lang: LangEnum) => void;
/** 切换语言 */
declare const set: (lang: string) => void;
/** 获取全部语言环境 */
declare const getLangAll: () => LangEnum[];
/** 获取当前语言环境 */
declare const getLang: () => LangEnum;
/** 格式化语言 */
declare const format: <ID extends string>(descriptor: MessageDescriptorType<ID | LocaleKey>, values?: Record<string, PrimitiveType>) => string;
/**
 * 获取国际化内容
 * @param ID 规范 id 的可选值
 * @param id 配置的 locales 的标识
 * @param values 格式化参数
 */
declare const getText: <ID extends string>(id: ID | LocaleKey, values?: Record<string, PrimitiveType>) => string;
/** 从响应数据中返回当前语言环境的提示信息 */
declare const getMsg: (repData: Partial<RepData>) => string;
export { isEN, isCN, set, setLang, get, getLang, getLangAll, getLangValue, getLangCode, getLangLabel, getLangIcon, getText, format, getMsg, UMI_LOCALE_KEY, };
