import React from "react";
import { FormComponent } from "./FormComponent";
import { defs } from "./FormHost";
interface FormElementOuterProps {
    /**
     * Class Names to be assigned to this Component.
     */
    className?: string;
    /**
     * The Form Component being used to render the Form Element within this Component.
     */
    component: FormComponent;
    /**
     * The Form Element to be rendered within this Component.
     */
    element: defs.Element;
    /**
     * Optional class name to be added to this Component when an error is present.
     */
    errorClassName?: string;
    /**
     * The type of HTML Element that should be used for this Form Element.
     * Those that contain a single form control should use a label.
     * All others should use a div. The default value is "div".
     */
    htmlElementType?: "div" | "label" | undefined;
    onFocusCapture?: (event: React.FocusEvent<HTMLElement>) => void;
    onBlurCapture?: (event: React.FocusEvent<HTMLElement>) => void;
    onChangeCapture?: (event: React.FormEvent<HTMLElement>) => void;
    onKeyDownCapture?: (event: React.KeyboardEvent<HTMLElement>) => void;
    onMouseDown?: (event: React.MouseEvent<HTMLElement>) => void;
    onTouchStart?: (event: React.TouchEvent<HTMLElement>) => void;
}
declare const _default: React.ForwardRefExoticComponent<FormElementOuterProps & {
    children?: React.ReactNode;
} & React.RefAttributes<HTMLDivElement | HTMLLabelElement>>;
export default _default;
