import * as React from 'react';
import { ColProps } from 'antd/lib/grid/col';
import { ConfigConsumerProps } from './CompatibleConsumer';
declare const ValidateStatuses: ["success", "warning", "error", "validating", ""];
declare const FormLabelAligns: ["left", "right"];
export declare type FormLabelAlign = typeof FormLabelAligns[number];
export interface FormItemProps {
    prefixCls?: string;
    className?: string;
    id?: string;
    htmlFor?: string;
    label?: React.ReactNode;
    labelAlign?: FormLabelAlign;
    labelCol?: ColProps;
    wrapperCol?: ColProps;
    help?: React.ReactNode;
    extra?: React.ReactNode;
    validateStatus?: typeof ValidateStatuses[number];
    hasFeedback?: boolean;
    required?: boolean;
    style?: React.CSSProperties;
    colon?: boolean;
}
export default class FormItem extends React.Component<FormItemProps, any> {
    helpShow: boolean;
    static defaultProps: {
        hasFeedback: boolean;
    };
    componentDidMount(): void;
    getHelpMessage(): string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactFragment | unknown[] | null | undefined;
    getControls(children: React.ReactNode, recursively: boolean): React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
    getOnlyControl(): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
    getChildProp(prop: string): any;
    getId(): any;
    getMeta(): any;
    getField(): any;
    getValidateStatus(): "" | "success" | "error" | "validating";
    onLabelClick: () => void;
    onHelpAnimEnd: (_key: string, helpShow: boolean) => void;
    isRequired(): any;
    renderHelp(prefixCls: string): JSX.Element;
    renderExtra(prefixCls: string): JSX.Element | null;
    renderValidateWrapper(prefixCls: string, c1: React.ReactNode, c2: React.ReactNode, c3: React.ReactNode): JSX.Element;
    renderWrapper(prefixCls: string, children: React.ReactNode): JSX.Element;
    renderLabel(prefixCls: string): JSX.Element;
    renderChildren(prefixCls: string): JSX.Element[];
    renderFormItem: ({ getPrefixCls }: ConfigConsumerProps) => JSX.Element;
    render(): JSX.Element;
}
export {};
