constructor(manifest, isPartial, id) {
    /** @const {!shaka.test.ManifestGenerator.Manifest} */
    this.manifest_ = manifest;

    /** @type {?shaka.extern.Stream} */
    this.audio = null;
    /** @type {?shaka.extern.Stream} */
    this.video = null;
    if (id != null) {
      /** @type {number} */
      this.id = id;
    }

    if (!isPartial) {
      /** @type {string} */
      this.language = 'und';
      /** @type {string} */
      this.label = '';
      /** @type {number} */
      this.bandwidth = 0;
      /** @type {number} */
      this.disabledUntilTime = 0;
      /** @type {boolean} */
      this.primary = false;
      /** @type {boolean} */
      this.allowedByApplication = true;
      /** @type {boolean} */
      this.allowedByKeySystem = true;
      /** @type {!Array<MediaCapabilitiesDecodingInfo>} */
      this.decodingInfos = [];
    }

    /** @type {shaka.extern.Variant} */
    const foo = this;
    goog.asserts.assert(foo, 'Checking for type compatibility');
  }
@param {!shaka.test.ManifestGenerator.Manifest} manifest
@param {boolean} isPartial
@param {number=} id