import React, { ReactElement, PropsWithChildren } from 'react';
import './style';
export type ProSchemaValueEnumType = {
    /** @name 演示的文案 */
    text: React.ReactNode;
    /** @name 预定的颜色 */
    status: string;
    /** @name 自定义的颜色 */
    color?: string;
    /** @name 是否禁用 */
    disabled?: boolean;
};
/**
 * 支持 Map 和 Object
 *
 * @name ValueEnum 的类型
 */
export type ProSchemaValueEnumMap = Map<React.ReactText, ProSchemaValueEnumType | React.ReactNode>;
export type ProSchemaValueEnumObj = Record<string, ProSchemaValueEnumType | React.ReactNode>;
export type BaseProFieldFC = {
    /** 值的类型 */
    text: React.ReactNode;
    fieldProps?: any;
    /** 模式类型 */
    mode: ProFieldFCMode;
    /** 简约模式 */
    plain?: boolean;
    /** 轻量模式 */
    light?: boolean;
    /** Label */
    label?: React.ReactNode;
    /** 映射值的类型 */
    valueEnum?: ProSchemaValueEnumObj | ProSchemaValueEnumMap;
    proFieldKey?: React.Key;
};
export type ProFieldFCMode = 'read' | 'edit' | 'update';
/** Render 第二个参数，里面包含了一些常用的参数 */
export type ProFieldFCRenderProps = {
    mode?: ProFieldFCMode;
    placeholder?: string | string[];
    value?: any;
    onChange?: (...rest: any[]) => void;
} & BaseProFieldFC;
export type ProRenderFieldPropsType = {
    render?: ((text: any, props: Omit<ProFieldFCRenderProps, 'value' | 'onChange'>, dom: ReactElement) => ReactElement) | undefined;
    renderFormItem?: ((text: any, props: ProFieldFCRenderProps, dom: ReactElement) => ReactElement) | undefined;
};
export type IntlType = {
    locale: string;
    getMessage: (id: string, defaultMessage: string) => string;
};
/**
 * 创建一个操作函数
 *
 * @param locale
 * @param localeMap
 */
declare const createIntl: (locale: string, localeMap: Record<string, any>) => IntlType;
declare const arEGIntl: IntlType;
declare const zhCNIntl: IntlType;
declare const enUSIntl: IntlType;
declare const viVNIntl: IntlType;
declare const itITIntl: IntlType;
declare const jaJPIntl: IntlType;
declare const esESIntl: IntlType;
declare const ruRUIntl: IntlType;
declare const msMYIntl: IntlType;
declare const zhTWIntl: IntlType;
declare const frFRIntl: IntlType;
declare const ptBRIntl: IntlType;
declare const koKRIntl: IntlType;
declare const idIDIntl: IntlType;
declare const deDEIntl: IntlType;
declare const faIRIntl: IntlType;
declare const intlMap: Record<string, IntlType>;
declare const intlMapKeys: string[];
export type ParamsType = Record<string, any>;
export { arEGIntl, enUSIntl, zhCNIntl, viVNIntl, itITIntl, jaJPIntl, esESIntl, ruRUIntl, msMYIntl, zhTWIntl, frFRIntl, ptBRIntl, koKRIntl, idIDIntl, deDEIntl, faIRIntl, intlMap, intlMapKeys, };
export type ConfigContextPropsType = {
    intl: IntlType;
    valueTypeMap: Record<string, ProRenderFieldPropsType>;
};
declare const ConfigContext: React.Context<ConfigContextPropsType>;
declare const ConfigConsumer: React.Consumer<ConfigContextPropsType>, ConfigProvider: React.Provider<ConfigContextPropsType>;
/**
 * 如果没有配置 locale，这里组件会根据 antd 的 key 来自动选择
 *
 * @param param0
 */
declare const ConfigProviderWrap: React.FC<PropsWithChildren<Record<string, unknown>>>;
export { ConfigConsumer, ConfigProvider, ConfigProviderWrap, createIntl };
export declare function useIntl(): IntlType;
export default ConfigContext;
