## API Report File for "react-intl"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import * as React_2 from 'react';

// Warning: (ae-forgotten-export) The symbol "OptionalIntlConfig" needs to be exported by the entry point index.d.ts
//
// @public
export function createIntl(config: OptionalIntlConfig, cache?: IntlCache): IntlShape;

// @public (undocumented)
export function createIntlCache(): IntlCache;

// @public (undocumented)
export interface CustomFormatConfig {
    // (undocumented)
    format?: string;
}

// Warning: (ae-forgotten-export) The symbol "Formats" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export interface CustomFormats extends Partial<Formats> {
    // Warning: (ae-forgotten-export) The symbol "IntlRelativeTimeFormatOptions" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    relative?: Record<string, IntlRelativeTimeFormatOptions>;
}

// @public (undocumented)
export function defineMessage<T>(msg: T): T;

// @public (undocumented)
export function defineMessages<T, U extends Record<string, T>>(msgs: U): U;

// Warning: (ae-forgotten-export) The symbol "DateTimeFormatOptions" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type FormatDateOptions = Exclude<DateTimeFormatOptions, 'localeMatcher'> & CustomFormatConfig;

// Warning: (ae-forgotten-export) The symbol "DisplayNamesOptions" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type FormatDisplayNameOptions = Exclude<DisplayNamesOptions, 'localeMatcher'>;

// Warning: (ae-forgotten-export) The symbol "IntlListFormatOptions" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type FormatListOptions = Exclude<IntlListFormatOptions, 'localeMatcher'>;

// Warning: (ae-forgotten-export) The symbol "NumberFormatOptions" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export type FormatNumberOptions = Exclude<NumberFormatOptions, 'localeMatcher'> & CustomFormatConfig;

// @public (undocumented)
export type FormatPluralOptions = Exclude<Intl.PluralRulesOptions, 'localeMatcher'> & CustomFormatConfig;

// @public (undocumented)
export type FormatRelativeTimeOptions = Exclude<IntlRelativeTimeFormatOptions, 'localeMatcher'> & CustomFormatConfig;

// @public (undocumented)
export const FormattedDate: React_2.FC<DateTimeFormatOptions & CustomFormatConfig & {
    value: string | number | Date | undefined;
}>;

// @public (undocumented)
export const FormattedDateParts: React_2.FC<FormatDateOptions & {
    value: Parameters<Intl.DateTimeFormat['format']>[0] | string;
    children(val: Intl.DateTimeFormatPart[]): React_2.ReactElement | null;
}>;

// @public (undocumented)
export const FormattedDisplayName: React_2.FC<DisplayNamesOptions & {
    value: string | number | object;
}>;

// @public (undocumented)
export const FormattedList: React_2.FC<IntlListFormatOptions & {
    value: React_2.ReactNode[];
}>;

// Warning: (ae-forgotten-export) The symbol "PrimitiveType" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "FormatXMLElementFn" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export class FormattedMessage<V extends Record<string, any> = Record<string, PrimitiveType | React_2.ReactElement | FormatXMLElementFn<React_2.ReactNode, React_2.ReactNode>>> extends React_2.Component<Props_3<V>> {
    // (undocumented)
    static displayName: string;
    // (undocumented)
    render(): JSX.Element;
    // (undocumented)
    shouldComponentUpdate(nextProps: Props_3<V>): boolean;
}

// @public (undocumented)
export const FormattedNumber: React_2.FC<NumberFormatOptions & CustomFormatConfig & {
    value: number;
}>;

// Warning: (ae-forgotten-export) The symbol "Formatter" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export const FormattedNumberParts: React_2.FC<Formatter['formatNumber'] & {
    value: Parameters<IntlShape['formatNumber']>[0];
    children(val: Intl.NumberFormatPart[]): React_2.ReactElement | null;
}>;

// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export const FormattedPlural: React_2.FC<WithIntlProps<Props_2>> & {
    WrappedComponent: React_2.ComponentType<Props_2>;
};

// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "State" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export class FormattedRelativeTime extends React_2.PureComponent<Props, State_2> {
    constructor(props: Props);
    // (undocumented)
    componentDidMount(): void;
    // (undocumented)
    componentDidUpdate(): void;
    // (undocumented)
    componentWillUnmount(): void;
    // (undocumented)
    static defaultProps: Pick<Props, 'unit' | 'value'>;
    // (undocumented)
    static displayName: string;
    // (undocumented)
    static getDerivedStateFromProps(props: Props, state: State_2): Partial<State_2> | null;
    // (undocumented)
    render(): JSX.Element;
    // (undocumented)
    scheduleNextUpdate({ updateIntervalInSeconds, unit }: Props, { currentValueInSeconds }: State_2): void;
    // (undocumented)
    state: State_2;
    // (undocumented)
    _updateTimer: any;
}

// @public (undocumented)
export const FormattedTime: React_2.FC<DateTimeFormatOptions & CustomFormatConfig & {
    value: string | number | Date | undefined;
}>;

