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):

container.style.borderStyle = "solid";
          break;
        case AnnotationBorderStyleType.DASHED:
          container.style.borderStyle = "dashed";
          break;
        case AnnotationBorderStyleType.BEVELED:
          warn("Unimplemented border style: beveled");
          break;
        case AnnotationBorderStyleType.INSET:
          warn("Unimplemented border style: inset");
          break;
        case AnnotationBorderStyleType.UNDERLINE:
          container.style.borderBottomStyle = "solid";
          break;
        default:
          break;
      }
      const borderColor = data.borderColor || null;
      if (borderColor) {
        this.#hasBorder = true;
        container.style.borderColor = Util.makeHexColor(
          borderColor[0] | 0,
          borderColor[1] | 0,
          borderColor[2] | 0
        );
      } else {
        
        container.style.borderWidth = 0;
      }
    }