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;
}
```
test/typescript/axios.ts
.then(handleResponse)
  .catch(handleError);
axios.get('/user?id=12345')
  .then(handleResponse)
  .catch(handleError);
axios.get('/user', { params: { id: 12345 } })
  .then(handleResponse)
  .catch(handleError);
axios.head('/user')
  .then(handleResponse)
  .catch(handleError);
axios.delete('/user')
  .then(handleResponse)
  .catch(handleError);
axios.post('/user', { foo: 'bar' })
  .then(handleResponse)
  .catch(handleError);
axios.post('/user', { foo: 'bar' }, { headers: { 'X-FOO': 'bar' } })
  .then(handleResponse)
  .catch(handleError);
axios.put('/user', { foo: 'bar' })
  .then(handleResponse)
  .catch(handleError);
axios.patch('/user', { foo: 'bar' })
  .then(handleResponse)
  .catch(handleError);
const instance1: AxiosInstance = axios.create();
const instance2: AxiosInstance = axios.create(config);
instance1.request(config)
  .then(handleResponse)