Reading from the source code:

https://github.com/mozilla/pdf.js/blob/57d196e3497e77c81c19f852715ce79d9fb91492/src/display/annotation_layer.js#L2846

it appears to me it was not an intention to mark downloadManager as a required parameter in AnnotationLayerParameters:

https://github.com/mozilla/pdf.js/blob/57d196e3497e77c81c19f852715ce79d9fb91492/src/display/annotation_layer.js#L63

and AnnotationLayerBuilderOptions:

https://github.com/mozilla/pdf.js/blob/57d196e3497e77c81c19f852715ce79d9fb91492/web/annotation_layer_builder.js#L40

and it should be optional, similarly to accessibilityManager for example:

https://github.com/mozilla/pdf.js/blob/57d196e3497e77c81c19f852715ce79d9fb91492/web/text_layer_builder.js#L30

**Configuration:**
- PDF.js version: 2.11.174
- Is a browser extension: no

**What is the expected behavior? (add screenshot)**

`downloadManager` to be optional

**What went wrong? (add screenshot)**

`downloadManager` marked as required

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

if (this.container) {
      this.container.hidden = true;
    }
    this.popup?.forceHide();
  }
  /**
   * Get the HTML element(s) which can trigger a popup when clicked or hovered.
   *
   * @public
   * @memberof AnnotationElement
   * @returns {Array<HTMLElement>|HTMLElement} An array of elements or an
   *          element.
   */
  getElementsToTriggerPopup() {
    return this.container;
  }
  addHighlightArea() {
    const triggers = this.getElementsToTriggerPopup();
    if (Array.isArray(triggers)) {
      for (const element of triggers) {
        element.classList.add("highlightArea");
      }
    } else {
      triggers.classList.add("highlightArea");
    }
  }
  _editOnDoubleClick() {