interface Formats { number: Record; date: Record; time: Record; } export interface DeepDictionary { [key: string]: DeepDictionary | string | string[]; } export declare type LocaleDictionaryValue = string | ((...args: any[]) => string); export declare type LocaleDictionary = Record; export declare type Dictionary = Record; export interface MessageObject { locale?: string; format?: string; default?: string; values?: Record; } export interface MessageObjectWithId extends MessageObject { id: string; } export declare type JsonGetter = (id: string, locale?: string) => any; export declare type MessageFormatter = (currentLocale: string, id: string | MessageObjectWithId, options?: MessageObject) => string; export declare type TimeFormatter = (currentLocale: string, d: Date | number, options?: IntlFormatterOptions) => string; export declare type DateFormatter = (currentLocale: string, d: Date | number, options?: IntlFormatterOptions) => string; export declare type NumberFormatter = (currentLocale: string, d: number, options?: IntlFormatterOptions) => string; declare type IntlFormatterOptions = T & { format?: string; locale?: string; }; export interface MemoizedIntlFormatter { (options?: IntlFormatterOptions): T; } export interface MessagesLoader { (): Promise; } export interface GetClientLocaleOptions { navigator?: boolean; hash?: string; search?: string; pathname?: RegExp; hostname?: RegExp; } export interface ConfigureOptions { fallbackLocale: string; initialLocale?: string; formats?: Partial; loadingDelay?: number; } export {};