import type { AxiosInstance, AxiosRequestConfig, InternalAxiosRequestConfig } from 'axios';
import type { IResultData } from '@/api/interface';
export interface CustomAxiosRequestConfig extends InternalAxiosRequestConfig {
    loading?: boolean;
    cancel?: boolean;
}
declare class RequestHttp {
    service: AxiosInstance;
    constructor(config: AxiosRequestConfig);
    setConfig(_config: AxiosRequestConfig): AxiosInstance;
    get<T>(url: string, params?: object, _object?: {}): Promise<IResultData<T>>;
    post<T>(url: string, params?: object, _object?: {}): Promise<IResultData<T>>;
    download(url: string, params?: {}, _object?: {}): Promise<BlobPart>;
    template(url: string, params?: {}, _object?: {}): Promise<BlobPart>;
    upload<T>(url: string, params?: {}, _object?: {}): Promise<IResultData<T>>;
}
declare const _default: RequestHttp;
export default _default;
//# sourceMappingURL=http.d.ts.map