import { Ref } from 'vue';
import { useValidation, ValidationRule } from './validation/useValidation';
export interface UseFormFieldErrorHandlingProps {
    errorMessages?: string[] | null;
    warningMessages?: string[] | null;
    successMessages?: string[] | null;
    hasError?: boolean;
    hasWarning?: boolean;
    hasSuccess?: boolean;
    customRules?: ValidationRule[];
    customWarningRules?: ValidationRule[];
    customSuccessRules?: ValidationRule[];
    showSuccessMessages?: boolean;
    disableErrorHandling?: boolean;
    required?: boolean;
    label?: string;
    isValidateOnBlur?: boolean;
}
export interface UseFormFieldErrorHandlingReturn {
    validation: ReturnType<typeof useValidation>;
    hasError: Ref<boolean>;
    hasWarning: Ref<boolean>;
    hasSuccess: Ref<boolean>;
    errors: Ref<string[]>;
    warnings: Ref<string[]>;
    successes: Ref<string[]>;
    validateField: (value: unknown) => Promise<boolean>;
    validateOnSubmit: () => Promise<boolean>;
    checkErrorOnBlur: () => void;
}
export declare const useFormFieldErrorHandling: (props: UseFormFieldErrorHandlingProps, modelValue: Ref<unknown>, emitUpdate?: () => void) => UseFormFieldErrorHandlingReturn;
