### Describe the bug

I'm trying to create a basic request interceptor to set `Authorization` header. According to `axios` type definitions, I can use `config.headers.setAuthorization` method in my interceptor.

![image](https://user-images.githubusercontent.com/35261612/214972510-c90758c6-c097-4884-ae60-42b8aa297e20.png)

![image](https://user-images.githubusercontent.com/35261612/214972687-6ec33ff6-ecf6-4676-acb9-06f5a72179af.png)


TypeScript compiles my source code correctly, but it fails to run, throwing a TypeError

![image](https://user-images.githubusercontent.com/35261612/214972867-f93f5d0c-82fe-405d-990c-b75a074ad2f8.png)



### To Reproduce

https://runkit.com/embed/70jjrl0otnq7

### Code snippet

```js
import axios from 'axios';

axios.interceptors.request.use((config) => {
  config.headers.setAuthorization('Bearer 🐻');

  return config;
});

await axios.get('https://www.google.com')
```


### Expected behavior

I expect `config.headers.setAuthorization()` to correctly set `Authorization` http header for HTTP requests in runtime according to type definitions.

### Axios Version

1.2.5

### Adapter Version

HTTP

### Browser

_No response_

### Browser Version

_No response_

### Node.js Version

18.13.0

### OS

Fedora 37

### Additional Library Versions

```bash
"@types/node": "^18.11.18"
"typescript": "^4.9.4"
```


### Additional context/Screenshots

_No response_
lib/core/AxiosHeaders.js
constructor(headers) {
    headers && this.set(headers);
  }
  set(header, valueOrRewrite, rewrite) {
    const self = this;
    function setHeader(_value, _header, _rewrite) {
      const lHeader = normalizeHeader(_header);
      if (!lHeader) {
        throw new Error('header name must be a non-empty string');
      }
      const key = utils.findKey(self, lHeader);
      if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {
        self[key || _header] = normalizeValue(_value);
      }
    }
    const setHeaders = (headers, _rewrite) =>
      utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
    if (utils.isPlainObject(header) || header instanceof this.constructor) {
      setHeaders(header, valueOrRewrite)
    } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
      setHeaders(parseHeaders(header), valueOrRewrite);
    } else {
      header != null && setHeader(valueOrRewrite, header, rewrite);
    }
    return this;
  }
  get(header, parser) {