Hello,

As axios automatically converts JSON responses could we get something like this:

```ts
get<T>(url: string, config?: AxiosRequestConfig): AxiosPromise<T>;

export interface AxiosPromise<T> extends Promise<AxiosResponse<T>> {
}

export interface AxiosResponse<T> {
  data: T;
  status: number;
  statusText: string;
  headers: any;
  config: AxiosRequestConfig;
}
```
index.d.ts
export interface AxiosTransformer {
  (data: any): any;
}
export interface AxiosAdapter {
  (config: AxiosRequestConfig): AxiosPromise;
}
export interface AxiosBasicCredentials {
  username: string;
  password: string;
}
export interface AxiosProxyConfig {
  host: string;
  port: number;
}
export interface AxiosRequestConfig {
  url?: string;
  method?: string;
  baseURL?: string;
  transformRequest?: AxiosTransformer | AxiosTransformer[];
  transformResponse?: AxiosTransformer | AxiosTransformer[];
  headers?: any;
  params?: any;
  paramsSerializer?: (params: any) => string;
  data?: any;
  timeout?: number;
  withCredentials?: boolean;
  adapter?: AxiosAdapter;
  auth?: AxiosBasicCredentials;
  responseType?: string;
  xsrfCookieName?: string;
  xsrfHeaderName?: string;
  onUploadProgress?: (progressEvent: any) => void;
  onDownloadProgress?: (progressEvent: any) => void;
  maxContentLength?: number;
  validateStatus?: (status: number) => boolean;
  maxRedirects?: number;
  httpAgent?: any;
  httpsAgent?: any;
  proxy?: AxiosProxyConfig;
  cancelToken?: CancelToken;
}
export interface AxiosResponse {
  data: any;
  status: number;
  statusText: string;
  headers: any;
  config: AxiosRequestConfig;
}
export interface AxiosError extends Error {
  config: AxiosRequestConfig;
  code?: string;
  request?: any;
  response?: AxiosResponse;
}
export interface AxiosPromise extends Promise<AxiosResponse> {
}
export interface CancelStatic {
  new (message?: string): Cancel;
}
export interface Cancel {
  message: string;
}
export interface Canceler {
  (message?: string): void;
}
export interface CancelTokenStatic {
  new (executor: (cancel: Canceler) => void): CancelToken;
  source(): CancelTokenSource;
}
export interface CancelToken {
  promise: Promise<Cancel>;
  reason?: Cancel;
  throwIfRequested(): void;
}
export interface CancelTokenSource {
  token: CancelToken;
  cancel: Canceler;
}
export interface AxiosInterceptorManager<V> {
  use(onFulfilled: (value: V) => V | P