// @public (undocumented)
export const FormattedTimeParts: React_2.FC<FormatDateOptions & {
    value: Parameters<Intl.DateTimeFormat['format']>[0] | string;
    children(val: Intl.DateTimeFormatPart[]): React_2.ReactElement | null;
}>;

// @public (undocumented)
export interface Formatters {
    // (undocumented)
    getDateTimeFormat(...args: ConstructorParameters<typeof Intl.DateTimeFormat>): Intl.DateTimeFormat;
    // Warning: (ae-forgotten-export) The symbol "DisplayNames" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    getDisplayNames(...args: ConstructorParameters<typeof DisplayNames>): DisplayNames;
    // Warning: (ae-forgotten-export) The symbol "ListFormat" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    getListFormat(...args: ConstructorParameters<typeof ListFormat>): ListFormat;
    // Warning: (ae-forgotten-export) The symbol "IntlMessageFormat" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    getMessageFormat(...args: ConstructorParameters<typeof IntlMessageFormat>): IntlMessageFormat;
    // (undocumented)
    getNumberFormat(...args: ConstructorParameters<typeof Intl.NumberFormat>): Intl.NumberFormat;
    // (undocumented)
    getPluralRules(...args: ConstructorParameters<typeof Intl.PluralRules>): Intl.PluralRules;
    // Warning: (ae-forgotten-export) The symbol "RelativeTimeFormat" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    getRelativeTimeFormat(...args: ConstructorParameters<typeof RelativeTimeFormat>): RelativeTimeFormat;
}

// Warning: (ae-forgotten-export) The symbol "Opts" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export function injectIntl<IntlPropName extends string = 'intl', P extends WrappedComponentProps<IntlPropName> = WrappedComponentProps<any>>(WrappedComponent: React_2.ComponentType<P>, options?: Opts<IntlPropName, false>): React_2.FC<WithIntlProps<P>> & {
    WrappedComponent: React_2.ComponentType<P>;
};

// @public (undocumented)
export function injectIntl<IntlPropName extends string = 'intl', P extends WrappedComponentProps<IntlPropName> = WrappedComponentProps<any>, T extends React_2.ComponentType<P> = any>(WrappedComponent: React_2.ComponentType<P>, options?: Opts<IntlPropName, true>): React_2.ForwardRefExoticComponent<React_2.PropsWithoutRef<WithIntlProps<React_2.PropsWithChildren<P>>> & React_2.RefAttributes<T>> & {
    WrappedComponent: React_2.ComponentType<P>;
};

// @public (undocumented)
export interface IntlCache {
    // (undocumented)
    dateTime: Record<string, Intl.DateTimeFormat>;
    // (undocumented)
    displayNames: Record<string, DisplayNames>;
    // (undocumented)
    list: Record<string, ListFormat>;
    // (undocumented)
    message: Record<string, IntlMessageFormat>;
    // (undocumented)
    number: Record<string, Intl.NumberFormat>;
    // (undocumented)
    pluralRules: Record<string, Intl.PluralRules>;
    // (undocumented)
    relativeTime: Record<string, RelativeTimeFormat>;
}

// @public (undocumented)
export interface IntlConfig {
    // (undocumented)
    defaultFormats: CustomFormats;
    // (undocumented)
    defaultLocale: string;
    // (undocumented)
    formats: CustomFormats;
    // (undocumented)
    locale: string;
    // Warning: (ae-forgotten-export) The symbol "MessageFormatElement" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    messages: Record<string, string> | Record<string, MessageFormatElement[]>;
    // Warning: (ae-forgotten-export) The symbol "FormatError" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    onError(err: MissingTranslationError | MessageFormatError | MissingDataError | InvalidConfigError | UnsupportedFormatterError | FormatError): void;
    // (undocumented)
    textComponent?: React_2.ComponentType | keyof React_2.ReactHTML;
    // (undocumented)
    timeZone?: string;
    // (undocumented)
    wrapRichTextChunksInFragment?: boolean;
}

// @public (undocumented)
export const IntlContext: React_2.Context<IntlShape>;

