, T extends React_2.ComponentType = any>(WrappedComponent: React_2.ComponentType
, options?: Opts): React_2.ForwardRefExoticComponent> & React_2.RefAttributes> & {
WrappedComponent: React_2.ComponentType;
};
export declare interface IntlCache {
dateTime: Record;
number: Record;
message: Record;
relativeTime: Record;
pluralRules: Record;
list: Record;
displayNames: Record;
}
export declare interface IntlConfig {
locale: string;
timeZone?: string;
formats: CustomFormats;
textComponent?: React_2.ComponentType | keyof React_2.ReactHTML;
messages: Record | Record;
defaultLocale: string;
defaultFormats: CustomFormats;
wrapRichTextChunksInFragment?: boolean;
onError(err: ReactIntlError | FormatError): void;
}
export declare const IntlContext: React_2.Context;
export declare interface IntlFormatters {
formatDate(value: Parameters[0] | string, opts?: FormatDateOptions): string;
formatTime(value: Parameters[0] | string, opts?: FormatDateOptions): string;
formatDateToParts(value: Parameters[0] | string, opts?: FormatDateOptions): Intl.DateTimeFormatPart[];
formatTimeToParts(value: Parameters[0] | string, opts?: FormatDateOptions): Intl.DateTimeFormatPart[];
formatRelativeTime(value: Parameters[0], unit?: Parameters[1], opts?: FormatRelativeTimeOptions): string;
formatNumber(value: Parameters[0], opts?: FormatNumberOptions): string;
formatNumberToParts(value: Parameters[0], opts?: FormatNumberOptions): Intl.NumberFormatPart[];
formatPlural(value: Parameters[0], opts?: FormatPluralOptions): ReturnType;
formatMessage(descriptor: MessageDescriptor, values?: Record): string;
formatMessage(descriptor: MessageDescriptor, values?: Record>): string | React_2.ReactNodeArray;
formatList(values: Array, opts?: FormatListOptions): string;
formatList(values: Array, opts?: FormatListOptions): React_2.ReactNode;
formatDisplayName(value: Parameters[0], opts?: FormatDisplayNameOptions): string | undefined;
}
export declare class IntlProvider extends React_2.PureComponent {
static displayName: string;
static defaultProps: Pick;
private cache;
state: State;
static getDerivedStateFromProps(props: OptionalIntlConfig, { prevConfig, cache }: State): Partial | null;
render(): JSX.Element;
}
export declare interface IntlShape extends IntlConfig, IntlFormatters {
formatters: Formatters;
}
export declare interface MessageDescriptor {
id?: string | number;
description?: string | object;
defaultMessage?: string;
}
declare type Omit_2 = Pick>;
export { Omit_2 as Omit }
declare type OptionalIntlConfig = Omit_2 & Partial;
declare interface Opts {
intlPropName?: IntlPropName;
forwardRef?: ForwardRef;
enforceContext?: boolean;
}
declare interface Props extends FormatRelativeTimeOptions {
value?: number;
unit?: Unit;
updateIntervalInSeconds?: number;
children?(value: string): React_2.ReactChild;
}
declare interface Props_2 extends FormatPluralOptions {
value: number;
intl: IntlShape;
other: React_2.ReactNode;
zero?: React_2.ReactNode;
one?: React_2.ReactNode;
two?: React_2.ReactNode;
few?: React_2.ReactNode;
many?: React_2.ReactNode;
children?(value: React_2.ReactNode): React_2.ReactElement | null;
}
declare interface Props_3 = Record> extends MessageDescriptor {
values?: V;
tagName?: React_2.ElementType;
children?(...nodes: React_2.ReactNodeArray): React_2.ReactNode;
}
export declare const RawIntlProvider: React_2.Provider;
export declare class ReactIntlError extends Error {
readonly code: ReactIntlErrorCode;
readonly descriptor?: MessageDescriptor;
constructor(code: ReactIntlErrorCode, message: string, descriptor?: MessageDescriptor, exception?: Error);
}
export declare const enum ReactIntlErrorCode {
FORMAT_ERROR = "FORMAT_ERROR",
UNSUPPORTED_FORMATTER = "UNSUPPORTED_FORMATTER",
INVALID_CONFIG = "INVALID_CONFIG",
MISSING_DATA = "MISSING_DATA",
MISSING_TRANSLATION = "MISSING_TRANSLATION"
}
declare interface State {
/**
* Explicit intl cache to prevent memory leaks
*/
cache: IntlCache;
/**
* Intl object we created
*/
intl?: IntlShape;
/**
* list of memoized config we care about.
* This is important since creating intl is
* very expensive
*/
prevConfig: OptionalIntlConfig;
}
declare interface State_2 {
prevUnit?: Unit;
prevValue?: number;
currentValueInSeconds: number;
}
export declare function useIntl(): IntlShape;
export declare type WithIntlProps = Omit_2
& {
forwardedRef?: React_2.Ref;
};
export declare type WrappedComponentProps = {
[k in IntlPropName]: IntlShape;
};
export { }