import type { ComputedRef, Ref } from 'vue';
import type { FormProps, FormScheme, FormActionType } from '../types/form';
import type { NamePath } from 'ant-design-vue/lib/form/interface';
import type { Recordable } from '../../typings/global';
interface UseFormActionContext {
    emit: (event: string, ...args: any[]) => void;
    getProps: ComputedRef<FormProps>;
    getSchemes: ComputedRef<FormScheme[]>;
    formModel: Recordable;
    defaultValueRef: Ref<Recordable>;
    formElRef: Ref<FormActionType>;
    schemesRef: Ref<FormScheme[]>;
    handleFormValues: (values: Recordable) => Recordable;
}
export declare function useFormEvents({ emit, getProps, formModel, getSchemes, defaultValueRef, formElRef, schemesRef, handleFormValues, }: UseFormActionContext): {
    handleSubmit: (e?: Event | undefined) => Promise<void>;
    clearValidate: (name?: string | string[] | undefined) => Promise<void>;
    validate: (nameList?: NamePath[] | undefined) => Promise<any>;
    validateFields: (nameList?: NamePath[] | undefined) => Promise<any>;
    getFieldsValue: () => Recordable;
    updateScheme: (data: Partial<FormScheme> | Partial<FormScheme>[]) => Promise<void>;
    resetScheme: (data: Partial<FormScheme> | Partial<FormScheme>[]) => Promise<void>;
    appendSchemeByField: (scheme: FormScheme, prefixField?: string | undefined, first?: boolean) => Promise<void>;
    removeSchemeByFiled: (fields: string | string[]) => Promise<void>;
    resetFields: () => Promise<void>;
    setFieldsValue: (values: Recordable) => Promise<void>;
    scrollToField: (name: NamePath, options?: ScrollOptions | undefined) => Promise<void>;
};
export {};
