import { Locale } from './index.js'; export declare function formatShortNumber(value: number | null | undefined, locale: Locale, fractionDigits?: number): string; export declare function localeNumberFormat(locale: Locale): string; export interface FormatCurrencyOptions { /** Compact short form (1.5 B / 1.5 M / 1.5 K). Default false. */ compact?: boolean; /** * Number of fraction digits. Defaults differ by mode: * - compact: 1 (e.g. "$1.5B") * - non-compact: 2 (e.g. "$500.75" - matches Intl convention) * Pass an explicit number to override (e.g. `0` to round dollars). */ fractionDigits?: number; } /** * Format a numeric value as currency, locale-aware. * * Contract: * - `null` / `undefined` value -> '-' placeholder (ASCII hyphen, not * em-dash; project-wide rule). * - Empty / nullish currency -> plain `Intl.NumberFormat` number; the * row didn't carry a currency and a guess would be worse than no * symbol. Widgets that always have a currency should never see this * branch in production. * - Unknown 3-letter ISO -> Intl renders the ISO code itself; * no throw, no SEK fallback. */ export declare function formatCurrency(value: number | null | undefined, currency: string | null | undefined, locale: Locale, opts?: FormatCurrencyOptions): string; //# sourceMappingURL=format.d.ts.map