#### Describe the bug

Upgrading from version 0.21.4 to 0.22.0 fails to compile a TypeScript app.

#### To Reproduce

Have a code that looks like this

```ts
import axios from 'axios';

const func = () => {
  delete axios.defaults.headers.common.Authorization;
}
```

Request responses are also incorrectly inferred after this update. Instead of `any`, data will be set to `Params`.

```ts
import axios from 'axios';

export const request = async (params: Params): Promise<Response> => {
  const { data } = await axios.put('urlPath', params);
  return data;
};
```

#### Expected behavior

There should be no breaking changes as change log doesn't mention them.

#### Environment
 - Axios Version [e.g. 0.18.0] 0.22.0
 - Adapter [e.g. XHR/HTTP] -
 - Browser [e.g. Chrome, Safari] -
 - Browser Version [e.g. 22] -
 - Node.js Version [e.g. 13.0.1] -
 - OS: [e.g. iOS 12.1.0, OSX 10.13.4] -
 - Additional Library Versions [e.g. React 16.7, React Native 0.58.0] React 17.0.2

#### Additional context/Screenshots
Add any other context about the problem here. If applicable, add screenshots to help explain.

test/typescript/axios.ts
axios.interceptors.response.eject(responseInterceptorId);
axios.interceptors.response.use(
  (response: AxiosResponse) => Promise.resolve(response),
  (error: any) => Promise.reject(error)
);
axios.interceptors.response.use((response: AxiosResponse) => response);
axios.interceptors.response.use((response: AxiosResponse) => Promise.resolve(response));
const adapter: AxiosAdapter = (config: AxiosRequestConfig) => {
  const response: AxiosResponse<any> = {
    data: { foo: 'bar' },
    status: 200,
    statusText: 'OK',
    headers: { 'X-FOO': 'bar' },
    config
  };
  return Promise.resolve(response);
};
axios.defaults.adapter = adapter;
const promises = [
  Promise.resolve(1),
  Promise.resolve(2)
];
const promise: Promise<number[]> = axios.all(promises);
const fn1 = (a: number, b: number, c: number) => `${a}-${b}-${c}`;
const fn2: (arr: number[]) => string = axios.spread(fn1);
axios.get('/user')
  .then((response: AxiosResponse) => 'foo')
  .then((value: string) => {});
axios.get('/user')
  .then((response: AxiosResponse) => Promise.resolve('foo'))