import * as React from 'react';
export * from './types';
export declare function defineMessages<T, U extends Record<string, T>>(msgs: U): U;
export declare function defineMessage<T>(msg: T): T;
import { CustomFormatConfig, FormatDateOptions } from './types';
import { NumberFormatOptions } from '@formatjs/intl-numberformat';
import { IntlListFormatOptions } from '@formatjs/intl-listformat';
import { DisplayNamesOptions } from '@formatjs/intl-displaynames/lib';
import { DateTimeFormatOptions } from '@formatjs/intl-datetimeformat';
export { default as injectIntl, Provider as RawIntlProvider, Context as IntlContext, WithIntlProps, WrappedComponentProps, } from './components/injectIntl';
export { default as useIntl } from './components/useIntl';
export { default as IntlProvider, createIntl } from './components/provider';
export declare const FormattedDate: React.FC<DateTimeFormatOptions & CustomFormatConfig & {
    value: string | number | Date | undefined;
}>;
export declare const FormattedTime: React.FC<DateTimeFormatOptions & CustomFormatConfig & {
    value: string | number | Date | undefined;
}>;
export declare const FormattedNumber: React.FC<NumberFormatOptions & CustomFormatConfig & {
    value: number;
}>;
export declare const FormattedList: React.FC<IntlListFormatOptions & {
    value: React.ReactNode[];
}>;
export declare const FormattedDisplayName: React.FC<DisplayNamesOptions & {
    value: string | number | object;
}>;
export declare const FormattedDateParts: React.FC<FormatDateOptions & {
    value: Parameters<Intl.DateTimeFormat['format']>[0] | string;
    children(val: Intl.DateTimeFormatPart[]): React.ReactElement | null;
}>;
export declare const FormattedTimeParts: React.FC<FormatDateOptions & {
    value: Parameters<Intl.DateTimeFormat['format']>[0] | string;
    children(val: Intl.DateTimeFormatPart[]): React.ReactElement | null;
}>;
export { FormattedNumberParts } from './components/createFormattedComponent';
export { default as FormattedRelativeTime } from './components/relative';
export { default as FormattedPlural } from './components/plural';
export { default as FormattedMessage } from './components/message';
export { createIntlCache } from './utils';
export * from './error';
//# sourceMappingURL=index.d.ts.map