import type { ReactNode, InputHTMLAttributes, ComponentType } from 'react';
import type { vars } from '../../../style/themes/vars.css';
import type { FontWeight } from '../../../style/types';
export declare type Layout = 'vertical' | 'horizontal';
export declare type FormControlProps<E> = {
    additionalLabel?: ReactNode;
    className?: string;
    errorDataSelector?: string;
    errorMessage?: string;
    highlight?: boolean;
    invalid?: boolean;
    label: string;
    required?: boolean;
    fontWeight?: FontWeight;
    layout?: Layout;
    dataSelector?: string;
    width?: keyof typeof vars.inputWidth;
} & InputHTMLAttributes<E> & {
    rows?: number;
    cols?: number;
};
export declare function FormControl<P, E extends HTMLElement>(Comp: ComponentType<P>): ComponentType<FormControlProps<E> & P>;
//# sourceMappingURL=FormControl.d.ts.map