#### 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.

index.d.ts
t?: any;
  httpsAgent?: any;
  proxy?: AxiosProxyConfig | false;
  cancelToken?: CancelToken;
  decompress?: boolean;
  transitional?: TransitionalOptions;
  signal?: AbortSignal;
  insecureHTTPParser?: boolean
}
export interface AxiosResponse<T = unknown, D = any>  {
  data: T;
  status: number;
  statusText: string;
  headers: AxiosResponseHeaders;
  config: AxiosRequestConfig<D>;
  request?: any;
}
export interface AxiosError<T = unknown, D = any> extends Error {
  config: AxiosRequestConfig<D>;
  code?: string;
  request?: any;
  response?: AxiosResponse<T, D>;
  isAxiosError: boolean;
  toJSON: () => object;
}
export interface AxiosPromise<T = unknown> extends Promise<AxiosResponse<T>> {
}
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<T = V>(onFulfilled?: (value: V) => T | Promise<T>, onRejected?: (error: any) => any): number;
  eject(id: number): void;
}
export class Axios {
  constructor(config?: AxiosRequestConfig);
  defaults: AxiosRequestConfig;
  interceptors: {
    request: AxiosInterceptorManager<AxiosRequestConfig>;
    response: AxiosInterceptorManager<AxiosResponse>;
  };
  getUri(config?: AxiosRequestConfig): string;
  request<T = unknown, R = AxiosResponse<T>, D = any> (config: AxiosRequestConfig<D>): Promise<R>;
  get<T = unknown, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
  delete<T = unknown, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
  head<T = unknown, R = AxiosResp