import { FieldError } from "react-hook-form";
import { ControllerRenderProps } from "react-hook-form";
import React from "react";
export interface IUseFieldReturn {
    field: ControllerRenderProps;
    isTouched: boolean;
    isValid: boolean;
    hasError: boolean;
    errorMessage: string;
    disabledStatusIcon: boolean;
    disabledLabel: boolean;
    errorType: string;
    label: React.ReactNode;
    labelWidth: string | number;
    ErrorComponent: React.ElementType<IErrorMessageProps>;
    errorProps: object;
    hiddenLabel: boolean;
}
export interface IUseFieldProps {
    label: React.ReactNode;
    name: string;
    value?: any;
    disabledLabel?: boolean;
    hiddenLabel?: boolean;
    disabledStatusIcon?: boolean;
    labelWidth?: number | string;
    ErrorComponent?: React.ElementType<IErrorMessageProps>;
    errorProps?: object;
}
export declare type IUseFieldComponentProps = {
    label?: React.ReactNode;
    name?: string;
};
export declare type IErrorMessageProps = FieldError & {
    errorProps: any;
};
declare const useField: ({ ErrorComponent, name, value, ...initialState }: React.PropsWithChildren<IUseFieldProps>) => IUseFieldReturn;
export default useField;
