import { TLanguage } from '@cainiaofe/cn-i18n';
import { DecimalSeparator, Numeric, NumSysConf } from './type';
import { ThisContext } from '../common/type';
import { I18nNumber } from './number';
/**
 * 通过语种获取当前数字系统小数点
 * @param lang 语种
 * @returns
 */
export declare const getDecimalSeparator: (lang: TLanguage) => DecimalSeparator;
/**
 * 通过语种获取当前数字系统格式化配置
 * @param lang 语种
 * @returns
 */
export declare function getNumSysFormatConf(lang: TLanguage): NumSysConf;
/**
 *通过语种获取当前数字系统格式化字符串
 * @param lang
 * @returns
 */
export declare const numberFormat: (this: ThisContext, num: Numeric, lang: TLanguage, options?: Intl.NumberFormatOptions) => Numeric;
/**
 *通过语种获取当前数字系统格式化字符串
 * @param lang
 * @returns
 */
export declare const numberUnFormat: (numStr: string, lang: TLanguage) => string;
/**
 *基于 Intl 自动数字简写
 * @param num - 数字
 * @param lang - 语种
 * @returns
 */
export declare const numberCompact: (this: ThisContext, num: Numeric, lang: TLanguage, options?: Intl.NumberFormatOptions) => {
    value: string;
    parts: {
        value: I18nNumber;
        compact: string | undefined;
    };
} | null;
/**
 *基于 Intl 自动数字简写
 * @param num - 数字
 * @param lang - 语种
 * @returns
 */
export declare const numberCompactByCon: (this: ThisContext, num: Numeric, conversion: number, lang: TLanguage) => {
    value: I18nNumber;
    compact: any;
} | null;
/**
 *通过语种格式化货币金额
 * @param amount
 * @param currency
 * @param lang
 * @returns
 */
export declare const currencyFormat: (amount: Numeric, currency: string, lang: TLanguage, options?: Intl.NumberFormatOptions) => string | number;
