/**
 * @file
 * @author zhousheng
 */
import * as React from 'react';
import { ValidateMessages } from 'rc-field-form/lib/interface';
import { ModalLocale } from '../modal/locale';
import { TransferLocale } from '../transfer';
import { SelectLocale } from '../select';
import { InputLocale } from '../input';
import { CascaderLocale } from '../cascader';
import { PickerLocale as DatePickerLocale } from '../date-picker/generatePicker';
import { PopconfirmLocale } from '../popconfirm/PurePanel';
import { TableLocale } from '../table/interface';
import { UploadLocale } from '../upload/interface';
import { TransferLocale as TransferLocaleForEmpty } from '../empty';
import { PaginationLocale } from '../pagination/rc-pagination/Interface';
export interface Locale {
    locale: string;
    Select?: SelectLocale;
    Cascader?: CascaderLocale;
    Form?: {
        optional?: string;
        defaultValidateMessages: ValidateMessages;
    };
    Menu?: {
        unfold?: string;
        fold?: string;
    };
    Upload?: UploadLocale;
    Table?: TableLocale;
    Popconfirm?: PopconfirmLocale;
    DatePicker?: DatePickerLocale;
    Text?: {
        edit?: any;
        copy?: any;
        copied?: any;
        expand?: any;
    };
    PageHeader?: {
        back: string;
    };
    Modal?: ModalLocale;
    global?: Record<string, any>;
    Empty?: TransferLocaleForEmpty;
    Icon?: Record<string, any>;
    Transfer?: TransferLocale;
    Image?: {
        preview: string;
    };
    ImgCrop?: {
        modalTitle: string;
    };
    Input?: InputLocale;
    Pagination?: PaginationLocale;
}
export interface LocaleProviderProps {
    locale: Locale;
    children?: React.ReactNode;
}
export default class LocaleProvider extends React.Component<LocaleProviderProps, any> {
    static defaultProps: {
        locale: {};
    };
    constructor(props: LocaleProviderProps);
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    render(): React.JSX.Element;
}