// @public (undocumented)
export interface IntlFormatters<T = React_2.ReactNode, R = T> {
    // (undocumented)
    formatDate(value: Parameters<Intl.DateTimeFormat['format']>[0] | string, opts?: FormatDateOptions): string;
    // (undocumented)
    formatDateToParts(value: Parameters<Intl.DateTimeFormat['format']>[0] | string, opts?: FormatDateOptions): Intl.DateTimeFormatPart[];
    // (undocumented)
    formatDisplayName(value: Parameters<DisplayNames['of']>[0], opts?: FormatDisplayNameOptions): string | undefined;
    // (undocumented)
    formatList(values: Array<string>, opts?: FormatListOptions): string;
    // (undocumented)
    formatList(values: Array<string | React_2.ReactNode>, opts?: FormatListOptions): React_2.ReactNode;
    // (undocumented)
    formatMessage(descriptor: MessageDescriptor, values?: Record<string, PrimitiveType | FormatXMLElementFn<string, string>>): string;
    // (undocumented)
    formatMessage(descriptor: MessageDescriptor, values?: Record<string, PrimitiveType | React_2.ReactNode | FormatXMLElementFn<T, R>>): React_2.ReactNode;
    // (undocumented)
    formatNumber(value: Parameters<Intl.NumberFormat['format']>[0], opts?: FormatNumberOptions): string;
    // (undocumented)
    formatNumberToParts(value: Parameters<Intl.NumberFormat['format']>[0], opts?: FormatNumberOptions): Intl.NumberFormatPart[];
    // (undocumented)
    formatPlural(value: Parameters<Intl.PluralRules['select']>[0], opts?: FormatPluralOptions): ReturnType<Intl.PluralRules['select']>;
    // (undocumented)
    formatRelativeTime(value: Parameters<RelativeTimeFormat['format']>[0], unit?: Parameters<RelativeTimeFormat['format']>[1], opts?: FormatRelativeTimeOptions): string;
    // (undocumented)
    formatTime(value: Parameters<Intl.DateTimeFormat['format']>[0] | string, opts?: FormatDateOptions): string;
    // (undocumented)
    formatTimeToParts(value: Parameters<Intl.DateTimeFormat['format']>[0] | string, opts?: FormatDateOptions): Intl.DateTimeFormatPart[];
}

// Warning: (ae-forgotten-export) The symbol "State" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export class IntlProvider extends React_2.PureComponent<React_2.PropsWithChildren<OptionalIntlConfig>, State> {
    // (undocumented)
    static defaultProps: Pick<IntlConfig, "formats" | "timeZone" | "onError" | "messages" | "textComponent" | "defaultLocale" | "defaultFormats">;
    // (undocumented)
    static displayName: string;
    // (undocumented)
    static getDerivedStateFromProps(props: OptionalIntlConfig, { prevConfig, cache }: State): Partial<State> | null;
    // (undocumented)
    render(): JSX.Element;
    // (undocumented)
    state: State;
}

// @public (undocumented)
export interface IntlShape extends IntlConfig, IntlFormatters {
    // (undocumented)
    formatters: Formatters;
}

// @public (undocumented)
export class InvalidConfigError extends ReactIntlError<ReactIntlErrorCode.INVALID_CONFIG> {
    constructor(message: string, exception?: Error);
}

// @public (undocumented)
export interface MessageDescriptor {
    // (undocumented)
    defaultMessage?: string;
    // (undocumented)
    description?: string | object;
    // (undocumented)
    id?: string | number;
}

// @public (undocumented)
export class MessageFormatError extends ReactIntlError<ReactIntlErrorCode.FORMAT_ERROR> {
    constructor(message: string, locale: string, descriptor?: MessageDescriptor, exception?: Error);
    // (undocumented)
    readonly descriptor?: MessageDescriptor;
}

// @public (undocumented)
export class MissingDataError extends ReactIntlError<ReactIntlErrorCode.MISSING_DATA> {
    constructor(message: string, exception?: Error);
}

// @public (undocumented)
export class MissingTranslationError extends ReactIntlError<ReactIntlErrorCode.MISSING_TRANSLATION> {
    constructor(descriptor: MessageDescriptor, locale: string);
    // (undocumented)
    readonly descriptor?: MessageDescriptor;
}

// @public (undocumented)
export const RawIntlProvider: React_2.Provider<IntlShape>;

// @public (undocumented)
export class ReactIntlError<T extends ReactIntlErrorCode = ReactIntlErrorCode.FORMAT_ERROR> extends Error {
    constructor(code: T, message: string, exception?: Error);
    // (undocumented)
    readonly code: T;
}

// @public (undocumented)
export const enum ReactIntlErrorCode {
    // (undocumented)
    FORMAT_ERROR = "FORMAT_ERROR",
    // (undocumented)
    INVALID_CONFIG = "INVALID_CONFIG",
    // (undocumented)
    MISSING_DATA = "MISSING_DATA",
    // (undocumented)
    MISSING_TRANSLATION = "MISSING_TRANSLATION",
    // (undocumented)
    UNSUPPORTED_FORMATTER = "UNSUPPORTED_FORMATTER"
}

// @public (undocumented)
export class UnsupportedFormatterError extends ReactIntlError<ReactIntlErrorCode.UNSUPPORTED_FORMATTER> {
    constructor(message: string, exception?: Error);
}

// @public (undocumented)
export function useIntl(): IntlShape;

// @public (undocumented)
export type WithIntlProps<P> = Omit<P, keyof WrappedComponentProps> & {
    forwardedRef?: React_2.Ref<any>;
};

// @public (undocumented)
export type WrappedComponentProps<IntlPropName extends string = 'intl'> = {
    [k in IntlPropName]: IntlShape;
};


// (No @packageDocumentation comment for this package)

```
