import { BaseFormPayload, ExtractModelKey, FieldsStates, FieldState, FormSchema, StrictOptions, ValidationIssues } from './types';
export declare function isEmptyValue(value: unknown): value is null | undefined | '';
export declare function getValibotValidationMethod<MethodName extends keyof typeof import('valibot')>(methodName: MethodName): Promise<(typeof import('valibot'))[MethodName]>;
export declare function getValidationSchema<Model extends BaseFormPayload>(formSchema: FormSchema<Model>): Promise<import('valibot').ObjectSchemaAsync<FormSchema<Model>, undefined>>;
export declare function getFieldValidationResult<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>>(name: ModelKey, schema: FormSchema<Model>, value: Model[ModelKey]): Promise<{
    result: import('valibot').SafeParseResult<FormSchema<Model>[ModelKey]>;
    isValid: boolean;
}>;
export declare function setFieldValidationState<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>>({ name, fieldState, schema, payload, setError, setErrorIfInvalidAndNotEmpty, }: {
    name: ModelKey;
    fieldState: FieldState<Model, ModelKey, Model[ModelKey]>;
    schema: FormSchema<Model>;
    payload: Model;
    setError?: boolean;
    setErrorIfInvalidAndNotEmpty?: boolean;
}): Promise<void>;
export declare function validateForm<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>({ fieldsStates, payload, setErrors, schema, }: {
    fieldsStates: FieldsStates<Model, ExtractModelKey<FormSchema<Model>>>;
    setErrors?: boolean;
    payload: Model;
    schema: FormSchema<Model>;
}): Promise<void[]>;
export declare function getErrorMessages<Model extends BaseFormPayload = BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>(errors: Record<ModelKey, ValidationIssues>, fieldsStates: FieldsStates<Model, ExtractModelKey<FormSchema<Model>>>): Record<ModelKey, string | undefined>;
export declare function getFieldsErrors<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>(fieldsStates: FieldsStates<Model, ExtractModelKey<FormSchema<Model>>>): Record<ModelKey, ValidationIssues>;
export declare function getValidateFunction<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>({ name, hasValidation, debouncedFields, throttledFields, }: {
    name: ModelKey;
    hasValidation: boolean;
    debouncedFields?: StrictOptions<Model, ModelKey>['debouncedFields'];
    throttledFields?: StrictOptions<Model, ModelKey>['throttledFields'];
}): ((args_0: {
    name: ModelKey;
    fieldState: FieldState<Model, ModelKey, Model[ModelKey]>;
    schema: FormSchema<Model>;
    payload: Model;
    setError?: boolean;
    setErrorIfInvalidAndNotEmpty?: boolean;
}) => Promise<void>) | undefined;
