import React from 'react'; import { UnpackNestedValue, FieldValuesFromControl, Control } from 'react-hook-form'; import { DeepPath, Options, ControllerProps } from './types'; export declare const useTypedController: >, TControl extends Control> = Control>>({ control, }: Options) => , TAs extends "input" | "select" | "textarea">({ name, ...rest }: import("./types").Assign<{ name: TFieldName; as?: TAs | undefined; rules?: Partial<{ required: string | boolean | import("react-hook-form").ValidationValueMessage; min: import("react-hook-form").ValidationRule; max: import("react-hook-form").ValidationRule; maxLength: import("react-hook-form").ValidationRule; minLength: import("react-hook-form").ValidationRule; pattern: import("react-hook-form").ValidationRule; validate: import("./types").Validate> | Record>>; }> | undefined; onFocus?: (() => void) | undefined; defaultValue?: import("./types").DeepPathValue | undefined; render?: ((props: { onChange: (...event: any[]) => void; onBlur: () => void; value: import("./types").DeepPathValue; }) => React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>) | undefined; }, JSX.IntrinsicElements[TAs]>) => JSX.Element;