import { type PropType, type ExtractPropTypes, type WritableComputedRef, type Ref } from 'vue'; export type ValidationRule = ((v: V) => any | string) | Promise<((v: V) => any | string)>; type UseValidationOptions = { reset: () => void; focus: () => void; value: WritableComputedRef | Ref; }; export declare const useValidationProps: { name: { type: StringConstructor; default: undefined; }; rules: { type: PropType[]>; default: () => any; }; dirty: { type: BooleanConstructor; default: boolean; }; error: { type: BooleanConstructor; default: undefined; }; errorMessages: { type: PropType; default: undefined; }; errorCount: { type: (StringConstructor | NumberConstructor)[]; default: number; }; success: { type: BooleanConstructor; default: boolean; }; messages: { type: PropType; default: () => never[]; }; immediateValidation: { type: BooleanConstructor; default: boolean; }; modelValue: {}; }; export type ValidationProps = { rules: { type: PropType[]>; default: () => any; required: false; }; modelValue: { type: PropType; default: V; }; } & Omit; export declare const useValidationEmits: readonly ["update:error", "update:errorMessages", "update:dirty"]; export declare const useValidation: []>; default: () => any; }; dirty: { type: BooleanConstructor; default: boolean; }; error: { type: BooleanConstructor; default: undefined; }; errorMessages: { type: PropType; default: undefined; }; errorCount: { type: (StringConstructor | NumberConstructor)[]; default: number; }; success: { type: BooleanConstructor; default: boolean; }; messages: { type: PropType; default: () => never[]; }; immediateValidation: { type: BooleanConstructor; default: boolean; }; modelValue: {}; }>>(props: P, emit: (event: any, ...args: any[]) => void, options: UseValidationOptions) => { isDirty: Ref; isValid: import("vue").ComputedRef; isError: WritableComputedRef; isTouched: Ref; isLoading: WritableComputedRef; computedError: import("vue").ComputedRef; computedErrorMessages: import("vue").ComputedRef; listeners: { onBlur: () => void; }; validate: () => any; resetValidation: () => void; withoutValidation: (cb: () => any) => void; validationAriaAttributes: import("vue").ComputedRef<{ 'aria-invalid': boolean; 'aria-errormessage': string; }>; }; export {};