constructor(options) {
    this._rootURL = options.rootURL;
    /** @type {Record<string, string>} */
    this._extraHeaders = options.extraHeaders || {};
    this._fetch = options.fetch || fetch;
    this._URL = options.URL || URL;

    if (options.basicAuth && options.basicAuth.password) {
      const {username = ApiClient.DEFAULT_BASIC_AUTH_USERNAME, password} = options.basicAuth;
      this._extraHeaders.Authorization = `Basic ${btoa(`${username}:${password}`)}`;
    }

    /** @type {LHCI.ServerCommand.StorageMethod} */
    const typecheck = this; // eslint-disable-line no-unused-vars
  }
@param {{rootURL: string, fetch?: import('isomorphic-fetch'), URL?: typeof URL, extraHeaders?: Record<string, string>, basicAuth?: LHCI.ServerCommand.Options['basicAuth']}} options