import type { FormatXMLElementFn, Formats } from 'intl-messageformat'; export interface LocaleDictionary { [key: string]: LocaleDictionary | string | Array; } export declare type LocalesDictionary = { [key: string]: LocaleDictionary; }; export declare type InterpolationValues = Record | null | undefined> | undefined; export interface MessageObject { id?: string; locale?: string; format?: string; default?: string; values?: InterpolationValues; } export declare type MessageFormatter = (id: string | MessageObject, options?: MessageObject) => string; export declare type TimeFormatter = (d: Date | number, options?: IntlFormatterOptions) => string; export declare type DateFormatter = (d: Date | number, options?: IntlFormatterOptions) => string; export declare type NumberFormatter = (d: number, options?: IntlFormatterOptions) => string; export declare type JSONGetter = (id: string, locale?: string) => T; declare type IntlFormatterOptions = T & { format?: string; locale?: string; }; export interface MemoizedIntlFormatter { (options?: IntlFormatterOptions): T; } export interface MessagesLoader { (): Promise; } export interface ConfigureOptions { fallbackLocale: string; formats?: Partial; initialLocale?: string; loadingDelay?: number; warnOnMissingMessages?: boolean; ignoreTag?: boolean; } export {};