import { Ref } from 'vue'; import { AxiosResponse } from 'axios'; import { Ajax } from '../types'; interface UseAJAX { func: (params: any) => Promise>>; params?: any; callBackFunc?: (data: any, res: any) => void; runOnMounted?: boolean; onError?: (err: any) => void; dataField?: string; } interface AjaxRes { data: Ref; loading: Ref; ajaxFunc: (funcparams?: any) => Promise; } /** * @example * func 请求方法 * params 请求参数 * callBackFunc 成功回调 * runOnMounted 是否在最开始就执行 * @description 请求hook * @param param 参数配置 */ declare const useAJAX: ({ func, params, callBackFunc, runOnMounted, onError, dataField, }: UseAJAX) => AjaxRes; export declare const useAJAXSim: (func: (params: any) => Promise>>, runOnMounted: boolean, onSuccess?: (data: any, res: any) => void, onError?: (err: any) => void) => { data: Ref; loading: Ref; ajaxFunc: (funcparams?: any) => Promise; }; export default useAJAX;