/** @module @airtable/blocks/ui: FormField */ /** */
import React from 'react';
import * as PropTypes from 'prop-types';
import { MaxWidthProps, MinWidthProps, WidthProps, FlexItemSetProps, PositionSetProps, SpacingSetProps } from './system';
/**
 * Style props for the {@link FormField} component. Accepts:
 * * {@link FlexItemSetProps}
 * * {@link MaxWidthProps}
 * * {@link MinWidthProps}
 * * {@link PositionSetProps}
 * * {@link SpacingSetProps}
 * * {@link WidthProps}
 *
 * @noInheritDoc
 */
interface FormFieldStyleProps extends MaxWidthProps, MinWidthProps, WidthProps, FlexItemSetProps, PositionSetProps, SpacingSetProps {
}
export declare const formFieldStylePropTypes: {
    [x: string]: PropTypes.Validator<any>;
};
/**
 * Props for the {@link FormField} component. Also accepts:
 * * {@link FormFieldStyleProps}
 *
 * @noInheritDoc
 * @docsPath UI/components/FormField
 */
interface FormFieldProps extends FormFieldStyleProps {
    /** The `id` attribute. */
    id?: string;
    /** Additional class names to apply to the form field. */
    className?: string;
    /** Additional styles to apply to the form field. */
    style?: React.CSSProperties;
    /** The label content for the form field. */
    label?: React.ReactNode;
    /** The `for` attribute to be applied to the inner label. By default, the form field will automatically generate a random ID and set it on both the label and the wrapped input/select. Only use this property if you want to override the generated ID with your own custom ID. */
    htmlFor?: string;
    /** The description content for the form field. Displayed beneath the label and above the wrapped control field. */
    description?: React.ReactNode | string | null;
    /** The contents of the form field. */
    children?: React.ReactNode;
}
declare const ForwardedRefFormField: React.ForwardRefExoticComponent<FormFieldProps & React.RefAttributes<HTMLDivElement>>;
export default ForwardedRefFormField;
