import React from 'react';
import { ControllerProps } from 'react-hook-form';
import { FieldWrapperProps } from '@parlor/components/select-v4';
type TValues = Record<string, any>;
export type FormFieldProps<T extends TValues = TValues> = FieldWrapperProps & {
    /**
     * Field child element.
     */
    children: JSX.Element;
    className?: string;
    /**
     * Field defaultValue.
     */
    defaultValue?: unknown;
    /**
     * deserialize value
     */
    deserializeValue?: (value: unknown) => unknown;
    /**
     * Field variant.
     */
    fieldVariation?: FieldWrapperProps['variation'];
    /**
     * Field FieldWrapper Props.
     */
    fieldWrapperProps?: Omit<FieldWrapperProps, 'label' | 'hint' | 'variation' | 'children'>;
    /**
     * Field hint.
     */
    hint?: FieldWrapperProps['hint'];
    /**
     * Field label.
     */
    label?: FieldWrapperProps['label'];
    /**
     * Field name.
     */
    name: ControllerProps<T>['name'];
    /**
     * Field    validation rules.
     */
    rules?: ControllerProps['rules'];
    /**
     * serialize value
     */
    serializeValue?: (value: unknown) => unknown;
    /**
     * Field validated.
     */
    validated?: boolean;
    /**
     * Field value checked param for checkbox.
     */
    valueChecked?: boolean;
};
export declare const FormField: React.ForwardRefExoticComponent<Partial<Pick<import("@parlor/ui/field-wrapper/field-wrapper").OriginalFieldWrapperProps, "className" | "style" | "onMouseDown" | "label" | "size" | "fieldContainerClassName" | "fieldErrorClassName" | "hint" | "information" | "isFocused" | "variation"> & {
    suffix?: JSX.Element;
}> & {
    /**
     * Field child element.
     */
    children: JSX.Element;
    className?: string;
    /**
     * Field defaultValue.
     */
    defaultValue?: unknown;
    /**
     * deserialize value
     */
    deserializeValue?: (value: unknown) => unknown;
    /**
     * Field variant.
     */
    fieldVariation?: FieldWrapperProps['variation'];
    /**
     * Field FieldWrapper Props.
     */
    fieldWrapperProps?: Omit<Partial<Pick<import("@parlor/ui/field-wrapper/field-wrapper").OriginalFieldWrapperProps, "className" | "style" | "onMouseDown" | "label" | "size" | "fieldContainerClassName" | "fieldErrorClassName" | "hint" | "information" | "isFocused" | "variation"> & {
        suffix?: JSX.Element;
    }>, "children" | "label" | "hint" | "variation">;
    /**
     * Field hint.
     */
    hint?: FieldWrapperProps['hint'];
    /**
     * Field label.
     */
    label?: FieldWrapperProps['label'];
    /**
     * Field name.
     */
    name: string;
    /**
     * Field    validation rules.
     */
    rules?: ControllerProps['rules'];
    /**
     * serialize value
     */
    serializeValue?: (value: unknown) => unknown;
    /**
     * Field validated.
     */
    validated?: boolean;
    /**
     * Field value checked param for checkbox.
     */
    valueChecked?: boolean;
} & React.RefAttributes<HTMLDivElement>>;
export {};
