import { HTMLAttributes, InputHTMLAttributes, ReactNode } from 'react';
import { ValidationStatus } from '../hooks/useInternalStatus';
import { FormLabelProps } from './FormLabel';
export type FormControlProps<Value = unknown, Attributes extends HTMLAttributes<HTMLElement> = InputHTMLAttributes<HTMLInputElement>> = {
    value?: Value;
    label?: ReactNode;
    labelClassName?: string;
    validationStatus?: ValidationStatus;
    onChange?: (event: Event, value: Value) => void;
    /**
     * @deprecated use ["data-testid"] instead
     */
    dataTestId?: string;
    'data-testid'?: string;
    dataName?: string;
    errorMessage?: string;
    inline?: boolean;
} & Omit<Attributes & Partial<FormLabelProps>, 'onChange' | 'value'>;
export declare const FormControl: <Value = string>({ id, label, description, disabled, required, className, validationStatus, children, errorMessage, dataTestId, "data-testid": dataTestIdProp, dataName, labelClassName, hideRequiredStar, layout, inline, }: FormControlProps<Value>) => import("react/jsx-runtime").JSX.Element;
