/** @format */
import { ComputedRef, Ref } from 'vue';
import type { FormProps, FormSchema, FormActionType } from '../types/form';
import type { NamePath } from '../../../form/interface';
interface UseFormActionContext {
    emit: EmitType;
    getProps: ComputedRef<FormProps>;
    getSchema: ComputedRef<FormSchema[]>;
    formModel: Recordable;
    defaultValueRef: Ref<Recordable>;
    formElRef: Ref<FormActionType>;
    schemaRef: Ref<FormSchema[] | Partial<FormSchema>[]>;
    getOriginSchema: Ref<FormSchema[] | Partial<FormSchema>[]>;
    handleFormValues: Fn;
}
export declare function useFormEvents({ emit, getProps, formModel, getSchema, defaultValueRef, formElRef, schemaRef, getOriginSchema, handleFormValues, }: UseFormActionContext): {
    handleSubmit: (e?: Event | boolean) => Promise<void>;
    clearValidate: (name?: string | string[]) => Promise<void>;
    validate: (nameList?: NamePath[] | undefined) => Promise<any>;
    validateFields: (nameList?: NamePath[] | undefined) => Promise<any>;
    getFieldsValue: (filterHidden?: boolean) => Recordable;
    getChildrenFieldsValue: (filterHidden?: boolean) => {};
    updateSchema: (data: Partial<FormSchema> | Partial<FormSchema>[], replace?: boolean) => Promise<void>;
    appendSchemaByField: (schema: FormSchema, prefixField?: string, first?: boolean) => Promise<void>;
    removeSchemaByFiled: (fields: string | string[]) => Promise<void>;
    resetFields: (emitReset?: boolean, triggerSubmit?: boolean) => Promise<void>;
    setFieldsValue: (values: Recordable) => Promise<void>;
    scrollToField: (name: NamePath, options?: ScrollOptions | undefined) => Promise<void>;
};
export {};
