import { PureComponent, ReactNode } from 'react';
import PropTypes from 'prop-types';
declare type Message = string | Messages;
declare type Messages = {
    [key: string]: Message;
};
declare type Translate = (key: string, params?: {
    [key: string]: unknown;
}, fallback?: string) => string | ReactNode[];
export declare const useTranslate: (namespace?: string) => Translate;
declare type LocaleProviderProps = {
    /**
     * Localization messages
     * @since 0.0.42
     */
    messages: Messages;
    /**
     * @since 0.0.47
     */
    children: ReactNode;
};
/**
 * LocaleProvider provides a uniform localization support for built-in text of components.
 * @since 0.0.42
 */
declare class LocaleProvider extends PureComponent<LocaleProviderProps> {
    static childContextTypes: {
        locale: PropTypes.Requireable<object>;
    };
    getChildContext(): {
        locale: {
            lmsg: Translate;
        };
    };
    render(): JSX.Element;
}
export default LocaleProvider;
