import { AxiosResponse, AxiosRequestConfig, InternalAxiosRequestConfig, AxiosInstance } from 'axios'; interface IAppInterceptors { requestSuccessFn?: (config: AxiosRequestConfig) => InternalAxiosRequestConfig | any; requestFailureFn?: (err: any) => any; responseSuccessFn?: (res: T) => T; responseFailureFn?: (err: any) => any; } interface IAppRequestConfig extends Partial { interceptors?: IAppInterceptors; } /** * AppRequestç±» * @class AppRequest * @param {IAppRequestConfig} config * @description AppRequestç±» * @example * ```js * const request = new AppRequest({ * baseURL: '', * timeout: 5000, * interceptors: { * requestSuccessFn(cfg) { * return cfg * }, * requestFailureFn(){}, * responseSuccessFn(){}, * responseFailureFn(){} * } * }) * ``` */ declare class AppRequest { instance: AxiosInstance; constructor(config: IAppRequestConfig); request(config: IAppRequestConfig): Promise; get(config: IAppRequestConfig): Promise; post(config: IAppRequestConfig): Promise; delete(config: IAppRequestConfig): Promise; patch(config: IAppRequestConfig): Promise; put(config: IAppRequestConfig): Promise; } type request_AppRequest = AppRequest; declare const request_AppRequest: typeof AppRequest; type request_IAppInterceptors = IAppInterceptors; type request_IAppRequestConfig = IAppRequestConfig; declare namespace request { export { request_AppRequest as AppRequest, type request_IAppInterceptors as IAppInterceptors, type request_IAppRequestConfig as IAppRequestConfig, AppRequest as default }; } export { AppRequest as A, type IAppInterceptors as I, type IAppRequestConfig as a, request as r };