import { type ReactElement } from "react";
import { type UseControllerProps } from "react-hook-form";
import { Align } from '../align';
import { type Control, type Value } from './types';
import { type RenderProp } from '../util/renderProp';
export interface ItemProps extends Align.SpaceProps {
    label?: string;
    showLabel?: boolean;
    helpText?: string;
    padHelpText?: boolean;
}
export declare const Item: ({ label, showLabel, helpText, direction, className, children, align, size, padHelpText, ...props }: ItemProps) => ReactElement;
export type ItemControlledProps<I extends Value = string | number, O extends Value = I> = Omit<ItemProps, "children"> & Omit<UseControllerProps<any, string>, "controller"> & {
    children?: RenderProp<Control<I, O> & {
        onBlur?: () => void;
        ref?: React.Ref<any>;
    }>;
    alsoValidate?: string[];
    padHelpText?: boolean;
};
export declare const HFItem: <I extends unknown = string | number, O extends unknown = I>({ name, rules, shouldUnregister, defaultValue, label, children, alsoValidate, padHelpText, ref: _, ...props }: ItemControlledProps<I, O>) => ReactElement;
