import { NumberFormatDigitInternalSlots } from '@formatjs/intl-utils'; import { NumberFormatDigitOptions } from '@formatjs/intl-utils'; import { NumberILD } from '@formatjs/intl-utils'; import { NumberLocaleInternalData } from '@formatjs/intl-utils'; import { NumberLocalePatternData } from '@formatjs/intl-utils'; import { RawNumberLocaleData } from '@formatjs/intl-utils'; import { UnifiedNumberFormatOptionsCompactDisplay } from '@formatjs/intl-utils'; import { UnifiedNumberFormatOptionsCurrencyDisplay } from '@formatjs/intl-utils'; import { UnifiedNumberFormatOptionsCurrencySign } from '@formatjs/intl-utils'; import { UnifiedNumberFormatOptionsLocaleMatcher } from '@formatjs/intl-utils'; import { UnifiedNumberFormatOptionsNotation } from '@formatjs/intl-utils'; import { UnifiedNumberFormatOptionsSignDisplay } from '@formatjs/intl-utils'; import { UnifiedNumberFormatOptionsStyle } from '@formatjs/intl-utils'; import { UnifiedNumberFormatOptionsUnitDisplay } from '@formatjs/intl-utils'; /** * Check if a formatting number with unit is supported * @public * @param unit unit to check */ export declare function isUnitSupported(unit: Unit): boolean; export declare type ResolvedUnifiedNumberFormatOptions = Intl.ResolvedNumberFormatOptions & Pick; export declare interface UnifiedNumberFormat { resolvedOptions(): ResolvedUnifiedNumberFormatOptions; formatToParts(x: number): UnifiedNumberFormatPart[]; format(x: number): string; } export declare const UnifiedNumberFormat: UnifiedNumberFormatConstructor; export declare interface UnifiedNumberFormatConstructor { new (locales?: string | string[], options?: UnifiedNumberFormatOptions): UnifiedNumberFormat; (locales?: string | string[], options?: UnifiedNumberFormatOptions): UnifiedNumberFormat; __addLocaleData(...data: RawNumberLocaleData[]): void; supportedLocalesOf(locales: string | string[], options?: Pick): string[]; getDefaultLocale(): string; __defaultLocale: string; localeData: Record; availableLocales: string[]; polyfilled: boolean; } declare interface UnifiedNumberFormatInternal extends NumberFormatDigitInternalSlots { locale: string; dataLocale: string; style: NonNullable; currency?: string; currencyDisplay: NonNullable; unit?: string; unitDisplay: NonNullable; currencySign: NonNullable; notation: NonNullable; compactDisplay: NonNullable; signDisplay: NonNullable; useGrouping: boolean; patterns: NumberLocalePatternData; pl: Intl.PluralRules; boundFormat?: Intl.NumberFormat['format']; ild: NumberILD; numberingSystem: string; } export declare type UnifiedNumberFormatOptions = Intl.NumberFormatOptions & NumberFormatDigitOptions & { localeMatcher?: UnifiedNumberFormatOptionsLocaleMatcher; style?: UnifiedNumberFormatOptionsStyle; compactDisplay?: UnifiedNumberFormatOptionsCompactDisplay; currencyDisplay?: UnifiedNumberFormatOptionsCurrencyDisplay; currencySign?: UnifiedNumberFormatOptionsCurrencySign; notation?: UnifiedNumberFormatOptionsNotation; signDisplay?: UnifiedNumberFormatOptionsSignDisplay; unit?: Unit; unitDisplay?: UnifiedNumberFormatOptionsUnitDisplay; numberingSystem?: string; }; export declare interface UnifiedNumberFormatPart { type: UnifiedNumberFormatPartTypes; value: string; } export declare type UnifiedNumberFormatPartTypes = Intl.NumberFormatPartTypes | 'exponentSeparator' | 'exponentMinusSign' | 'exponentInteger' | 'compact' | 'unit' | 'literal'; export declare type Unit = 'degree' | 'acre' | 'hectare' | 'percent' | 'bit' | 'byte' | 'gigabit' | 'gigabyte' | 'kilobit' | 'kilobyte' | 'megabit' | 'megabyte' | 'petabyte' | 'terabit' | 'terabyte' | 'day' | 'hour' | 'millisecond' | 'minute' | 'month' | 'second' | 'week' | 'year' | 'centimeter' | 'foot' | 'inch' | 'kilometer' | 'meter' | 'mile-scandinavian' | 'mile' | 'millimeter' | 'yard' | 'gram' | 'kilogram' | 'ounce' | 'pound' | 'stone' | 'celsius' | 'fahrenheit' | 'fluid-ounce' | 'gallon' | 'liter' | 'milliliter'; export { }