import { Field, FieldEmits } from '../resources/types/field/fields';
import { FormModel } from '../resources/types/fieldAttributes';
import { FormOptions } from '../resources/types/generic';
import { Ref, EmitFn } from 'vue';
/**
 * Composable for validation of the value(s) from a field.
 * Houses all the necessary logic for performing a validation and handles the emitted events.
 * @param model - model object from the form.
 * @param field - field schema object.
 * @param currentModelValue - current model value Ref.
 * @param formOptions
 * @param emits
 * @param isDisabled
 * @param isRequired
 * @param isReadOnly
 */
export declare function useValidation(model: FormModel, field: Field, currentModelValue: Ref<any>, formOptions: FormOptions, emits: EmitFn<FieldEmits>, isDisabled: boolean, isRequired: boolean, isReadOnly: boolean): {
    errors: Ref<string[], string[]>;
    validate: () => Promise<void>;
    onChanged: (...args: any[]) => void;
    onBlur: (...args: any[]) => void;
};
