import { FieldValues, FieldArrayPath, UseFieldArrayProps as UseFieldArrayProps$1, FieldArrayWithId, FieldArray, UseFieldArrayReturn } from 'react-hook-form';

interface UseFieldArrayProps<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'> extends UseFieldArrayProps$1<TFieldValues, TFieldArrayName, TKeyName> {
    getTransformer?: <R extends TFieldValues, N extends FieldArrayPath<R>>(value: FieldArrayWithId<TFieldValues, TFieldArrayName, TKeyName>) => FieldArrayWithId<R, N, TKeyName>;
    setTransformer?: <R extends FieldValues, N extends FieldArrayPath<R>>(value: FieldArray<R, N>) => FieldArrayWithId<TFieldValues, TFieldArrayName, TKeyName>;
}
declare function useFieldArray<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'>(props: UseFieldArrayProps<TFieldValues, TFieldArrayName, TKeyName>): UseFieldArrayReturn<TFieldValues, TFieldArrayName, TKeyName>;

export { type UseFieldArrayProps, useFieldArray };
