import type { ComputedRef, Ref, ToRefs, UnwrapRef } from "vue";
export declare const REQUIRED: {
    required: import("@vuelidate/core").ValidationRuleWithParams<object, any>;
};
export declare const SAME_AS: (equalTo: any | Ref<any>) => import("@vuelidate/core").ValidationRuleWithParams<object, any>;
export declare const EMAIL: () => import("@vuelidate/core").ValidationRuleWithParams<object, any>;
type IWarningErrors<T extends Record<string, unknown>> = Record<`${string & keyof T}Errors`, ComputedRef<string[]>>;
export declare const useValidationErrors: <T extends Record<string, unknown>>({ rules, form, formId, onSubmit, resetAdditionalError, }: {
    rules: T | Ref<T>;
    form: { [key in keyof T]: any; } | Ref<{ [key_1 in keyof T]: any; }> | ToRefs<{ [key_2 in keyof T]: any; }>;
    formId?: string;
    onSubmit?: () => Promise<boolean>;
    resetAdditionalError?: boolean;
}) => {
    v$: Ref<import("@vuelidate/core").Validation<T, T>>;
    additionalError: Ref<string>;
    resetValidation: (onlySelf?: boolean) => void;
    markTouched: () => void;
    isValid: Ref<boolean>;
} & IWarningErrors<UnwrapRef<T | Ref<T>>>;
export {};
