import React, { Component, ReactNode } from 'react';
import { ModalLocale } from '../modal/locale';
import { NoticeLocale } from '../notification/locale';
import { LocaleReceiverContext } from './LocaleReceiver';
export interface Locale {
    locale: string;
    Pagination?: Record<string, any>;
    Cascader?: Record<string, any>;
    DatePicker?: Record<string, any>;
    TimePicker?: Record<string, any>;
    Calendar?: Record<string, any>;
    Table?: Record<string, any>;
    Modal?: ModalLocale;
    Popconfirm?: Record<string, any>;
    Transfer?: Record<string, any>;
    Select?: Record<string, any>;
    Upload?: Record<string, any>;
    imageCrop?: imageCrop;
    performanceTable?: PerformanceTable;
    Notification?: NoticeLocale;
}
export interface imageCrop {
    editImage: string;
    avatarUploadError: string;
    avatarServerError: string;
    avatarUpload: string;
    avatarReminder: string;
    preview: string;
    reUpload: string;
    imageTooLarge: string;
    imageUploadError: string;
    imageDragHere: string;
    pleaseUpload: string;
    uploadType: string;
    picture: string;
    cancelButton: string;
    saveButton: string;
    changeAvatar: string;
}
export interface PerformanceTable {
    emptyMessage: string;
    loading: string;
}
export interface LocaleProviderProps {
    locale: Locale;
    children?: ReactNode;
}
export declare const LocaleContext: React.Context<LocaleReceiverContext>;
export default class LocaleProvider extends Component<LocaleProviderProps, any> {
    static defaultProps: {
        locale: {};
    };
    getContextValue(): {
        c7nLocale: {
            exist: boolean;
            locale: string;
            Pagination?: Record<string, any> | undefined;
            Cascader?: Record<string, any> | undefined;
            DatePicker?: Record<string, any> | undefined;
            TimePicker?: Record<string, any> | undefined;
            Calendar?: Record<string, any> | undefined;
            Table?: Record<string, any> | undefined;
            Modal?: ModalLocale | undefined;
            Popconfirm?: Record<string, any> | undefined;
            Transfer?: Record<string, any> | undefined;
            Select?: Record<string, any> | undefined;
            Upload?: Record<string, any> | undefined;
            imageCrop?: imageCrop | undefined;
            performanceTable?: PerformanceTable | undefined;
            Notification?: NoticeLocale | undefined;
        };
    };
    componentWillMount(): void;
    componentWillReceiveProps(nextProps: LocaleProviderProps): void;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
}
