import { FormItemLayoutProps } from "../layout/FormItemLayout.js";
import "../layout/index.js";
import { ComponentProps, ElementType, ReactNode } from "react";
import * as react_jsx_runtime21 from "react/jsx-runtime";

//#region src/components/Form/elements/FormElement.d.ts
type FormElementProps<T extends ElementType> = {
  name: string;
  Element: T;
  label?: ReactNode;
  isRequired?: boolean;
  info?: string;
  showErrorMessage?: boolean;
  focus?: boolean;
} & Omit<FormItemLayoutProps, 'children'>;
/**
 * FormElement is a component that allows you to create a form element with a label, description, error message, and validation.
 *
 * The Element prop is the type of the element that will be rendered.
 * This element will interact with the FormContext and will be controlled by the FormControl component.
 * The props used to control the element will be `value` and `onChange`.
 */
declare const FormElement: <T extends ElementType>(props: FormElementProps<T> & ComponentProps<T>) => react_jsx_runtime21.JSX.Element;
//#endregion
export { FormElement, FormElementProps };
//# sourceMappingURL=FormElement.d.ts.map