import { TLanguage } from '@cainiaofe/cn-i18n'; import { I18nNumber } from './number'; export type DecimalSeparator = '.' | ','; export type GroupSeparator = '.' | ',' | ' ' | ''; export type Numeric = number | string; export interface NumSysConf { decimalSeparator?: DecimalSeparator; groupSeparator?: GroupSeparator; groupSize?: number; secondaryGroupSize?: number; fractionGroupSeparator?: GroupSeparator; fractionGroupSize?: number; } export type NumberCompactValue = { value: string; parts: { value: string; compact: string; }; }; export type NumberCompactByConValue = { compact: string; value: I18nNumber; }; export type NumberCompact = (num: Numeric, lang?: TLanguage, options?: Intl.NumberFormatOptions) => NumberCompactValue | null; export type NumberCompactByCon = (num: Numeric, conversion: number, lang?: TLanguage) => NumberCompactByConValue;