import React from 'react';
import zhCNData from './zh-CN';
export declare type LocaleDataType = typeof zhCNData;
export declare type ComponentType = keyof LocaleDataType;
export interface LocaleConfigType {
    locale: string;
    localeData: LocaleDataType | any;
    customGetLangMsg?: (componentName: string, labelName: string, params: any) => any;
}
export interface CompLangMsgParams {
    componentName: string;
    labels?: string[];
    labelParams?: any;
}
interface ILocalesData {
    [key: string]: LocaleDataType | any;
}
declare class LocaleCache {
    localesData: ILocalesData;
    locale: string;
    constructor(localesData: ILocalesData, locale?: string);
    /**
     * 设置语言包并切换当前语言
     * @param {LocaleDataType | string} localeData 语言数据集合 | 语言类型
     * @returns 设置后的语言对应的语言包
     */
    setLocalesData(locale: string, localeData?: LocaleDataType): {
        locale: string;
        contain: string;
        notContain: string;
        equal: string;
        notEqual: string;
        isNull: string;
        notIsNull: string;
        resetFilter: string;
        confirmFilter: string;
    };
    /**
     * 获取当前语言包数据
     */
    getLocalData(): any;
    /**
     * 获取当前语言类型
     */
    getLocal(): string;
    /**
     * 获取所有语言包数据
     */
    getLocalesData(): ILocalesData;
}
declare const localeCacher: LocaleCache;
export default localeCacher;
export declare const getLangMsg: (componentName: ComponentType | string, labelName: string, params?: any) => string | React.ReactNode[];
export declare const getCompLangMsg: (compLangMsgParams: CompLangMsgParams, customGetLangMsg?: (componentName: string, labelName: string, params: any) => any, localeDate?: any) => any;
