import * as React from 'react'; import type { FieldProps } from 'rc-field-form/lib/Field'; import type { FormInstance } from '../Form'; import type { FormItemInputProps } from '../FormItemInput'; import type { FormItemLabelProps, LabelTooltipType } from '../FormItemLabel'; import useFormItemStatus from '../hooks/useFormItemStatus'; declare const ValidateStatuses: readonly ["success", "warning", "error", "validating", ""]; export type ValidateStatus = typeof ValidateStatuses[number]; type RenderChildren = (form: FormInstance) => React.ReactNode; type RcFieldProps = Omit, 'children'>; type ChildrenType = RenderChildren | React.ReactNode; export type FeedbackIcons = (itemStatus: { status: ValidateStatus; errors?: React.ReactNode[]; warnings?: React.ReactNode[]; }) => { [key in ValidateStatus]?: React.ReactNode; }; export interface FormItemProps extends Omit, FormItemInputProps, RcFieldProps { prefixCls?: string; noStyle?: boolean; style?: React.CSSProperties; className?: string; rootClassName?: string; children?: ChildrenType; id?: string; hasFeedback?: boolean | { icons: FeedbackIcons; }; validateStatus?: ValidateStatus; required?: boolean; hidden?: boolean; initialValue?: any; messageVariables?: Record; tooltip?: LabelTooltipType; /** @deprecated No need anymore */ fieldKey?: React.Key | React.Key[]; } declare function InternalFormItem(props: FormItemProps): React.ReactElement; type InternalFormItemType = typeof InternalFormItem; type CompoundedComponent = InternalFormItemType & { useStatus: typeof useFormItemStatus; }; declare const FormItem: CompoundedComponent; export default FormItem;