import React from 'react';
import type { ColProps } from '../grid';
import type { TooltipProps } from '../tooltip';
import type { PopoverProps } from '../popover';
import type { InternalFieldProps as FieldProps } from '../components/rc-field-form';
import type { NamePath } from '../components/rc-field-form/interface';
declare type TooltipObjectType = TooltipProps & {
    icon?: React.ReactElement;
};
declare type PopoverObjectType = PopoverProps & {
    icon?: React.ReactElement;
};
export interface FormItemProps {
    prefixCls?: string;
    children?: React.ReactNode;
    /** label 标签的文本 */
    label?: React.ReactNode;
    /** 字段是否必填 */
    required?: boolean;
    /** 控制label文本是否垂直居中，控制formItem的默认行高是否为32px */
    itemCenter?: boolean;
    /** 自定义label固定宽度 */
    labelWidth?: number;
    /** formItem错误提示 */
    tips?: React.ReactNode;
    /** 设置收集字段值变更的时机 */
    trigger?: string;
    /** formItem字段名 @link="`string`|`number`\|`(string` \| `number)[]`" */
    name?: NamePath;
    /** 设置字段的校验逻辑 */
    rules?: FieldProps['rules'];
    /** 自定义formItem更新逻辑 */
    shouldUpdate?: FieldProps['shouldUpdate'];
    /** 定义字段依赖关系 */
    dependencies?: FieldProps['dependencies'];
    /** 设置字段校验时机 */
    validateTrigger?: FieldProps['validateTrigger'];
    /** 设置子元素默认值，Form 的 initialValues权重更高 */
    initialValue?: any;
    /** 设置子元素默认值，Form 的 initialValues权重更高 */
    getValueFromEvent?: (value?: any) => any;
    /** 子节点的值的属性，如 Switch 的是 'checked'。该属性为 getValueProps 的封装，自定义 getValueProps 后会失效 */
    valuePropName?: string;
    /** 设置子元素 label htmlFor 属性 */
    htmlFor?: string;
    /** 不带任何样式 */
    noStyle?: boolean;
    /** label 标签布局，属性同栅格布局 [<Col\>](/components/grid/#col) 组件 */
    labelCol?: ColProps;
    /** 需要为输入控件设置布局样式时，属性同栅格布局 [<Col\>](/components/grid/#col) 组件 */
    wrapperCol?: ColProps;
    /** 设置表单项提示信息，直接使用tooltip=‘hello word’这种形式则使用默认的icon，也可以传入对象进行自定义{icon: null, ...tooltipProps} */
    tooltip?: TooltipObjectType | React.ReactNode;
    /** 设置表单项提示信息，直接使用popover={{title: '大家好', content: 'hello world'}}这种形式则使用默认的icon，也可以传入对象进行自定义{icon: null, ...popoverProps} */
    popover?: PopoverObjectType;
    /** 当某一规则校验不通过时，是否停止剩下的规则的校验。设置 parallel 时会并行校验 */
    validateFirst?: FieldProps['validateFirst'];
    /** 默认验证字段的信息 */
    messageVariables?: Record<string, string>;
    fieldKey?: React.Key | React.Key[];
    style?: React.CSSProperties;
    className?: string;
    /** 额外的提示信息 */
    extra?: React.ReactNode;
    rightExtra?: React.ReactNode;
}
declare const FormItem: React.FC<FormItemProps>;
export default FormItem;
