import React from 'react'; import { FormFieldDefaultElementProps, FormFieldFileElementProps, FormFieldImageElementProps, FormFieldMultiSelectElementProps, FormFieldRadioBlocksElementProps, FormFieldRadioToggleElementProps, FormFieldSelectElementProps, FormFieldTextAreaElementProps } from './elements'; import { FormFieldRegisterOptions, UseFormReturn } from '../../../form'; declare type FormFieldPropsPartial = Record, TType extends string = string> = { form?: UseFormReturn; name: TName; type?: TType; defaultValue?: TFormFields[TName]; label?: React.ReactNode; registerOptions?: FormFieldRegisterOptions; hint?: React.ReactNode; actions?: React.ReactNode; loading?: boolean; dense?: boolean; tooltip?: boolean; }; declare type FormFieldRadioToggleProps = Record> = FormFieldPropsPartial & FormFieldRadioToggleElementProps & { type: 'radio-toggle'; }; declare type FormFieldRadioBlocksProps = Record> = FormFieldPropsPartial & FormFieldRadioBlocksElementProps & { type: 'radio-blocks'; }; declare type FormFieldSelectProps = Record> = FormFieldPropsPartial & FormFieldSelectElementProps & { type: 'select'; }; declare type FormFieldMultiSelectProps = Record> = FormFieldPropsPartial & FormFieldMultiSelectElementProps & { type: 'select'; }; declare type FormFieldImageProps = Record> = FormFieldPropsPartial & FormFieldImageElementProps & { type: 'image'; }; declare type FormFieldFileProps = Record> = FormFieldPropsPartial & FormFieldFileElementProps & { type: 'file'; }; declare type FormFieldTextAreaProps = Record> = FormFieldPropsPartial & FormFieldTextAreaElementProps & { type: 'textarea'; }; declare type FormFieldDefaultProps = Record, TType extends string = string> = FormFieldPropsPartial & FormFieldDefaultElementProps & { type?: Exclude; }; declare type FormFieldProps = Record, TType extends string = string> = { form?: UseFormReturn; } & (Omit, 'hintRef' | 'form'> | Omit, 'hintRef' | 'form'> | Omit, 'hintRef' | 'form'> | Omit, 'hintRef' | 'form'> | Omit, 'hintRef' | 'form'> | Omit, 'hintRef' | 'form'> | Omit, 'hintRef' | 'form'> | Omit, 'hintRef' | 'form'>); export declare function FormField = Record, TType extends string = string>({ name, form, defaultValue, label, type, hint, actions, loading, className, dense, tooltip, ...props }: FormFieldProps): JSX.Element; export {};