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?: (name: string, value: Value) => void;
    dataTestId?: string;
    dataName?: string;
    errorMessage?: string;
} & Omit<Attributes & Partial<FormLabelProps>, 'onChange' | 'value'>;
export declare const FormControl: <Value = string>({ id, label, description, disabled, required, className, validationStatus, children, errorMessage, dataTestId, dataName, labelClassName, hideRequiredStar, layout, }: FormControlProps<Value>) => import("react/jsx-runtime").JSX.Element;
