import type { IntlMessageFormat } from 'intl-messageformat'; export type IntlCache = { dateTime: Record; number: Record; message: Record; relativeTime: Record; pluralRules: Record; list: Record; displayNames: Record; }; export declare function createCache(): IntlCache; export declare function memoFn) => any>(fn: Fn, cache: Record | undefined>): Fn; export type IntlFormatters = { getDateTimeFormat(...args: ConstructorParameters): Intl.DateTimeFormat; getNumberFormat(...args: ConstructorParameters): Intl.NumberFormat; getPluralRules(...args: ConstructorParameters): Intl.PluralRules; getRelativeTimeFormat(...args: ConstructorParameters): Intl.RelativeTimeFormat; getListFormat(...args: ConstructorParameters): Intl.ListFormat; getDisplayNames(...args: ConstructorParameters): Intl.DisplayNames; }; export declare function createIntlFormatters(cache: IntlCache): IntlFormatters; export type MessageFormatter = (...args: ConstructorParameters) => IntlMessageFormat; export type Formatters = IntlFormatters & { getMessageFormat?: MessageFormatter; };