import * as React from 'react';
import PropTypes from 'prop-types';
import { FormItemProps } from 'antd';
import BasicComponent from '../../../Base/BasicComponent';
export interface IItemProps extends FormItemProps {
    /**
     * react-mobx-form bind() 被添加到的子元素索引，默认 0
     */
    bindIndex?: number;
    /**
     * react-mobx-form中的项
     */
    field?: string;
    /**
     * 遮罩，当此项存在时(string | React.ReactNode)，只渲染遮罩，不渲染 children 内容
     */
    mask?: string | React.ReactNode;
    /**
     * 隐藏整个 Item，用于动态调整 Item 显示
     */
    hide?: boolean;
    /**
     * Item 说明，此项会在 label 文案的最后添加一个 icon 并附上说明
     */
    explain?: string | React.ReactNode;
    getPopupContainer?: () => HTMLElement;
}
/**
 * Form Item 封装
 */
export default class Item extends BasicComponent<IItemProps, any> {
    static defaultProps: {
        bindIndex: number;
        hide: boolean;
    };
    static contextTypes: {
        mobxForm: PropTypes.Requireable<object>;
        styleService: PropTypes.Requireable<object>;
    };
    handleStyleServiceFieldChange(e: any): void;
    calcExtraProps(field: string): {
        rootProps: {
            label: any;
            help: any;
            validateStatus: string | undefined;
        };
        itemProps: any;
    } | {
        itemProps: {
            value: any;
            onChange: (e: any) => void;
        };
        rootProps?: undefined;
    } | {
        rootProps?: undefined;
        itemProps?: undefined;
    };
    render(): React.JSX.Element;
}
