import type { AsyncValidatorRules } from '../../utils/validation/types';
import { ValidationResult } from '../../utils/validation/validationResult';
import type { MultiFormState } from './types';
type UseAsyncValidator<FormSchema> = {
    triggerAsyncFormValidation: <InnerFormName extends keyof FormSchema>(formName: InnerFormName, state: MultiFormState<FormSchema>, selectedSchema?: (keyof FormSchema[InnerFormName])[]) => Promise<Record<keyof FormSchema[InnerFormName], ValidationResult> & {
        isValid: boolean;
    }>;
};
/**
 * Returns
 * - triggerAsyncValidation function which can execute the async validation for a field and populate the sync validation results
 * - asyncValidationResult state which keeps track of async validations of all fields.
 * @param asyncRules
 */
export declare const useMultiFormAsyncValidator: <T>(asyncRules?: { [InnerFormName in keyof T]: AsyncValidatorRules<T[InnerFormName]>; } | ((data?: T) => { [InnerFormName in keyof T]: AsyncValidatorRules<T[InnerFormName]>; })) => UseAsyncValidator<T>;
export {};
