import { UseFormReturn } from 'react-hook-form';
import { FormGroup } from './form-groups';
export declare const useFormState: <T extends Record<string, any>>(methods: UseFormReturn<{
    groups: FormGroup<T>[];
}, any, undefined>) => {
    fieldState: {
        isDirty: (index: number, fieldName: keyof T) => boolean;
        isTouched: (index: number, fieldName: keyof T) => boolean;
        get: (index: number, fieldName: keyof T) => {
            invalid: boolean;
            isDirty: boolean;
            isTouched: boolean;
            isValidating: boolean;
            error?: import("react-hook-form").FieldError | undefined;
        };
    };
    formState: {
        isDirty: boolean;
        isValid: boolean;
        touched: boolean;
        isSubmitting: boolean;
        submitCount: number;
        isValidating: boolean;
    };
    reset: import("react-hook-form").UseFormReset<{
        groups: FormGroup<T>[];
    }>;
    trigger: import("react-hook-form").UseFormTrigger<{
        groups: FormGroup<T>[];
    }>;
    watch: import("react-hook-form").UseFormWatch<{
        groups: FormGroup<T>[];
    }>;
};
