#### Describe the bug
When trying to compile a Firebase function (Node.js / TypeScript) I get an error:
```js
node_modules/axios/index.d.ts:62:38 - error TS2304: Cannot find name 'ProgressEvent'.

62   onUploadProgress?: (progressEvent: ProgressEvent) => void;
                                        ~~~~~~~~~~~~~

node_modules/axios/index.d.ts:63:40 - error TS2304: Cannot find name 'ProgressEvent'.

63   onDownloadProgress?: (progressEvent: ProgressEvent) => void;
                                          ~~~~~~~~~~~~~
```


#### To Reproduce
Example of a `package.json` that fails to compile using `npm run build`.
```js
{
  "name": "functions",
  "scripts": {
    "lint": "eslint -c .eslintrc.js --ext .ts ./src",
    "lint-fix": "eslint -c .eslintrc.js --fix --ext .ts ./src",
    "build": "tsc",
    "serve": "npm run build && firebase serve --only functions",
    "shell": "npm run build && firebase functions:shell",
    "start": "npm run shell",
    "firebase": "firebase serve --only functions --port=8080",
    "deploy": "npm run build && npm run lint && firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "main": "lib/index.js",
  "dependencies": {
    "axios": "^0.20.0",
    "firebase-functions": "^3.10.0"
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^3.9.1",
    "@typescript-eslint/parser": "^3.9.1",
    "eslint": "^7.7.0",
    "eslint-config-prettier": "^6.11.0",
    "eslint-plugin-import": "^2.22.0",
    "eslint-plugin-prettier": "^3.1.4",
    "prettier": "^2.0.5",
    "typescript": "^3.9.7"
  },
  "private": true,
  "engines": {
    "node": "10"
  }
}
```

#### Expected behavior
The Node.js code should compile.


#### Environment
 - Axios Version: 0.20.0
 - Node.js Version: 10.21.0
 - OS: Ubuntu 20.04

#### Additional context/Screenshots
None.
index.d.ts
Error: boolean;
  toJSON: () => object;
}
export interface AxiosPromise<T = any> 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(onFulfilled?: (value: V) => V | Promise<V>, onRejected?: (error: any) => any): number;
  eject(id: number): void;
}
export interface AxiosInstance {
  (config: AxiosRequestConfig): AxiosPromise;
  (url: string, config?: AxiosRequestConfig): AxiosPromise;
  defaults: AxiosRequestConfig;
  interceptors: {
    request: AxiosInterceptorManager<AxiosRequestConfig>;
    response: AxiosInterceptorManager<AxiosResponse>;
  };
  getUri(config?: AxiosRequestConfig): string;
  request<T = any, R = AxiosResponse<T>> (config: AxiosRequestConfig): Promise<R>;
  get<T = any, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R>;
  delete<T = any, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R>;
  head<T = any, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R>;
  options<T = any, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R>;
  post<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
  put<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
  patch<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
}
export interface AxiosStatic extends AxiosInstance {
  create(config?: AxiosRequestConfig): A