import { AxiosRequestConfig, AxiosResponse } from 'axios'; import { ThrottleSettings } from '@/utils/api'; export interface Variables { (...rest: any): any; } interface RestQuery extends AxiosRequestConfig { url: string; immediate?: boolean; variables?: V; skip?: true | (() => any); wait?: number; throttleConfig?: ThrottleSettings; callBack?: (res: Response extends AxiosResponse ? Response : AxiosResponse, requestParams: ReturnType) => any; effectiveCallBack?: (effectiveRes: Response extends AxiosResponse ? Response : AxiosResponse['data'], requestParams: ReturnType) => any; breadkDuringLoading?: boolean; } /** * @description: 获取obj的value集合的json * @return {string} json */ export declare function getJSONByObject(obj: object): string; /** * @description: 判断两个obj是否相等,不考虑key不同的情况 * @param {object} obj1 * @param {object} obj2 * @return {boolean} */ export declare function isObjectEqal(obj1: object, obj2: object): boolean; /** * @description: 把配置化为observer的函数,根据配置自动发请求&处理逻辑 * @param {params} 配置信息 * @return {async function} 包裹后的请求函数. */ export declare function makeAjax(params: RestQuery): (((restParams?: (ReturnType extends undefined ? object : ReturnType) | undefined) => Promise) & { loading: import("vue").Ref; message: import("vue").Ref; }) | { (restParams?: (ReturnType extends undefined ? object : ReturnType) | undefined): any; message: import("vue").ComputedRef; loading: import("vue").ComputedRef; }; export {};