import { L as Lens } from './LensCore-gMh0bLtp.js';
export { A as ArrayLens, H as HookFormInterop, d as LensCache, a as LensCore, j as LensFocus, i as LensInterop, l as LensMap, k as LensReflect, h as LensesDeepMap, f as LensesMap, e as LensesStorage, b as LensesStorageComplexKey, c as LensesStorageValue, g as LensesValues, N as NonObjectFieldShim, O as ObjectLens, P as PrimitiveLens, S as ShimKeyName, U as UnwrapLens } from './LensCore-gMh0bLtp.js';
import { DependencyList } from 'react';
import { FieldValues, Control } from 'react-hook-form';

interface UseLensProps<TFieldValues extends FieldValues = FieldValues> {
    control: Control<TFieldValues>;
}
/**
 * Creates lens from react-hook-form control.
 *
 * @example
 * ```tsx
 * function App() {
 *   const { control } = useForm<{
 *     firstName: string;
 *   }>();
 *
 *   const lens = useLens({ control });
 * }
 * ```
 */
declare function useLens<TFieldValues extends FieldValues = FieldValues>(props: UseLensProps<TFieldValues>, deps?: DependencyList): Lens<TFieldValues>;

export { Lens, type UseLensProps, useLens };
