import { Content, MissingMessageEvent, Octothorpe, PlainArg, Select, FunctionArg, I18nContextProps, configProps, InjectedIntl, InulaPortal, MessageDescriptor, MessageOptions, I18nCache } from './interfaces'; import { InulaElement } from 'openinula'; export type Error = string | ((message: any, id: any, context: any) => string); export type Locale = string; export type Locales = Locale | Locale[]; type MyFunctionType any> = T; export type LocaleConfig = { plurals?: MyFunctionType; }; export type AllLocaleConfig = Record; type CompiledMessagePart = string | Array | Record>; export type CompiledMessage = string | CompiledMessagePart[]; export type Messages = Record | Record; export type AllMessages = Record | Record; export type EventCallback = (...args: any[]) => any; export type Events = { change: () => void; missing: (event: MissingMessageEvent) => void; }; export type PluralCategory = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other'; export type Token = Content | PlainArg | FunctionArg | Select | Octothorpe; export type DatePool = Date | string; export type SelectPool = string | number; export type RawToken = { type: string; value: string; text: string; toString: () => string; offset: number; lineBreaks: number; line: number; col: number; }; export type I18nProviderProps = I18nContextProps & configProps; type ErrorHandler = string | ((message: any, id: any, context: any) => string) | Error | undefined; export type IntlType = I18nContextProps & { defaultLocale?: string; formatDate: (value: string | Date, formatOptions?: Intl.DateTimeFormatOptions) => string; $t: (id: MessageDescriptor | string, values?: object, options?: MessageOptions) => string | Array; formatMessage: (id: MessageDescriptor | string, values?: object, options?: MessageOptions) => string | Array; onError?: ErrorHandler; onWarn?: Error; messages?: string | Messages | AllMessages; timeZone?: string; formatNumber: (value: number, formatOptions?: Intl.NumberFormatOptions) => string; locale: string; components?: { [key: string]: InulaNode; }; cache?: I18nCache; locales?: Locales; localeConfig?: AllLocaleConfig; children?: any; RenderOnLocaleChange?: boolean; }; export type InjectedIntlProps = { intl: InjectedIntl; }; export type InulaNode = InulaElement | string | number | Iterable | InulaPortal | boolean | null | undefined; export {};