Index: trip-planner-front/node_modules/@angular/common/http/http.d.ts
===================================================================
--- trip-planner-front/node_modules/@angular/common/http/http.d.ts	(revision 6a3a178323fd905112b5392bd9d3cb83b66ef2d3)
+++ trip-planner-front/node_modules/@angular/common/http/http.d.ts	(revision e29cc2ea91f8c99a4329f6d20188305dfd752279)
@@ -1,4 +1,4 @@
 /**
- * @license Angular v12.2.9
+ * @license Angular v12.2.13
  * (c) 2010-2021 Google LLC. https://angular.io/
  * License: MIT
Index: trip-planner-front/node_modules/@angular/common/http/http.d.ts.__ivy_ngcc_bak
===================================================================
--- trip-planner-front/node_modules/@angular/common/http/http.d.ts.__ivy_ngcc_bak	(revision 6a3a178323fd905112b5392bd9d3cb83b66ef2d3)
+++ trip-planner-front/node_modules/@angular/common/http/http.d.ts.__ivy_ngcc_bak	(revision e29cc2ea91f8c99a4329f6d20188305dfd752279)
@@ -1,4 +1,4 @@
 /**
- * @license Angular v12.2.9
+ * @license Angular v12.2.13
  * (c) 2010-2021 Google LLC. https://angular.io/
  * License: MIT
Index: trip-planner-front/node_modules/@angular/common/http/http.d.ts.map
===================================================================
--- trip-planner-front/node_modules/@angular/common/http/http.d.ts.map	(revision 6a3a178323fd905112b5392bd9d3cb83b66ef2d3)
+++ trip-planner-front/node_modules/@angular/common/http/http.d.ts.map	(revision e29cc2ea91f8c99a4329f6d20188305dfd752279)
@@ -1,1 +1,1 @@
-{"version":3,"file":"http.d.ts","sources":["http.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA","sourcesContent":["/**\n * @license Angular v12.2.9\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { InjectionToken } from '@angular/core';\r\nimport { Injector } from '@angular/core';\r\nimport { ModuleWithProviders } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { XhrFactory as XhrFactory_2 } from '@angular/common';\r\n\r\n/**\r\n * A multi-provider token that represents the array of registered\r\n * `HttpInterceptor` objects.\r\n *\r\n * @publicApi\r\n */\r\nexport declare const HTTP_INTERCEPTORS: InjectionToken<HttpInterceptor[]>;\r\n\r\n/**\r\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\r\n *\r\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\r\n *\r\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\r\n * through the interceptor chain.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class HttpBackend implements HttpHandler {\r\n    abstract handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * Performs HTTP requests.\r\n * This service is available as an injectable class, with methods to perform HTTP requests.\r\n * Each request method has multiple signatures, and the return type varies based on\r\n * the signature that is called (mainly the values of `observe` and `responseType`).\r\n *\r\n * Note that the `responseType` *options* value is a String that identifies the\r\n * single data type of the response.\r\n * A single overload version of the method handles each response type.\r\n * The value of `responseType` cannot be a union, as the combined signature could imply.\r\n\r\n *\r\n * @usageNotes\r\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\r\n *\r\n * ### HTTP Request Example\r\n *\r\n * ```\r\n *  // GET heroes whose name contains search term\r\n * searchHeroes(term: string): observable<Hero[]>{\r\n *\r\n *  const params = new HttpParams({fromString: 'name=term'});\r\n *    return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\r\n * }\r\n * ```\r\n *\r\n * Alternatively, the parameter string can be used without invoking HttpParams\r\n * by directly joining to the URL.\r\n * ```\r\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\r\n * ```\r\n *\r\n *\r\n * ### JSONP Example\r\n * ```\r\n * requestJsonp(url, callback = 'callback') {\r\n *  return this.httpClient.jsonp(this.heroesURL, callback);\r\n * }\r\n * ```\r\n *\r\n * ### PATCH Example\r\n * ```\r\n * // PATCH one of the heroes' name\r\n * patchHero (id: number, heroName: string): Observable<{}> {\r\n * const url = `${this.heroesUrl}/${id}`;   // PATCH api/heroes/42\r\n *  return this.httpClient.patch(url, {name: heroName}, httpOptions)\r\n *    .pipe(catchError(this.handleError('patchHero')));\r\n * }\r\n * ```\r\n *\r\n * @see [HTTP Guide](guide/http)\r\n * @see [HTTP Request](api/common/http/HttpRequest)\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpClient {\r\n    private handler;\r\n    constructor(handler: HttpHandler);\r\n    /**\r\n     * Sends an `HttpRequest` and returns a stream of `HttpEvent`s.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a stream of `HttpEvent`s.\r\n     */\r\n    request<R>(req: HttpRequest<any>): Observable<HttpEvent<R>>;\r\n    /**\r\n     * Constructs a request that interprets the body as an `ArrayBuffer` and returns the response in\r\n     * an `ArrayBuffer`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a request that interprets the body as a blob and returns\r\n     * the response as a blob.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type `Blob`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a request that interprets the body as a text string and\r\n     * returns a string value.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a request that interprets the body as an `ArrayBuffer` and returns the\r\n     * the full event stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an array of `HttpEvent`s for\r\n     * the request.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        observe: 'events';\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a request that interprets the body as a `Blob` and returns\r\n     * the full event stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body of type `Blob`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a text string and returns the full event\r\n     * stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body of type string.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the  request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body of type `Object`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        observe: 'events';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<any>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body of type `R`.\r\n     */\r\n    request<R>(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        observe: 'events';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<R>>;\r\n    /**\r\n     * Constructs a request which interprets the body as an `ArrayBuffer`\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body as an `ArrayBuffer`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a `Blob` and returns the full `HttpResponse`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `Blob`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a text stream and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the HTTP response, with the response body of type string.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse`,\r\n     * with the response body of type `Object`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        observe: 'response';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns\r\n     * the full `HttpResponse` with the response body in the requested type.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return  An `Observable` of the full `HttpResponse`, with the response body of type `R`.\r\n     */\r\n    request<R>(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        observe: 'response';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<R>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns the full\r\n     * `HttpResponse` as a JSON object.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `Object`.\r\n     */\r\n    request(method: string, url: string, options?: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        reportProgress?: boolean;\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object\r\n     * with the response body of the requested type.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `R`.\r\n     */\r\n    request<R>(method: string, url: string, options?: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        reportProgress?: boolean;\r\n        withCredentials?: boolean;\r\n    }): Observable<R>;\r\n    /**\r\n     * Constructs a request where response type and requested observable are not known statically.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the requested response, with body of type `any`.\r\n     */\r\n    request(method: string, url: string, options?: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        observe?: 'body' | 'events' | 'response';\r\n        reportProgress?: boolean;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<any>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the response as an `ArrayBuffer`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return  An `Observable` of the response body as an `ArrayBuffer`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a `Blob` and returns\r\n     * the response as a `Blob`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response body as a `Blob`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a text string and returns\r\n     * a string.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with response body as an `ArrayBuffer`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a `Blob`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request, with the response body as a\r\n     * `Blob`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a text string\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with the response\r\n     * body of type string.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with response body of\r\n     * type `Object`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `DELETE`request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request, with a response\r\n     * body in the requested type.\r\n     */\r\n    delete<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | (string | number | boolean)[];\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer` and returns\r\n     *  the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse`, with the response body as an `ArrayBuffer`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a `Blob` and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `Blob`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a text stream and\r\n     *  returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse`, with the response body of type string.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `DELETE` request the interprets the body as a JSON object and returns\r\n     * the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `Object`.\r\n     *\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of the requested type.\r\n     */\r\n    delete<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a JSON object and\r\n     * returns the response body as a JSON object.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type `Object`.\r\n     */\r\n    delete(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a DELETE request that interprets the body as a JSON object and returns\r\n     * the response in a given type.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with response body in the requested type.\r\n     */\r\n    delete<T>(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and returns the\r\n     * response in an `ArrayBuffer`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a `Blob`\r\n     * and returns the response as a `Blob`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a text string\r\n     * and returns the response as a string value.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and returns\r\n     *  the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with the response\r\n     * body as an `ArrayBuffer`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a `Blob` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a text string and returns\r\n     * the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type `Object`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with a response body in the requested type.\r\n     */\r\n    get<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a `Blob` and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a text stream and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type string.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse`,\r\n     * with the response body of type `Object`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse` for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    get<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and\r\n     * returns the response body as a JSON object.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     *\r\n     * @return An `Observable` of the response body as a JSON object.\r\n     */\r\n    get(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and returns\r\n     * the response body in a given type.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with a response body in the requested type.\r\n     */\r\n    get<T>(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer` and\r\n     * returns the response as an `ArrayBuffer`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a `Blob` and returns\r\n     * the response as a `Blob`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return  An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a text string and returns the response\r\n     * as a string value.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as an  `ArrayBuffer`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a `Blob` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a text string\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with the response body of type\r\n     * string.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object\r\n     * and returns the full HTTP event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with a response body of\r\n     * type `Object`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object and\r\n     * returns the full event stream.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     */\r\n    head<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full HTTP response.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a `Blob` and returns\r\n     * the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a blob.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as text stream\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type string.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type `Object`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body of the requested type.\r\n     */\r\n    head<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object and\r\n     * returns the response body as a JSON object.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a JSON object.\r\n     */\r\n    head(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object and returns\r\n     * the response in a given type.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body of the given type.\r\n     */\r\n    head<T>(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `JSONP` request for the given URL and name of the callback parameter.\r\n     *\r\n     * @param url The resource URL.\r\n     * @param callbackParam The callback function name.\r\n     *\r\n     * @return An `Observable` of the response object, with response body as an object.\r\n     */\r\n    jsonp(url: string, callbackParam: string): Observable<Object>;\r\n    /**\r\n     * Constructs a `JSONP` request for the given URL and name of the callback parameter.\r\n     *\r\n     * @param url The resource URL.\r\n     * @param callbackParam The callback function name.\r\n     *\r\n     * You must install a suitable interceptor, such as one provided by `HttpClientJsonpModule`.\r\n     * If no such interceptor is reached,\r\n     * then the `JSONP` request can be rejected by the configured backend.\r\n     *\r\n     * @return An `Observable` of the response object, with response body in the requested type.\r\n     */\r\n    jsonp<T>(url: string, callbackParam: string): Observable<T>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as an\r\n     * `ArrayBuffer` and returns the response as an `ArrayBuffer`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a `Blob` and returns\r\n     * the response as a `Blob`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a text string and\r\n     * returns a string value.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a `Blob` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a text string\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with the response body of type string.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request with the response\r\n     * body of type `Object`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    options<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a `Blob`\r\n     *  and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as text stream\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type string.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type `Object`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    options<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object and returns the\r\n     * response body as a JSON object.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a JSON object.\r\n     */\r\n    options(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object and returns the\r\n     * response in a given type.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with a response body of the given type.\r\n     */\r\n    options<T>(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer` and returns\r\n     * the response as an `ArrayBuffer`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a `Blob` and returns the response\r\n     * as a `Blob`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a text string and\r\n     * returns the response as a string value.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with a response body of type string.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer` and\r\n     *  returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a `Blob`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request, with the\r\n     * response body as `Blob`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a text string and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request, with a\r\n     * response body of type string.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with a response body of type `Object`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    patch<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a `Blob` and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a text stream and returns the\r\n     * full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body of type string.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the given type.\r\n     */\r\n    patch<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object and\r\n     * returns the response body as a JSON object.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a JSON object.\r\n     */\r\n    patch(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the response in a given type.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the given type.\r\n     */\r\n    patch<T>(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as an `ArrayBuffer` and returns\r\n     * an `ArrayBuffer`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a `Blob` and returns the\r\n     * response as a `Blob`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a text string and\r\n     * returns the response as a string value.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with a response body of type string.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as an `ArrayBuffer` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a `Blob`\r\n     * and returns the response in an observable of the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with the response body as `Blob`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a text string and returns the full\r\n     * event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of all `HttpEvent`s for the request,\r\n     * with a response body of type string.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a POST request that interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of all `HttpEvent`s for the request,\r\n     * with a response body of type `Object`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a POST request that interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    post<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a POST request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request, with the response body as an\r\n     * `ArrayBuffer`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a `Blob` and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a text stream and returns\r\n     * the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body of type string.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with a response body of type\r\n     * `Object`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a JSON object and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with a response body in the\r\n     * requested type.\r\n     */\r\n    post<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a\r\n     * JSON object and returns the response body as a JSON object.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a JSON object.\r\n     */\r\n    post(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a JSON object\r\n     * and returns an observable of the response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request, with a response body in the\r\n     * requested type.\r\n     */\r\n    post<T>(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an `ArrayBuffer` and returns the\r\n     * response as an `ArrayBuffer`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a `Blob` and returns\r\n     * the response as a `Blob`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a text string and\r\n     * returns the response as a string value.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with a response body of type string.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an `ArrayBuffer` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a `Blob` and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a text string and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with a response body\r\n     * of type string.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with a response body of\r\n     * type `Object`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a JSON object and returns the\r\n     * full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    put<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an\r\n     * `ArrayBuffer` and returns an observable of the full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with the response body as an\r\n     * `ArrayBuffer`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a `Blob` and returns the\r\n     * full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a text stream and returns the\r\n     * full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with a response body of type\r\n     * string.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a JSON object and returns the full HTTP\r\n     * response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with a response body\r\n     * of type 'Object`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an instance of the requested type and\r\n     * returns the full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    put<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a JSON object\r\n     * and returns an observable of JSON object.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response as a JSON object.\r\n     */\r\n    put(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an instance of the requested type\r\n     * and returns an observable of the requested type.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the requested type.\r\n     */\r\n    put<T>(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n}\r\n\r\n/**\r\n * Configures the [dependency injector](guide/glossary#injector) for `HttpClient`\r\n * with supporting services for JSONP.\r\n * Without this module, Jsonp requests reach the backend\r\n * with method JSONP, where they are rejected.\r\n *\r\n * You can add interceptors to the chain behind `HttpClient` by binding them to the\r\n * multiprovider for built-in [DI token](guide/glossary#di-token) `HTTP_INTERCEPTORS`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpClientJsonpModule {\r\n}\r\n\r\n/**\r\n * Configures the [dependency injector](guide/glossary#injector) for `HttpClient`\r\n * with supporting services for XSRF. Automatically imported by `HttpClientModule`.\r\n *\r\n * You can add interceptors to the chain behind `HttpClient` by binding them to the\r\n * multiprovider for built-in [DI token](guide/glossary#di-token) `HTTP_INTERCEPTORS`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpClientModule {\r\n}\r\n\r\n/**\r\n * Configures XSRF protection support for outgoing requests.\r\n *\r\n * For a server that supports a cookie-based XSRF protection system,\r\n * use directly to configure XSRF protection with the correct\r\n * cookie and header names.\r\n *\r\n * If no names are supplied, the default cookie name is `XSRF-TOKEN`\r\n * and the default header name is `X-XSRF-TOKEN`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpClientXsrfModule {\r\n    /**\r\n     * Disable the default XSRF protection.\r\n     */\r\n    static disable(): ModuleWithProviders<HttpClientXsrfModule>;\r\n    /**\r\n     * Configure XSRF protection.\r\n     * @param options An object that can specify either or both\r\n     * cookie name or header name.\r\n     * - Cookie name default is `XSRF-TOKEN`.\r\n     * - Header name default is `X-XSRF-TOKEN`.\r\n     *\r\n     */\r\n    static withOptions(options?: {\r\n        cookieName?: string;\r\n        headerName?: string;\r\n    }): ModuleWithProviders<HttpClientXsrfModule>;\r\n}\r\n\r\n/**\r\n * Http context stores arbitrary user defined values and ensures type safety without\r\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\r\n *\r\n * This context is mutable and is shared between cloned requests unless explicitly specified.\r\n *\r\n * @usageNotes\r\n *\r\n * ### Usage Example\r\n *\r\n * ```typescript\r\n * // inside cache.interceptors.ts\r\n * export const IS_CACHE_ENABLED = new HttpContextToken<boolean>(() => false);\r\n *\r\n * export class CacheInterceptor implements HttpInterceptor {\r\n *\r\n *   intercept(req: HttpRequest<any>, delegate: HttpHandler): Observable<HttpEvent<any>> {\r\n *     if (req.context.get(IS_CACHE_ENABLED) === true) {\r\n *       return ...;\r\n *     }\r\n *     return delegate.handle(req);\r\n *   }\r\n * }\r\n *\r\n * // inside a service\r\n *\r\n * this.httpClient.get('/api/weather', {\r\n *   context: new HttpContext().set(IS_CACHE_ENABLED, true)\r\n * }).subscribe(...);\r\n * ```\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpContext {\r\n    private readonly map;\r\n    /**\r\n     * Store a value in the context. If a value is already present it will be overwritten.\r\n     *\r\n     * @param token The reference to an instance of `HttpContextToken`.\r\n     * @param value The value to store.\r\n     *\r\n     * @returns A reference to itself for easy chaining.\r\n     */\r\n    set<T>(token: HttpContextToken<T>, value: T): HttpContext;\r\n    /**\r\n     * Retrieve the value associated with the given token.\r\n     *\r\n     * @param token The reference to an instance of `HttpContextToken`.\r\n     *\r\n     * @returns The stored value or default if one is defined.\r\n     */\r\n    get<T>(token: HttpContextToken<T>): T;\r\n    /**\r\n     * Delete the value associated with the given token.\r\n     *\r\n     * @param token The reference to an instance of `HttpContextToken`.\r\n     *\r\n     * @returns A reference to itself for easy chaining.\r\n     */\r\n    delete(token: HttpContextToken<unknown>): HttpContext;\r\n    /**\r\n     * @returns a list of tokens currently stored in the context.\r\n     */\r\n    keys(): IterableIterator<HttpContextToken<unknown>>;\r\n}\r\n\r\n\r\n/**\r\n * A token used to manipulate and access values stored in `HttpContext`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpContextToken<T> {\r\n    readonly defaultValue: () => T;\r\n    constructor(defaultValue: () => T);\r\n}\r\n\r\n/**\r\n * A download progress event.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpDownloadProgressEvent extends HttpProgressEvent {\r\n    type: HttpEventType.DownloadProgress;\r\n    /**\r\n     * The partial response body as downloaded so far.\r\n     *\r\n     * Only present if the responseType was `text`.\r\n     */\r\n    partialText?: string;\r\n}\r\n\r\n/**\r\n * A response that represents an error or failure, either from a\r\n * non-successful HTTP status, an error while executing the request,\r\n * or some other failure which occurred during the parsing of the response.\r\n *\r\n * Any error returned on the `Observable` response stream will be\r\n * wrapped in an `HttpErrorResponse` to provide additional context about\r\n * the state of the HTTP layer when the error occurred. The error property\r\n * will contain either a wrapped Error object or the error response returned\r\n * from the server.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpErrorResponse extends HttpResponseBase implements Error {\r\n    readonly name = \"HttpErrorResponse\";\r\n    readonly message: string;\r\n    readonly error: any | null;\r\n    /**\r\n     * Errors are never okay, even when the status code is in the 2xx success range.\r\n     */\r\n    readonly ok = false;\r\n    constructor(init: {\r\n        error?: any;\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    });\r\n}\r\n\r\n/**\r\n * Union type for all possible events on the response stream.\r\n *\r\n * Typed according to the expected type of the response.\r\n *\r\n * @publicApi\r\n */\r\nexport declare type HttpEvent<T> = HttpSentEvent | HttpHeaderResponse | HttpResponse<T> | HttpProgressEvent | HttpUserEvent<T>;\r\n\r\n/**\r\n * Type enumeration for the different kinds of `HttpEvent`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare enum HttpEventType {\r\n    /**\r\n     * The request was sent out over the wire.\r\n     */\r\n    Sent = 0,\r\n    /**\r\n     * An upload progress event was received.\r\n     */\r\n    UploadProgress = 1,\r\n    /**\r\n     * The response status code and headers were received.\r\n     */\r\n    ResponseHeader = 2,\r\n    /**\r\n     * A download progress event was received.\r\n     */\r\n    DownloadProgress = 3,\r\n    /**\r\n     * The full response including the body was received.\r\n     */\r\n    Response = 4,\r\n    /**\r\n     * A custom event from an interceptor or a backend.\r\n     */\r\n    User = 5\r\n}\r\n\r\n/**\r\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\r\n * `HttpResponse`.\r\n *\r\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\r\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\r\n * `HttpBackend`.\r\n *\r\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class HttpHandler {\r\n    abstract handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * A partial HTTP response which only includes the status and header data,\r\n * but no response body.\r\n *\r\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\r\n * event stream, only when progress events are requested.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpHeaderResponse extends HttpResponseBase {\r\n    /**\r\n     * Create a new `HttpHeaderResponse` with the given parameters.\r\n     */\r\n    constructor(init?: {\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    });\r\n    readonly type: HttpEventType.ResponseHeader;\r\n    /**\r\n     * Copy this `HttpHeaderResponse`, overriding its contents with the\r\n     * given parameter hash.\r\n     */\r\n    clone(update?: {\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    }): HttpHeaderResponse;\r\n}\r\n\r\n\r\n/**\r\n * Represents the header configuration options for an HTTP request.\r\n * Instances are immutable. Modifying methods return a cloned\r\n * instance with the change. The original object is never changed.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpHeaders {\r\n    /**\r\n     * Internal map of lowercase header names to values.\r\n     */\r\n    private headers;\r\n    /**\r\n     * Internal map of lowercased header names to the normalized\r\n     * form of the name (the form seen first).\r\n     */\r\n    private normalizedNames;\r\n    /**\r\n     * Complete the lazy initialization of this object (needed before reading).\r\n     */\r\n    private lazyInit;\r\n    /**\r\n     * Queued updates to be materialized the next initialization.\r\n     */\r\n    private lazyUpdate;\r\n    /**  Constructs a new HTTP header object with the given values.*/\r\n    constructor(headers?: string | {\r\n        [name: string]: string | string[];\r\n    });\r\n    /**\r\n     * Checks for existence of a given header.\r\n     *\r\n     * @param name The header name to check for existence.\r\n     *\r\n     * @returns True if the header exists, false otherwise.\r\n     */\r\n    has(name: string): boolean;\r\n    /**\r\n     * Retrieves the first value of a given header.\r\n     *\r\n     * @param name The header name.\r\n     *\r\n     * @returns The value string if the header exists, null otherwise\r\n     */\r\n    get(name: string): string | null;\r\n    /**\r\n     * Retrieves the names of the headers.\r\n     *\r\n     * @returns A list of header names.\r\n     */\r\n    keys(): string[];\r\n    /**\r\n     * Retrieves a list of values for a given header.\r\n     *\r\n     * @param name The header name from which to retrieve values.\r\n     *\r\n     * @returns A string of values if the header exists, null otherwise.\r\n     */\r\n    getAll(name: string): string[] | null;\r\n    /**\r\n     * Appends a new value to the existing set of values for a header\r\n     * and returns them in a clone of the original instance.\r\n     *\r\n     * @param name The header name for which to append the values.\r\n     * @param value The value to append.\r\n     *\r\n     * @returns A clone of the HTTP headers object with the value appended to the given header.\r\n     */\r\n    append(name: string, value: string | string[]): HttpHeaders;\r\n    /**\r\n     * Sets or modifies a value for a given header in a clone of the original instance.\r\n     * If the header already exists, its value is replaced with the given value\r\n     * in the returned object.\r\n     *\r\n     * @param name The header name.\r\n     * @param value The value or values to set or overide for the given header.\r\n     *\r\n     * @returns A clone of the HTTP headers object with the newly set header value.\r\n     */\r\n    set(name: string, value: string | string[]): HttpHeaders;\r\n    /**\r\n     * Deletes values for a given header in a clone of the original instance.\r\n     *\r\n     * @param name The header name.\r\n     * @param value The value or values to delete for the given header.\r\n     *\r\n     * @returns A clone of the HTTP headers object with the given value deleted.\r\n     */\r\n    delete(name: string, value?: string | string[]): HttpHeaders;\r\n    private maybeSetNormalizedName;\r\n    private init;\r\n    private copyFrom;\r\n    private clone;\r\n    private applyUpdate;\r\n}\r\n\r\n/**\r\n * Intercepts and handles an `HttpRequest` or `HttpResponse`.\r\n *\r\n * Most interceptors transform the outgoing request before passing it to the\r\n * next interceptor in the chain, by calling `next.handle(transformedReq)`.\r\n * An interceptor may transform the\r\n * response event stream as well, by applying additional RxJS operators on the stream\r\n * returned by `next.handle()`.\r\n *\r\n * More rarely, an interceptor may handle the request entirely,\r\n * and compose a new event stream instead of invoking `next.handle()`. This is an\r\n * acceptable behavior, but keep in mind that further interceptors will be skipped entirely.\r\n *\r\n * It is also rare but valid for an interceptor to return multiple responses on the\r\n * event stream for a single request.\r\n *\r\n * @publicApi\r\n *\r\n * @see [HTTP Guide](guide/http#intercepting-requests-and-responses)\r\n *\r\n * @usageNotes\r\n *\r\n * To use the same instance of `HttpInterceptors` for the entire app, import the `HttpClientModule`\r\n * only in your `AppModule`, and add the interceptors to the root application injector.\r\n * If you import `HttpClientModule` multiple times across different modules (for example, in lazy\r\n * loading modules), each import creates a new copy of the `HttpClientModule`, which overwrites the\r\n * interceptors provided in the root module.\r\n *\r\n */\r\nexport declare interface HttpInterceptor {\r\n    /**\r\n     * Identifies and handles a given HTTP request.\r\n     * @param req The outgoing request object to handle.\r\n     * @param next The next interceptor in the chain, or the backend\r\n     * if no interceptors remain in the chain.\r\n     * @returns An observable of the event stream.\r\n     */\r\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\r\n}\r\n\r\n\r\n/**\r\n * A codec for encoding and decoding parameters in URLs.\r\n *\r\n * Used by `HttpParams`.\r\n *\r\n * @publicApi\r\n **/\r\nexport declare interface HttpParameterCodec {\r\n    encodeKey(key: string): string;\r\n    encodeValue(value: string): string;\r\n    decodeKey(key: string): string;\r\n    decodeValue(value: string): string;\r\n}\r\n\r\n/**\r\n * An HTTP request/response body that represents serialized parameters,\r\n * per the MIME type `application/x-www-form-urlencoded`.\r\n *\r\n * This class is immutable; all mutation operations return a new instance.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpParams {\r\n    private map;\r\n    private encoder;\r\n    private updates;\r\n    private cloneFrom;\r\n    constructor(options?: HttpParamsOptions);\r\n    /**\r\n     * Reports whether the body includes one or more values for a given parameter.\r\n     * @param param The parameter name.\r\n     * @returns True if the parameter has one or more values,\r\n     * false if it has no value or is not present.\r\n     */\r\n    has(param: string): boolean;\r\n    /**\r\n     * Retrieves the first value for a parameter.\r\n     * @param param The parameter name.\r\n     * @returns The first value of the given parameter,\r\n     * or `null` if the parameter is not present.\r\n     */\r\n    get(param: string): string | null;\r\n    /**\r\n     * Retrieves all values for a  parameter.\r\n     * @param param The parameter name.\r\n     * @returns All values in a string array,\r\n     * or `null` if the parameter not present.\r\n     */\r\n    getAll(param: string): string[] | null;\r\n    /**\r\n     * Retrieves all the parameters for this body.\r\n     * @returns The parameter names in a string array.\r\n     */\r\n    keys(): string[];\r\n    /**\r\n     * Appends a new value to existing values for a parameter.\r\n     * @param param The parameter name.\r\n     * @param value The new value to add.\r\n     * @return A new body with the appended value.\r\n     */\r\n    append(param: string, value: string | number | boolean): HttpParams;\r\n    /**\r\n     * Constructs a new body with appended values for the given parameter name.\r\n     * @param params parameters and values\r\n     * @return A new body with the new value.\r\n     */\r\n    appendAll(params: {\r\n        [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n    }): HttpParams;\r\n    /**\r\n     * Replaces the value for a parameter.\r\n     * @param param The parameter name.\r\n     * @param value The new value.\r\n     * @return A new body with the new value.\r\n     */\r\n    set(param: string, value: string | number | boolean): HttpParams;\r\n    /**\r\n     * Removes a given value or all values from a parameter.\r\n     * @param param The parameter name.\r\n     * @param value The value to remove, if provided.\r\n     * @return A new body with the given value removed, or with all values\r\n     * removed if no value is specified.\r\n     */\r\n    delete(param: string, value?: string | number | boolean): HttpParams;\r\n    /**\r\n     * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\r\n     * separated by `&`s.\r\n     */\r\n    toString(): string;\r\n    private clone;\r\n    private init;\r\n}\r\n\r\n/**\r\n * Options used to construct an `HttpParams` instance.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpParamsOptions {\r\n    /**\r\n     * String representation of the HTTP parameters in URL-query-string format.\r\n     * Mutually exclusive with `fromObject`.\r\n     */\r\n    fromString?: string;\r\n    /** Object map of the HTTP parameters. Mutually exclusive with `fromString`. */\r\n    fromObject?: {\r\n        [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n    };\r\n    /** Encoding codec used to parse and serialize the parameters. */\r\n    encoder?: HttpParameterCodec;\r\n}\r\n\r\n/**\r\n * Base interface for progress events.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpProgressEvent {\r\n    /**\r\n     * Progress event type is either upload or download.\r\n     */\r\n    type: HttpEventType.DownloadProgress | HttpEventType.UploadProgress;\r\n    /**\r\n     * Number of bytes uploaded or downloaded.\r\n     */\r\n    loaded: number;\r\n    /**\r\n     * Total number of bytes to upload or download. Depending on the request or\r\n     * response, this may not be computable and thus may not be present.\r\n     */\r\n    total?: number;\r\n}\r\n\r\n/**\r\n * An outgoing HTTP request with an optional typed body.\r\n *\r\n * `HttpRequest` represents an outgoing request, including URL, method,\r\n * headers, body, and other request configuration options. Instances should be\r\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\r\n * method should be used.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpRequest<T> {\r\n    readonly url: string;\r\n    /**\r\n     * The request body, or `null` if one isn't set.\r\n     *\r\n     * Bodies are not enforced to be immutable, as they can include a reference to any\r\n     * user-defined data type. However, interceptors should take care to preserve\r\n     * idempotence by treating them as such.\r\n     */\r\n    readonly body: T | null;\r\n    /**\r\n     * Outgoing headers for this request.\r\n     */\r\n    readonly headers: HttpHeaders;\r\n    /**\r\n     * Shared and mutable context that can be used by interceptors\r\n     */\r\n    readonly context: HttpContext;\r\n    /**\r\n     * Whether this request should be made in a way that exposes progress events.\r\n     *\r\n     * Progress events are expensive (change detection runs on each event) and so\r\n     * they should only be requested if the consumer intends to monitor them.\r\n     */\r\n    readonly reportProgress: boolean;\r\n    /**\r\n     * Whether this request should be sent with outgoing credentials (cookies).\r\n     */\r\n    readonly withCredentials: boolean;\r\n    /**\r\n     * The expected response type of the server.\r\n     *\r\n     * This is used to parse the response appropriately before returning it to\r\n     * the requestee.\r\n     */\r\n    readonly responseType: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n    /**\r\n     * The outgoing HTTP request method.\r\n     */\r\n    readonly method: string;\r\n    /**\r\n     * Outgoing URL parameters.\r\n     *\r\n     * To pass a string representation of HTTP parameters in the URL-query-string format,\r\n     * the `HttpParamsOptions`' `fromString` may be used. For example:\r\n     *\r\n     * ```\r\n     * new HttpParams({fromString: 'angular=awesome'})\r\n     * ```\r\n     */\r\n    readonly params: HttpParams;\r\n    /**\r\n     * The outgoing URL with all URL parameters set.\r\n     */\r\n    readonly urlWithParams: string;\r\n    constructor(method: 'DELETE' | 'GET' | 'HEAD' | 'JSONP' | 'OPTIONS', url: string, init?: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n    });\r\n    constructor(method: 'POST' | 'PUT' | 'PATCH', url: string, body: T | null, init?: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n    });\r\n    constructor(method: string, url: string, body: T | null, init?: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n    });\r\n    /**\r\n     * Transform the free-form body into a serialized format suitable for\r\n     * transmission to the server.\r\n     */\r\n    serializeBody(): ArrayBuffer | Blob | FormData | string | null;\r\n    /**\r\n     * Examine the body and attempt to infer an appropriate MIME type\r\n     * for it.\r\n     *\r\n     * If no such type can be inferred, this method will return `null`.\r\n     */\r\n    detectContentTypeHeader(): string | null;\r\n    clone(): HttpRequest<T>;\r\n    clone(update: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n        body?: T | null;\r\n        method?: string;\r\n        url?: string;\r\n        setHeaders?: {\r\n            [name: string]: string | string[];\r\n        };\r\n        setParams?: {\r\n            [param: string]: string;\r\n        };\r\n    }): HttpRequest<T>;\r\n    clone<V>(update: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n        body?: V | null;\r\n        method?: string;\r\n        url?: string;\r\n        setHeaders?: {\r\n            [name: string]: string | string[];\r\n        };\r\n        setParams?: {\r\n            [param: string]: string;\r\n        };\r\n    }): HttpRequest<V>;\r\n}\r\n\r\n/**\r\n * A full HTTP response, including a typed response body (which may be `null`\r\n * if one was not returned).\r\n *\r\n * `HttpResponse` is a `HttpEvent` available on the response event\r\n * stream.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpResponse<T> extends HttpResponseBase {\r\n    /**\r\n     * The response body, or `null` if one was not returned.\r\n     */\r\n    readonly body: T | null;\r\n    /**\r\n     * Construct a new `HttpResponse`.\r\n     */\r\n    constructor(init?: {\r\n        body?: T | null;\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    });\r\n    readonly type: HttpEventType.Response;\r\n    clone(): HttpResponse<T>;\r\n    clone(update: {\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    }): HttpResponse<T>;\r\n    clone<V>(update: {\r\n        body?: V | null;\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    }): HttpResponse<V>;\r\n}\r\n\r\n/**\r\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class HttpResponseBase {\r\n    /**\r\n     * All response headers.\r\n     */\r\n    readonly headers: HttpHeaders;\r\n    /**\r\n     * Response status code.\r\n     */\r\n    readonly status: number;\r\n    /**\r\n     * Textual description of response status code, defaults to OK.\r\n     *\r\n     * Do not depend on this.\r\n     */\r\n    readonly statusText: string;\r\n    /**\r\n     * URL of the resource retrieved, or null if not available.\r\n     */\r\n    readonly url: string | null;\r\n    /**\r\n     * Whether the status code falls in the 2xx range.\r\n     */\r\n    readonly ok: boolean;\r\n    /**\r\n     * Type of the response, narrowed to either the full response or the header.\r\n     */\r\n    readonly type: HttpEventType.Response | HttpEventType.ResponseHeader;\r\n    /**\r\n     * Super-constructor for all responses.\r\n     *\r\n     * The single parameter accepted is an initialization hash. Any properties\r\n     * of the response passed there will override the default values.\r\n     */\r\n    constructor(init: {\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    }, defaultStatus?: number, defaultStatusText?: string);\r\n}\r\n\r\n/**\r\n * An event indicating that the request was sent to the server. Useful\r\n * when a request may be retried multiple times, to distinguish between\r\n * retries on the final event stream.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpSentEvent {\r\n    type: HttpEventType.Sent;\r\n}\r\n\r\n/**\r\n * Http status codes.\r\n * As per https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml\r\n * @publicApi\r\n */\r\nexport declare const enum HttpStatusCode {\r\n    Continue = 100,\r\n    SwitchingProtocols = 101,\r\n    Processing = 102,\r\n    EarlyHints = 103,\r\n    Ok = 200,\r\n    Created = 201,\r\n    Accepted = 202,\r\n    NonAuthoritativeInformation = 203,\r\n    NoContent = 204,\r\n    ResetContent = 205,\r\n    PartialContent = 206,\r\n    MultiStatus = 207,\r\n    AlreadyReported = 208,\r\n    ImUsed = 226,\r\n    MultipleChoices = 300,\r\n    MovedPermanently = 301,\r\n    Found = 302,\r\n    SeeOther = 303,\r\n    NotModified = 304,\r\n    UseProxy = 305,\r\n    Unused = 306,\r\n    TemporaryRedirect = 307,\r\n    PermanentRedirect = 308,\r\n    BadRequest = 400,\r\n    Unauthorized = 401,\r\n    PaymentRequired = 402,\r\n    Forbidden = 403,\r\n    NotFound = 404,\r\n    MethodNotAllowed = 405,\r\n    NotAcceptable = 406,\r\n    ProxyAuthenticationRequired = 407,\r\n    RequestTimeout = 408,\r\n    Conflict = 409,\r\n    Gone = 410,\r\n    LengthRequired = 411,\r\n    PreconditionFailed = 412,\r\n    PayloadTooLarge = 413,\r\n    UriTooLong = 414,\r\n    UnsupportedMediaType = 415,\r\n    RangeNotSatisfiable = 416,\r\n    ExpectationFailed = 417,\r\n    ImATeapot = 418,\r\n    MisdirectedRequest = 421,\r\n    UnprocessableEntity = 422,\r\n    Locked = 423,\r\n    FailedDependency = 424,\r\n    TooEarly = 425,\r\n    UpgradeRequired = 426,\r\n    PreconditionRequired = 428,\r\n    TooManyRequests = 429,\r\n    RequestHeaderFieldsTooLarge = 431,\r\n    UnavailableForLegalReasons = 451,\r\n    InternalServerError = 500,\r\n    NotImplemented = 501,\r\n    BadGateway = 502,\r\n    ServiceUnavailable = 503,\r\n    GatewayTimeout = 504,\r\n    HttpVersionNotSupported = 505,\r\n    VariantAlsoNegotiates = 506,\r\n    InsufficientStorage = 507,\r\n    LoopDetected = 508,\r\n    NotExtended = 510,\r\n    NetworkAuthenticationRequired = 511\r\n}\r\n\r\n/**\r\n * An upload progress event.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpUploadProgressEvent extends HttpProgressEvent {\r\n    type: HttpEventType.UploadProgress;\r\n}\r\n\r\n/**\r\n * Provides encoding and decoding of URL parameter and query-string values.\r\n *\r\n * Serializes and parses URL parameter keys and values to encode and decode them.\r\n * If you pass URL query parameters without encoding,\r\n * the query parameters can be misinterpreted at the receiving end.\r\n *\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpUrlEncodingCodec implements HttpParameterCodec {\r\n    /**\r\n     * Encodes a key name for a URL parameter or query-string.\r\n     * @param key The key name.\r\n     * @returns The encoded key name.\r\n     */\r\n    encodeKey(key: string): string;\r\n    /**\r\n     * Encodes the value of a URL parameter or query-string.\r\n     * @param value The value.\r\n     * @returns The encoded value.\r\n     */\r\n    encodeValue(value: string): string;\r\n    /**\r\n     * Decodes an encoded URL parameter or query-string key.\r\n     * @param key The encoded key name.\r\n     * @returns The decoded key name.\r\n     */\r\n    decodeKey(key: string): string;\r\n    /**\r\n     * Decodes an encoded URL parameter or query-string value.\r\n     * @param value The encoded value.\r\n     * @returns The decoded value.\r\n     */\r\n    decodeValue(value: string): string;\r\n}\r\n\r\n/**\r\n * A user-defined event.\r\n *\r\n * Grouping all custom events under this type ensures they will be handled\r\n * and forwarded by all implementations of interceptors.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpUserEvent<T> {\r\n    type: HttpEventType.User;\r\n}\r\n\r\n/**\r\n * Uses `XMLHttpRequest` to send requests to a backend server.\r\n * @see `HttpHandler`\r\n * @see `JsonpClientBackend`\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpXhrBackend implements HttpBackend {\r\n    private xhrFactory;\r\n    constructor(xhrFactory: XhrFactory_2);\r\n    /**\r\n     * Processes a request and returns a stream of response events.\r\n     * @param req The request object.\r\n     * @returns An observable of the response events.\r\n     */\r\n    handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * Retrieves the current XSRF token to use with the next outgoing request.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class HttpXsrfTokenExtractor {\r\n    /**\r\n     * Get the XSRF token to use with an outgoing request.\r\n     *\r\n     * Will be called for every request, so the token may change between requests.\r\n     */\r\n    abstract getToken(): string | null;\r\n}\r\n\r\n/**\r\n * Processes an `HttpRequest` with the JSONP method,\r\n * by performing JSONP style requests.\r\n * @see `HttpHandler`\r\n * @see `HttpXhrBackend`\r\n *\r\n * @publicApi\r\n */\r\nexport declare class JsonpClientBackend implements HttpBackend {\r\n    private callbackMap;\r\n    private document;\r\n    /**\r\n     * A resolved promise that can be used to schedule microtasks in the event handlers.\r\n     */\r\n    private readonly resolvedPromise;\r\n    constructor(callbackMap: ɵangular_packages_common_http_http_b, document: any);\r\n    /**\r\n     * Get the name of the next callback method, by incrementing the global `nextRequestId`.\r\n     */\r\n    private nextCallback;\r\n    /**\r\n     * Processes a JSONP request and returns an event stream of the results.\r\n     * @param req The request object.\r\n     * @returns An observable of the response events.\r\n     *\r\n     */\r\n    handle(req: HttpRequest<never>): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * Identifies requests with the method JSONP and\r\n * shifts them to the `JsonpClientBackend`.\r\n *\r\n * @see `HttpInterceptor`\r\n *\r\n * @publicApi\r\n */\r\nexport declare class JsonpInterceptor {\r\n    private jsonp;\r\n    constructor(jsonp: JsonpClientBackend);\r\n    /**\r\n     * Identifies and handles a given JSONP request.\r\n     * @param req The outgoing request object to handle.\r\n     * @param next The next interceptor in the chain, or the backend\r\n     * if no interceptors remain in the chain.\r\n     * @returns An observable of the event stream.\r\n     */\r\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * A wrapper around the `XMLHttpRequest` constructor.\r\n *\r\n * @publicApi\r\n * @see `XhrFactory`\r\n * @deprecated\r\n * `XhrFactory` has moved, please import `XhrFactory` from `@angular/common` instead.\r\n */\r\nexport declare type XhrFactory = XhrFactory_2;\r\n\r\n/**\r\n * A wrapper around the `XMLHttpRequest` constructor.\r\n *\r\n * @publicApi\r\n * @see `XhrFactory`\r\n * @deprecated\r\n * `XhrFactory` has moved, please import `XhrFactory` from `@angular/common` instead.\r\n */\r\nexport declare const XhrFactory: typeof XhrFactory_2;\r\n\r\nexport declare class ɵangular_packages_common_http_http_a implements HttpInterceptor {\r\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * DI token/abstract type representing a map of JSONP callbacks.\r\n *\r\n * In the browser, this should always be the `window` object.\r\n *\r\n *\r\n */\r\nexport declare abstract class ɵangular_packages_common_http_http_b {\r\n    [key: string]: (data: any) => void;\r\n}\r\n\r\n/**\r\n * Factory function that determines where to store JSONP callbacks.\r\n *\r\n * Ordinarily JSONP callbacks are stored on the `window` object, but this may not exist\r\n * in test environments. In that case, callbacks are stored on an anonymous object instead.\r\n *\r\n *\r\n */\r\nexport declare function ɵangular_packages_common_http_http_c(): Object;\r\n\r\nexport declare const ɵangular_packages_common_http_http_d: InjectionToken<string>;\r\n\r\nexport declare const ɵangular_packages_common_http_http_e: InjectionToken<string>;\r\n\r\n/**\r\n * `HttpXsrfTokenExtractor` which retrieves the token from a cookie.\r\n */\r\nexport declare class ɵangular_packages_common_http_http_f implements HttpXsrfTokenExtractor {\r\n    private doc;\r\n    private platform;\r\n    private cookieName;\r\n    private lastCookieString;\r\n    private lastToken;\r\n    constructor(doc: any, platform: string, cookieName: string);\r\n    getToken(): string | null;\r\n}\r\n\r\n/**\r\n * `HttpInterceptor` which adds an XSRF token to eligible outgoing requests.\r\n */\r\nexport declare class ɵangular_packages_common_http_http_g implements HttpInterceptor {\r\n    private tokenService;\r\n    private headerName;\r\n    constructor(tokenService: HttpXsrfTokenExtractor, headerName: string);\r\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * An injectable `HttpHandler` that applies multiple interceptors\r\n * to a request before passing it to the given `HttpBackend`.\r\n *\r\n * The interceptors are loaded lazily from the injector, to allow\r\n * interceptors to themselves inject classes depending indirectly\r\n * on `HttpInterceptingHandler` itself.\r\n * @see `HttpInterceptor`\r\n */\r\nexport declare class ɵHttpInterceptingHandler implements HttpHandler {\r\n    private backend;\r\n    private injector;\r\n    private chain;\r\n    constructor(backend: HttpBackend, injector: Injector);\r\n    handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;\r\n}\r\n\r\nexport { }\r\n"]}
+{"version":3,"file":"http.d.ts","sources":["http.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA","sourcesContent":["/**\n * @license Angular v12.2.13\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { InjectionToken } from '@angular/core';\r\nimport { Injector } from '@angular/core';\r\nimport { ModuleWithProviders } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { XhrFactory as XhrFactory_2 } from '@angular/common';\r\n\r\n/**\r\n * A multi-provider token that represents the array of registered\r\n * `HttpInterceptor` objects.\r\n *\r\n * @publicApi\r\n */\r\nexport declare const HTTP_INTERCEPTORS: InjectionToken<HttpInterceptor[]>;\r\n\r\n/**\r\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\r\n *\r\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\r\n *\r\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\r\n * through the interceptor chain.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class HttpBackend implements HttpHandler {\r\n    abstract handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * Performs HTTP requests.\r\n * This service is available as an injectable class, with methods to perform HTTP requests.\r\n * Each request method has multiple signatures, and the return type varies based on\r\n * the signature that is called (mainly the values of `observe` and `responseType`).\r\n *\r\n * Note that the `responseType` *options* value is a String that identifies the\r\n * single data type of the response.\r\n * A single overload version of the method handles each response type.\r\n * The value of `responseType` cannot be a union, as the combined signature could imply.\r\n\r\n *\r\n * @usageNotes\r\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\r\n *\r\n * ### HTTP Request Example\r\n *\r\n * ```\r\n *  // GET heroes whose name contains search term\r\n * searchHeroes(term: string): observable<Hero[]>{\r\n *\r\n *  const params = new HttpParams({fromString: 'name=term'});\r\n *    return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\r\n * }\r\n * ```\r\n *\r\n * Alternatively, the parameter string can be used without invoking HttpParams\r\n * by directly joining to the URL.\r\n * ```\r\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\r\n * ```\r\n *\r\n *\r\n * ### JSONP Example\r\n * ```\r\n * requestJsonp(url, callback = 'callback') {\r\n *  return this.httpClient.jsonp(this.heroesURL, callback);\r\n * }\r\n * ```\r\n *\r\n * ### PATCH Example\r\n * ```\r\n * // PATCH one of the heroes' name\r\n * patchHero (id: number, heroName: string): Observable<{}> {\r\n * const url = `${this.heroesUrl}/${id}`;   // PATCH api/heroes/42\r\n *  return this.httpClient.patch(url, {name: heroName}, httpOptions)\r\n *    .pipe(catchError(this.handleError('patchHero')));\r\n * }\r\n * ```\r\n *\r\n * @see [HTTP Guide](guide/http)\r\n * @see [HTTP Request](api/common/http/HttpRequest)\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpClient {\r\n    private handler;\r\n    constructor(handler: HttpHandler);\r\n    /**\r\n     * Sends an `HttpRequest` and returns a stream of `HttpEvent`s.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a stream of `HttpEvent`s.\r\n     */\r\n    request<R>(req: HttpRequest<any>): Observable<HttpEvent<R>>;\r\n    /**\r\n     * Constructs a request that interprets the body as an `ArrayBuffer` and returns the response in\r\n     * an `ArrayBuffer`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a request that interprets the body as a blob and returns\r\n     * the response as a blob.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type `Blob`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a request that interprets the body as a text string and\r\n     * returns a string value.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a request that interprets the body as an `ArrayBuffer` and returns the\r\n     * the full event stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an array of `HttpEvent`s for\r\n     * the request.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        observe: 'events';\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a request that interprets the body as a `Blob` and returns\r\n     * the full event stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body of type `Blob`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a text string and returns the full event\r\n     * stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body of type string.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the  request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body of type `Object`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        observe: 'events';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<any>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body of type `R`.\r\n     */\r\n    request<R>(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        observe: 'events';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<R>>;\r\n    /**\r\n     * Constructs a request which interprets the body as an `ArrayBuffer`\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body as an `ArrayBuffer`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a `Blob` and returns the full `HttpResponse`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `Blob`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a text stream and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the HTTP response, with the response body of type string.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse`,\r\n     * with the response body of type `Object`.\r\n     */\r\n    request(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        observe: 'response';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns\r\n     * the full `HttpResponse` with the response body in the requested type.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return  An `Observable` of the full `HttpResponse`, with the response body of type `R`.\r\n     */\r\n    request<R>(method: string, url: string, options: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        observe: 'response';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<R>>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object and returns the full\r\n     * `HttpResponse` as a JSON object.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `Object`.\r\n     */\r\n    request(method: string, url: string, options?: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        reportProgress?: boolean;\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a request which interprets the body as a JSON object\r\n     * with the response body of the requested type.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `R`.\r\n     */\r\n    request<R>(method: string, url: string, options?: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        responseType?: 'json';\r\n        reportProgress?: boolean;\r\n        withCredentials?: boolean;\r\n    }): Observable<R>;\r\n    /**\r\n     * Constructs a request where response type and requested observable are not known statically.\r\n     *\r\n     * @param method  The HTTP method.\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the requested response, with body of type `any`.\r\n     */\r\n    request(method: string, url: string, options?: {\r\n        body?: any;\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        observe?: 'body' | 'events' | 'response';\r\n        reportProgress?: boolean;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<any>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the response as an `ArrayBuffer`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return  An `Observable` of the response body as an `ArrayBuffer`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a `Blob` and returns\r\n     * the response as a `Blob`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response body as a `Blob`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a text string and returns\r\n     * a string.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with response body as an `ArrayBuffer`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a `Blob`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request, with the response body as a\r\n     * `Blob`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a text string\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with the response\r\n     * body of type string.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with response body of\r\n     * type `Object`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `DELETE`request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request, with a response\r\n     * body in the requested type.\r\n     */\r\n    delete<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | (string | number | boolean)[];\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer` and returns\r\n     *  the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse`, with the response body as an `ArrayBuffer`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a `Blob` and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `Blob`.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a text stream and\r\n     *  returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse`, with the response body of type string.\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `DELETE` request the interprets the body as a JSON object and returns\r\n     * the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of type `Object`.\r\n     *\r\n     */\r\n    delete(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with the response body of the requested type.\r\n     */\r\n    delete<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `DELETE` request that interprets the body as a JSON object and\r\n     * returns the response body as a JSON object.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type `Object`.\r\n     */\r\n    delete(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a DELETE request that interprets the body as a JSON object and returns\r\n     * the response in a given type.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with response body in the requested type.\r\n     */\r\n    delete<T>(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n        body?: any | null;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and returns the\r\n     * response in an `ArrayBuffer`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a `Blob`\r\n     * and returns the response as a `Blob`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a text string\r\n     * and returns the response as a string value.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and returns\r\n     *  the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with the response\r\n     * body as an `ArrayBuffer`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a `Blob` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a text string and returns\r\n     * the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type `Object`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with a response body in the requested type.\r\n     */\r\n    get<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a `Blob` and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a text stream and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type string.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse`,\r\n     * with the response body of type `Object`.\r\n     */\r\n    get(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the full `HttpResponse` for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    get<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and\r\n     * returns the response body as a JSON object.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     *\r\n     * @return An `Observable` of the response body as a JSON object.\r\n     */\r\n    get(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `GET` request that interprets the body as a JSON object and returns\r\n     * the response body in a given type.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with a response body in the requested type.\r\n     */\r\n    get<T>(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer` and\r\n     * returns the response as an `ArrayBuffer`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a `Blob` and returns\r\n     * the response as a `Blob`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return  An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a text string and returns the response\r\n     * as a string value.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as an  `ArrayBuffer`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a `Blob` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a text string\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with the response body of type\r\n     * string.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object\r\n     * and returns the full HTTP event stream.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with a response body of\r\n     * type `Object`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object and\r\n     * returns the full event stream.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     */\r\n    head<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full HTTP response.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a `Blob` and returns\r\n     * the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a blob.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as text stream\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type string.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type `Object`.\r\n     */\r\n    head(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body of the requested type.\r\n     */\r\n    head<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object and\r\n     * returns the response body as a JSON object.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a JSON object.\r\n     */\r\n    head(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `HEAD` request that interprets the body as a JSON object and returns\r\n     * the response in a given type.\r\n     *\r\n     * @param url     The endpoint URL.\r\n     * @param options The HTTP options to send with the request.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body of the given type.\r\n     */\r\n    head<T>(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `JSONP` request for the given URL and name of the callback parameter.\r\n     *\r\n     * @param url The resource URL.\r\n     * @param callbackParam The callback function name.\r\n     *\r\n     * @return An `Observable` of the response object, with response body as an object.\r\n     */\r\n    jsonp(url: string, callbackParam: string): Observable<Object>;\r\n    /**\r\n     * Constructs a `JSONP` request for the given URL and name of the callback parameter.\r\n     *\r\n     * @param url The resource URL.\r\n     * @param callbackParam The callback function name.\r\n     *\r\n     * You must install a suitable interceptor, such as one provided by `HttpClientJsonpModule`.\r\n     * If no such interceptor is reached,\r\n     * then the `JSONP` request can be rejected by the configured backend.\r\n     *\r\n     * @return An `Observable` of the response object, with response body in the requested type.\r\n     */\r\n    jsonp<T>(url: string, callbackParam: string): Observable<T>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as an\r\n     * `ArrayBuffer` and returns the response as an `ArrayBuffer`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a `Blob` and returns\r\n     * the response as a `Blob`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a text string and\r\n     * returns a string value.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body of type string.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a `Blob` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a text string\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with the response body of type string.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request with the response\r\n     * body of type `Object`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    options<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a `Blob`\r\n     *  and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as text stream\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type string.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body of type `Object`.\r\n     */\r\n    options(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object and\r\n     * returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    options<T>(url: string, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object and returns the\r\n     * response body as a JSON object.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a JSON object.\r\n     */\r\n    options(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs an `OPTIONS` request that interprets the body as a JSON object and returns the\r\n     * response in a given type.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse`, with a response body of the given type.\r\n     */\r\n    options<T>(url: string, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer` and returns\r\n     * the response as an `ArrayBuffer`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a `Blob` and returns the response\r\n     * as a `Blob`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a text string and\r\n     * returns the response as a string value.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with a response body of type string.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer` and\r\n     *  returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a `Blob`\r\n     *  and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request, with the\r\n     * response body as `Blob`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a text string and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request, with a\r\n     * response body of type string.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with a response body of type `Object`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of all the `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    patch<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a `Blob` and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a text stream and returns the\r\n     * full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body of type string.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    patch(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the given type.\r\n     */\r\n    patch<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object and\r\n     * returns the response body as a JSON object.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a JSON object.\r\n     */\r\n    patch(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `PATCH` request that interprets the body as a JSON object\r\n     * and returns the response in a given type.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to edit.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the given type.\r\n     */\r\n    patch<T>(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as an `ArrayBuffer` and returns\r\n     * an `ArrayBuffer`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options.\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a `Blob` and returns the\r\n     * response as a `Blob`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a text string and\r\n     * returns the response as a string value.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with a response body of type string.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as an `ArrayBuffer` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a `Blob`\r\n     * and returns the response in an observable of the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with the response body as `Blob`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a text string and returns the full\r\n     * event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of all `HttpEvent`s for the request,\r\n     * with a response body of type string.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a POST request that interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of all `HttpEvent`s for the request,\r\n     * with a response body of type `Object`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a POST request that interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    post<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a POST request that interprets the body as an `ArrayBuffer`\r\n     *  and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request, with the response body as an\r\n     * `ArrayBuffer`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a `Blob` and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a text stream and returns\r\n     * the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body of type string.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a JSON object\r\n     * and returns the full `HttpResponse`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with a response body of type\r\n     * `Object`.\r\n     */\r\n    post(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a JSON object and returns the full\r\n     * `HttpResponse`.\r\n     *\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with a response body in the\r\n     * requested type.\r\n     */\r\n    post<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a\r\n     * JSON object and returns the response body as a JSON object.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a JSON object.\r\n     */\r\n    post(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `POST` request that interprets the body as a JSON object\r\n     * and returns an observable of the response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The content to replace with.\r\n     * @param options HTTP options\r\n     *\r\n     * @return  An `Observable` of the `HttpResponse` for the request, with a response body in the\r\n     * requested type.\r\n     */\r\n    post<T>(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an `ArrayBuffer` and returns the\r\n     * response as an `ArrayBuffer`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<ArrayBuffer>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a `Blob` and returns\r\n     * the response as a `Blob`.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with the response body as a `Blob`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<Blob>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a text string and\r\n     * returns the response as a string value.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response, with a response body of type string.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<string>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an `ArrayBuffer` and\r\n     * returns the full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as an `ArrayBuffer`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a `Blob` and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Blob>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a text string and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with a response body\r\n     * of type string.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<string>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a JSON object and returns the full event\r\n     * stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request, with a response body of\r\n     * type `Object`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<Object>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a JSON object and returns the\r\n     * full event stream.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of all `HttpEvent`s for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    put<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'events';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpEvent<T>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an\r\n     * `ArrayBuffer` and returns an observable of the full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with the response body as an\r\n     * `ArrayBuffer`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'arraybuffer';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<ArrayBuffer>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a `Blob` and returns the\r\n     * full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with the response body as a `Blob`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'blob';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Blob>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a text stream and returns the\r\n     * full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with a response body of type\r\n     * string.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType: 'text';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<string>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a JSON object and returns the full HTTP\r\n     * response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request, with a response body\r\n     * of type 'Object`.\r\n     */\r\n    put(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<Object>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an instance of the requested type and\r\n     * returns the full HTTP response.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the `HttpResponse` for the request,\r\n     * with a response body in the requested type.\r\n     */\r\n    put<T>(url: string, body: any | null, options: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        observe: 'response';\r\n        context?: HttpContext;\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<HttpResponse<T>>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as a JSON object\r\n     * and returns an observable of JSON object.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the response as a JSON object.\r\n     */\r\n    put(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<Object>;\r\n    /**\r\n     * Constructs a `PUT` request that interprets the body as an instance of the requested type\r\n     * and returns an observable of the requested type.\r\n     *\r\n     * @param url The endpoint URL.\r\n     * @param body The resources to add/update.\r\n     * @param options HTTP options\r\n     *\r\n     * @return An `Observable` of the requested type.\r\n     */\r\n    put<T>(url: string, body: any | null, options?: {\r\n        headers?: HttpHeaders | {\r\n            [header: string]: string | string[];\r\n        };\r\n        context?: HttpContext;\r\n        observe?: 'body';\r\n        params?: HttpParams | {\r\n            [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n        };\r\n        reportProgress?: boolean;\r\n        responseType?: 'json';\r\n        withCredentials?: boolean;\r\n    }): Observable<T>;\r\n}\r\n\r\n/**\r\n * Configures the [dependency injector](guide/glossary#injector) for `HttpClient`\r\n * with supporting services for JSONP.\r\n * Without this module, Jsonp requests reach the backend\r\n * with method JSONP, where they are rejected.\r\n *\r\n * You can add interceptors to the chain behind `HttpClient` by binding them to the\r\n * multiprovider for built-in [DI token](guide/glossary#di-token) `HTTP_INTERCEPTORS`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpClientJsonpModule {\r\n}\r\n\r\n/**\r\n * Configures the [dependency injector](guide/glossary#injector) for `HttpClient`\r\n * with supporting services for XSRF. Automatically imported by `HttpClientModule`.\r\n *\r\n * You can add interceptors to the chain behind `HttpClient` by binding them to the\r\n * multiprovider for built-in [DI token](guide/glossary#di-token) `HTTP_INTERCEPTORS`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpClientModule {\r\n}\r\n\r\n/**\r\n * Configures XSRF protection support for outgoing requests.\r\n *\r\n * For a server that supports a cookie-based XSRF protection system,\r\n * use directly to configure XSRF protection with the correct\r\n * cookie and header names.\r\n *\r\n * If no names are supplied, the default cookie name is `XSRF-TOKEN`\r\n * and the default header name is `X-XSRF-TOKEN`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpClientXsrfModule {\r\n    /**\r\n     * Disable the default XSRF protection.\r\n     */\r\n    static disable(): ModuleWithProviders<HttpClientXsrfModule>;\r\n    /**\r\n     * Configure XSRF protection.\r\n     * @param options An object that can specify either or both\r\n     * cookie name or header name.\r\n     * - Cookie name default is `XSRF-TOKEN`.\r\n     * - Header name default is `X-XSRF-TOKEN`.\r\n     *\r\n     */\r\n    static withOptions(options?: {\r\n        cookieName?: string;\r\n        headerName?: string;\r\n    }): ModuleWithProviders<HttpClientXsrfModule>;\r\n}\r\n\r\n/**\r\n * Http context stores arbitrary user defined values and ensures type safety without\r\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\r\n *\r\n * This context is mutable and is shared between cloned requests unless explicitly specified.\r\n *\r\n * @usageNotes\r\n *\r\n * ### Usage Example\r\n *\r\n * ```typescript\r\n * // inside cache.interceptors.ts\r\n * export const IS_CACHE_ENABLED = new HttpContextToken<boolean>(() => false);\r\n *\r\n * export class CacheInterceptor implements HttpInterceptor {\r\n *\r\n *   intercept(req: HttpRequest<any>, delegate: HttpHandler): Observable<HttpEvent<any>> {\r\n *     if (req.context.get(IS_CACHE_ENABLED) === true) {\r\n *       return ...;\r\n *     }\r\n *     return delegate.handle(req);\r\n *   }\r\n * }\r\n *\r\n * // inside a service\r\n *\r\n * this.httpClient.get('/api/weather', {\r\n *   context: new HttpContext().set(IS_CACHE_ENABLED, true)\r\n * }).subscribe(...);\r\n * ```\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpContext {\r\n    private readonly map;\r\n    /**\r\n     * Store a value in the context. If a value is already present it will be overwritten.\r\n     *\r\n     * @param token The reference to an instance of `HttpContextToken`.\r\n     * @param value The value to store.\r\n     *\r\n     * @returns A reference to itself for easy chaining.\r\n     */\r\n    set<T>(token: HttpContextToken<T>, value: T): HttpContext;\r\n    /**\r\n     * Retrieve the value associated with the given token.\r\n     *\r\n     * @param token The reference to an instance of `HttpContextToken`.\r\n     *\r\n     * @returns The stored value or default if one is defined.\r\n     */\r\n    get<T>(token: HttpContextToken<T>): T;\r\n    /**\r\n     * Delete the value associated with the given token.\r\n     *\r\n     * @param token The reference to an instance of `HttpContextToken`.\r\n     *\r\n     * @returns A reference to itself for easy chaining.\r\n     */\r\n    delete(token: HttpContextToken<unknown>): HttpContext;\r\n    /**\r\n     * @returns a list of tokens currently stored in the context.\r\n     */\r\n    keys(): IterableIterator<HttpContextToken<unknown>>;\r\n}\r\n\r\n\r\n/**\r\n * A token used to manipulate and access values stored in `HttpContext`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpContextToken<T> {\r\n    readonly defaultValue: () => T;\r\n    constructor(defaultValue: () => T);\r\n}\r\n\r\n/**\r\n * A download progress event.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpDownloadProgressEvent extends HttpProgressEvent {\r\n    type: HttpEventType.DownloadProgress;\r\n    /**\r\n     * The partial response body as downloaded so far.\r\n     *\r\n     * Only present if the responseType was `text`.\r\n     */\r\n    partialText?: string;\r\n}\r\n\r\n/**\r\n * A response that represents an error or failure, either from a\r\n * non-successful HTTP status, an error while executing the request,\r\n * or some other failure which occurred during the parsing of the response.\r\n *\r\n * Any error returned on the `Observable` response stream will be\r\n * wrapped in an `HttpErrorResponse` to provide additional context about\r\n * the state of the HTTP layer when the error occurred. The error property\r\n * will contain either a wrapped Error object or the error response returned\r\n * from the server.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpErrorResponse extends HttpResponseBase implements Error {\r\n    readonly name = \"HttpErrorResponse\";\r\n    readonly message: string;\r\n    readonly error: any | null;\r\n    /**\r\n     * Errors are never okay, even when the status code is in the 2xx success range.\r\n     */\r\n    readonly ok = false;\r\n    constructor(init: {\r\n        error?: any;\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    });\r\n}\r\n\r\n/**\r\n * Union type for all possible events on the response stream.\r\n *\r\n * Typed according to the expected type of the response.\r\n *\r\n * @publicApi\r\n */\r\nexport declare type HttpEvent<T> = HttpSentEvent | HttpHeaderResponse | HttpResponse<T> | HttpProgressEvent | HttpUserEvent<T>;\r\n\r\n/**\r\n * Type enumeration for the different kinds of `HttpEvent`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare enum HttpEventType {\r\n    /**\r\n     * The request was sent out over the wire.\r\n     */\r\n    Sent = 0,\r\n    /**\r\n     * An upload progress event was received.\r\n     */\r\n    UploadProgress = 1,\r\n    /**\r\n     * The response status code and headers were received.\r\n     */\r\n    ResponseHeader = 2,\r\n    /**\r\n     * A download progress event was received.\r\n     */\r\n    DownloadProgress = 3,\r\n    /**\r\n     * The full response including the body was received.\r\n     */\r\n    Response = 4,\r\n    /**\r\n     * A custom event from an interceptor or a backend.\r\n     */\r\n    User = 5\r\n}\r\n\r\n/**\r\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\r\n * `HttpResponse`.\r\n *\r\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\r\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\r\n * `HttpBackend`.\r\n *\r\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class HttpHandler {\r\n    abstract handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * A partial HTTP response which only includes the status and header data,\r\n * but no response body.\r\n *\r\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\r\n * event stream, only when progress events are requested.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpHeaderResponse extends HttpResponseBase {\r\n    /**\r\n     * Create a new `HttpHeaderResponse` with the given parameters.\r\n     */\r\n    constructor(init?: {\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    });\r\n    readonly type: HttpEventType.ResponseHeader;\r\n    /**\r\n     * Copy this `HttpHeaderResponse`, overriding its contents with the\r\n     * given parameter hash.\r\n     */\r\n    clone(update?: {\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    }): HttpHeaderResponse;\r\n}\r\n\r\n\r\n/**\r\n * Represents the header configuration options for an HTTP request.\r\n * Instances are immutable. Modifying methods return a cloned\r\n * instance with the change. The original object is never changed.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpHeaders {\r\n    /**\r\n     * Internal map of lowercase header names to values.\r\n     */\r\n    private headers;\r\n    /**\r\n     * Internal map of lowercased header names to the normalized\r\n     * form of the name (the form seen first).\r\n     */\r\n    private normalizedNames;\r\n    /**\r\n     * Complete the lazy initialization of this object (needed before reading).\r\n     */\r\n    private lazyInit;\r\n    /**\r\n     * Queued updates to be materialized the next initialization.\r\n     */\r\n    private lazyUpdate;\r\n    /**  Constructs a new HTTP header object with the given values.*/\r\n    constructor(headers?: string | {\r\n        [name: string]: string | string[];\r\n    });\r\n    /**\r\n     * Checks for existence of a given header.\r\n     *\r\n     * @param name The header name to check for existence.\r\n     *\r\n     * @returns True if the header exists, false otherwise.\r\n     */\r\n    has(name: string): boolean;\r\n    /**\r\n     * Retrieves the first value of a given header.\r\n     *\r\n     * @param name The header name.\r\n     *\r\n     * @returns The value string if the header exists, null otherwise\r\n     */\r\n    get(name: string): string | null;\r\n    /**\r\n     * Retrieves the names of the headers.\r\n     *\r\n     * @returns A list of header names.\r\n     */\r\n    keys(): string[];\r\n    /**\r\n     * Retrieves a list of values for a given header.\r\n     *\r\n     * @param name The header name from which to retrieve values.\r\n     *\r\n     * @returns A string of values if the header exists, null otherwise.\r\n     */\r\n    getAll(name: string): string[] | null;\r\n    /**\r\n     * Appends a new value to the existing set of values for a header\r\n     * and returns them in a clone of the original instance.\r\n     *\r\n     * @param name The header name for which to append the values.\r\n     * @param value The value to append.\r\n     *\r\n     * @returns A clone of the HTTP headers object with the value appended to the given header.\r\n     */\r\n    append(name: string, value: string | string[]): HttpHeaders;\r\n    /**\r\n     * Sets or modifies a value for a given header in a clone of the original instance.\r\n     * If the header already exists, its value is replaced with the given value\r\n     * in the returned object.\r\n     *\r\n     * @param name The header name.\r\n     * @param value The value or values to set or overide for the given header.\r\n     *\r\n     * @returns A clone of the HTTP headers object with the newly set header value.\r\n     */\r\n    set(name: string, value: string | string[]): HttpHeaders;\r\n    /**\r\n     * Deletes values for a given header in a clone of the original instance.\r\n     *\r\n     * @param name The header name.\r\n     * @param value The value or values to delete for the given header.\r\n     *\r\n     * @returns A clone of the HTTP headers object with the given value deleted.\r\n     */\r\n    delete(name: string, value?: string | string[]): HttpHeaders;\r\n    private maybeSetNormalizedName;\r\n    private init;\r\n    private copyFrom;\r\n    private clone;\r\n    private applyUpdate;\r\n}\r\n\r\n/**\r\n * Intercepts and handles an `HttpRequest` or `HttpResponse`.\r\n *\r\n * Most interceptors transform the outgoing request before passing it to the\r\n * next interceptor in the chain, by calling `next.handle(transformedReq)`.\r\n * An interceptor may transform the\r\n * response event stream as well, by applying additional RxJS operators on the stream\r\n * returned by `next.handle()`.\r\n *\r\n * More rarely, an interceptor may handle the request entirely,\r\n * and compose a new event stream instead of invoking `next.handle()`. This is an\r\n * acceptable behavior, but keep in mind that further interceptors will be skipped entirely.\r\n *\r\n * It is also rare but valid for an interceptor to return multiple responses on the\r\n * event stream for a single request.\r\n *\r\n * @publicApi\r\n *\r\n * @see [HTTP Guide](guide/http#intercepting-requests-and-responses)\r\n *\r\n * @usageNotes\r\n *\r\n * To use the same instance of `HttpInterceptors` for the entire app, import the `HttpClientModule`\r\n * only in your `AppModule`, and add the interceptors to the root application injector.\r\n * If you import `HttpClientModule` multiple times across different modules (for example, in lazy\r\n * loading modules), each import creates a new copy of the `HttpClientModule`, which overwrites the\r\n * interceptors provided in the root module.\r\n *\r\n */\r\nexport declare interface HttpInterceptor {\r\n    /**\r\n     * Identifies and handles a given HTTP request.\r\n     * @param req The outgoing request object to handle.\r\n     * @param next The next interceptor in the chain, or the backend\r\n     * if no interceptors remain in the chain.\r\n     * @returns An observable of the event stream.\r\n     */\r\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\r\n}\r\n\r\n\r\n/**\r\n * A codec for encoding and decoding parameters in URLs.\r\n *\r\n * Used by `HttpParams`.\r\n *\r\n * @publicApi\r\n **/\r\nexport declare interface HttpParameterCodec {\r\n    encodeKey(key: string): string;\r\n    encodeValue(value: string): string;\r\n    decodeKey(key: string): string;\r\n    decodeValue(value: string): string;\r\n}\r\n\r\n/**\r\n * An HTTP request/response body that represents serialized parameters,\r\n * per the MIME type `application/x-www-form-urlencoded`.\r\n *\r\n * This class is immutable; all mutation operations return a new instance.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpParams {\r\n    private map;\r\n    private encoder;\r\n    private updates;\r\n    private cloneFrom;\r\n    constructor(options?: HttpParamsOptions);\r\n    /**\r\n     * Reports whether the body includes one or more values for a given parameter.\r\n     * @param param The parameter name.\r\n     * @returns True if the parameter has one or more values,\r\n     * false if it has no value or is not present.\r\n     */\r\n    has(param: string): boolean;\r\n    /**\r\n     * Retrieves the first value for a parameter.\r\n     * @param param The parameter name.\r\n     * @returns The first value of the given parameter,\r\n     * or `null` if the parameter is not present.\r\n     */\r\n    get(param: string): string | null;\r\n    /**\r\n     * Retrieves all values for a  parameter.\r\n     * @param param The parameter name.\r\n     * @returns All values in a string array,\r\n     * or `null` if the parameter not present.\r\n     */\r\n    getAll(param: string): string[] | null;\r\n    /**\r\n     * Retrieves all the parameters for this body.\r\n     * @returns The parameter names in a string array.\r\n     */\r\n    keys(): string[];\r\n    /**\r\n     * Appends a new value to existing values for a parameter.\r\n     * @param param The parameter name.\r\n     * @param value The new value to add.\r\n     * @return A new body with the appended value.\r\n     */\r\n    append(param: string, value: string | number | boolean): HttpParams;\r\n    /**\r\n     * Constructs a new body with appended values for the given parameter name.\r\n     * @param params parameters and values\r\n     * @return A new body with the new value.\r\n     */\r\n    appendAll(params: {\r\n        [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n    }): HttpParams;\r\n    /**\r\n     * Replaces the value for a parameter.\r\n     * @param param The parameter name.\r\n     * @param value The new value.\r\n     * @return A new body with the new value.\r\n     */\r\n    set(param: string, value: string | number | boolean): HttpParams;\r\n    /**\r\n     * Removes a given value or all values from a parameter.\r\n     * @param param The parameter name.\r\n     * @param value The value to remove, if provided.\r\n     * @return A new body with the given value removed, or with all values\r\n     * removed if no value is specified.\r\n     */\r\n    delete(param: string, value?: string | number | boolean): HttpParams;\r\n    /**\r\n     * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\r\n     * separated by `&`s.\r\n     */\r\n    toString(): string;\r\n    private clone;\r\n    private init;\r\n}\r\n\r\n/**\r\n * Options used to construct an `HttpParams` instance.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpParamsOptions {\r\n    /**\r\n     * String representation of the HTTP parameters in URL-query-string format.\r\n     * Mutually exclusive with `fromObject`.\r\n     */\r\n    fromString?: string;\r\n    /** Object map of the HTTP parameters. Mutually exclusive with `fromString`. */\r\n    fromObject?: {\r\n        [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\r\n    };\r\n    /** Encoding codec used to parse and serialize the parameters. */\r\n    encoder?: HttpParameterCodec;\r\n}\r\n\r\n/**\r\n * Base interface for progress events.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpProgressEvent {\r\n    /**\r\n     * Progress event type is either upload or download.\r\n     */\r\n    type: HttpEventType.DownloadProgress | HttpEventType.UploadProgress;\r\n    /**\r\n     * Number of bytes uploaded or downloaded.\r\n     */\r\n    loaded: number;\r\n    /**\r\n     * Total number of bytes to upload or download. Depending on the request or\r\n     * response, this may not be computable and thus may not be present.\r\n     */\r\n    total?: number;\r\n}\r\n\r\n/**\r\n * An outgoing HTTP request with an optional typed body.\r\n *\r\n * `HttpRequest` represents an outgoing request, including URL, method,\r\n * headers, body, and other request configuration options. Instances should be\r\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\r\n * method should be used.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpRequest<T> {\r\n    readonly url: string;\r\n    /**\r\n     * The request body, or `null` if one isn't set.\r\n     *\r\n     * Bodies are not enforced to be immutable, as they can include a reference to any\r\n     * user-defined data type. However, interceptors should take care to preserve\r\n     * idempotence by treating them as such.\r\n     */\r\n    readonly body: T | null;\r\n    /**\r\n     * Outgoing headers for this request.\r\n     */\r\n    readonly headers: HttpHeaders;\r\n    /**\r\n     * Shared and mutable context that can be used by interceptors\r\n     */\r\n    readonly context: HttpContext;\r\n    /**\r\n     * Whether this request should be made in a way that exposes progress events.\r\n     *\r\n     * Progress events are expensive (change detection runs on each event) and so\r\n     * they should only be requested if the consumer intends to monitor them.\r\n     */\r\n    readonly reportProgress: boolean;\r\n    /**\r\n     * Whether this request should be sent with outgoing credentials (cookies).\r\n     */\r\n    readonly withCredentials: boolean;\r\n    /**\r\n     * The expected response type of the server.\r\n     *\r\n     * This is used to parse the response appropriately before returning it to\r\n     * the requestee.\r\n     */\r\n    readonly responseType: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n    /**\r\n     * The outgoing HTTP request method.\r\n     */\r\n    readonly method: string;\r\n    /**\r\n     * Outgoing URL parameters.\r\n     *\r\n     * To pass a string representation of HTTP parameters in the URL-query-string format,\r\n     * the `HttpParamsOptions`' `fromString` may be used. For example:\r\n     *\r\n     * ```\r\n     * new HttpParams({fromString: 'angular=awesome'})\r\n     * ```\r\n     */\r\n    readonly params: HttpParams;\r\n    /**\r\n     * The outgoing URL with all URL parameters set.\r\n     */\r\n    readonly urlWithParams: string;\r\n    constructor(method: 'DELETE' | 'GET' | 'HEAD' | 'JSONP' | 'OPTIONS', url: string, init?: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n    });\r\n    constructor(method: 'POST' | 'PUT' | 'PATCH', url: string, body: T | null, init?: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n    });\r\n    constructor(method: string, url: string, body: T | null, init?: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n    });\r\n    /**\r\n     * Transform the free-form body into a serialized format suitable for\r\n     * transmission to the server.\r\n     */\r\n    serializeBody(): ArrayBuffer | Blob | FormData | string | null;\r\n    /**\r\n     * Examine the body and attempt to infer an appropriate MIME type\r\n     * for it.\r\n     *\r\n     * If no such type can be inferred, this method will return `null`.\r\n     */\r\n    detectContentTypeHeader(): string | null;\r\n    clone(): HttpRequest<T>;\r\n    clone(update: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n        body?: T | null;\r\n        method?: string;\r\n        url?: string;\r\n        setHeaders?: {\r\n            [name: string]: string | string[];\r\n        };\r\n        setParams?: {\r\n            [param: string]: string;\r\n        };\r\n    }): HttpRequest<T>;\r\n    clone<V>(update: {\r\n        headers?: HttpHeaders;\r\n        context?: HttpContext;\r\n        reportProgress?: boolean;\r\n        params?: HttpParams;\r\n        responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\r\n        withCredentials?: boolean;\r\n        body?: V | null;\r\n        method?: string;\r\n        url?: string;\r\n        setHeaders?: {\r\n            [name: string]: string | string[];\r\n        };\r\n        setParams?: {\r\n            [param: string]: string;\r\n        };\r\n    }): HttpRequest<V>;\r\n}\r\n\r\n/**\r\n * A full HTTP response, including a typed response body (which may be `null`\r\n * if one was not returned).\r\n *\r\n * `HttpResponse` is a `HttpEvent` available on the response event\r\n * stream.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpResponse<T> extends HttpResponseBase {\r\n    /**\r\n     * The response body, or `null` if one was not returned.\r\n     */\r\n    readonly body: T | null;\r\n    /**\r\n     * Construct a new `HttpResponse`.\r\n     */\r\n    constructor(init?: {\r\n        body?: T | null;\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    });\r\n    readonly type: HttpEventType.Response;\r\n    clone(): HttpResponse<T>;\r\n    clone(update: {\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    }): HttpResponse<T>;\r\n    clone<V>(update: {\r\n        body?: V | null;\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    }): HttpResponse<V>;\r\n}\r\n\r\n/**\r\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class HttpResponseBase {\r\n    /**\r\n     * All response headers.\r\n     */\r\n    readonly headers: HttpHeaders;\r\n    /**\r\n     * Response status code.\r\n     */\r\n    readonly status: number;\r\n    /**\r\n     * Textual description of response status code, defaults to OK.\r\n     *\r\n     * Do not depend on this.\r\n     */\r\n    readonly statusText: string;\r\n    /**\r\n     * URL of the resource retrieved, or null if not available.\r\n     */\r\n    readonly url: string | null;\r\n    /**\r\n     * Whether the status code falls in the 2xx range.\r\n     */\r\n    readonly ok: boolean;\r\n    /**\r\n     * Type of the response, narrowed to either the full response or the header.\r\n     */\r\n    readonly type: HttpEventType.Response | HttpEventType.ResponseHeader;\r\n    /**\r\n     * Super-constructor for all responses.\r\n     *\r\n     * The single parameter accepted is an initialization hash. Any properties\r\n     * of the response passed there will override the default values.\r\n     */\r\n    constructor(init: {\r\n        headers?: HttpHeaders;\r\n        status?: number;\r\n        statusText?: string;\r\n        url?: string;\r\n    }, defaultStatus?: number, defaultStatusText?: string);\r\n}\r\n\r\n/**\r\n * An event indicating that the request was sent to the server. Useful\r\n * when a request may be retried multiple times, to distinguish between\r\n * retries on the final event stream.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpSentEvent {\r\n    type: HttpEventType.Sent;\r\n}\r\n\r\n/**\r\n * Http status codes.\r\n * As per https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml\r\n * @publicApi\r\n */\r\nexport declare const enum HttpStatusCode {\r\n    Continue = 100,\r\n    SwitchingProtocols = 101,\r\n    Processing = 102,\r\n    EarlyHints = 103,\r\n    Ok = 200,\r\n    Created = 201,\r\n    Accepted = 202,\r\n    NonAuthoritativeInformation = 203,\r\n    NoContent = 204,\r\n    ResetContent = 205,\r\n    PartialContent = 206,\r\n    MultiStatus = 207,\r\n    AlreadyReported = 208,\r\n    ImUsed = 226,\r\n    MultipleChoices = 300,\r\n    MovedPermanently = 301,\r\n    Found = 302,\r\n    SeeOther = 303,\r\n    NotModified = 304,\r\n    UseProxy = 305,\r\n    Unused = 306,\r\n    TemporaryRedirect = 307,\r\n    PermanentRedirect = 308,\r\n    BadRequest = 400,\r\n    Unauthorized = 401,\r\n    PaymentRequired = 402,\r\n    Forbidden = 403,\r\n    NotFound = 404,\r\n    MethodNotAllowed = 405,\r\n    NotAcceptable = 406,\r\n    ProxyAuthenticationRequired = 407,\r\n    RequestTimeout = 408,\r\n    Conflict = 409,\r\n    Gone = 410,\r\n    LengthRequired = 411,\r\n    PreconditionFailed = 412,\r\n    PayloadTooLarge = 413,\r\n    UriTooLong = 414,\r\n    UnsupportedMediaType = 415,\r\n    RangeNotSatisfiable = 416,\r\n    ExpectationFailed = 417,\r\n    ImATeapot = 418,\r\n    MisdirectedRequest = 421,\r\n    UnprocessableEntity = 422,\r\n    Locked = 423,\r\n    FailedDependency = 424,\r\n    TooEarly = 425,\r\n    UpgradeRequired = 426,\r\n    PreconditionRequired = 428,\r\n    TooManyRequests = 429,\r\n    RequestHeaderFieldsTooLarge = 431,\r\n    UnavailableForLegalReasons = 451,\r\n    InternalServerError = 500,\r\n    NotImplemented = 501,\r\n    BadGateway = 502,\r\n    ServiceUnavailable = 503,\r\n    GatewayTimeout = 504,\r\n    HttpVersionNotSupported = 505,\r\n    VariantAlsoNegotiates = 506,\r\n    InsufficientStorage = 507,\r\n    LoopDetected = 508,\r\n    NotExtended = 510,\r\n    NetworkAuthenticationRequired = 511\r\n}\r\n\r\n/**\r\n * An upload progress event.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpUploadProgressEvent extends HttpProgressEvent {\r\n    type: HttpEventType.UploadProgress;\r\n}\r\n\r\n/**\r\n * Provides encoding and decoding of URL parameter and query-string values.\r\n *\r\n * Serializes and parses URL parameter keys and values to encode and decode them.\r\n * If you pass URL query parameters without encoding,\r\n * the query parameters can be misinterpreted at the receiving end.\r\n *\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpUrlEncodingCodec implements HttpParameterCodec {\r\n    /**\r\n     * Encodes a key name for a URL parameter or query-string.\r\n     * @param key The key name.\r\n     * @returns The encoded key name.\r\n     */\r\n    encodeKey(key: string): string;\r\n    /**\r\n     * Encodes the value of a URL parameter or query-string.\r\n     * @param value The value.\r\n     * @returns The encoded value.\r\n     */\r\n    encodeValue(value: string): string;\r\n    /**\r\n     * Decodes an encoded URL parameter or query-string key.\r\n     * @param key The encoded key name.\r\n     * @returns The decoded key name.\r\n     */\r\n    decodeKey(key: string): string;\r\n    /**\r\n     * Decodes an encoded URL parameter or query-string value.\r\n     * @param value The encoded value.\r\n     * @returns The decoded value.\r\n     */\r\n    decodeValue(value: string): string;\r\n}\r\n\r\n/**\r\n * A user-defined event.\r\n *\r\n * Grouping all custom events under this type ensures they will be handled\r\n * and forwarded by all implementations of interceptors.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface HttpUserEvent<T> {\r\n    type: HttpEventType.User;\r\n}\r\n\r\n/**\r\n * Uses `XMLHttpRequest` to send requests to a backend server.\r\n * @see `HttpHandler`\r\n * @see `JsonpClientBackend`\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HttpXhrBackend implements HttpBackend {\r\n    private xhrFactory;\r\n    constructor(xhrFactory: XhrFactory_2);\r\n    /**\r\n     * Processes a request and returns a stream of response events.\r\n     * @param req The request object.\r\n     * @returns An observable of the response events.\r\n     */\r\n    handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * Retrieves the current XSRF token to use with the next outgoing request.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class HttpXsrfTokenExtractor {\r\n    /**\r\n     * Get the XSRF token to use with an outgoing request.\r\n     *\r\n     * Will be called for every request, so the token may change between requests.\r\n     */\r\n    abstract getToken(): string | null;\r\n}\r\n\r\n/**\r\n * Processes an `HttpRequest` with the JSONP method,\r\n * by performing JSONP style requests.\r\n * @see `HttpHandler`\r\n * @see `HttpXhrBackend`\r\n *\r\n * @publicApi\r\n */\r\nexport declare class JsonpClientBackend implements HttpBackend {\r\n    private callbackMap;\r\n    private document;\r\n    /**\r\n     * A resolved promise that can be used to schedule microtasks in the event handlers.\r\n     */\r\n    private readonly resolvedPromise;\r\n    constructor(callbackMap: ɵangular_packages_common_http_http_b, document: any);\r\n    /**\r\n     * Get the name of the next callback method, by incrementing the global `nextRequestId`.\r\n     */\r\n    private nextCallback;\r\n    /**\r\n     * Processes a JSONP request and returns an event stream of the results.\r\n     * @param req The request object.\r\n     * @returns An observable of the response events.\r\n     *\r\n     */\r\n    handle(req: HttpRequest<never>): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * Identifies requests with the method JSONP and\r\n * shifts them to the `JsonpClientBackend`.\r\n *\r\n * @see `HttpInterceptor`\r\n *\r\n * @publicApi\r\n */\r\nexport declare class JsonpInterceptor {\r\n    private jsonp;\r\n    constructor(jsonp: JsonpClientBackend);\r\n    /**\r\n     * Identifies and handles a given JSONP request.\r\n     * @param req The outgoing request object to handle.\r\n     * @param next The next interceptor in the chain, or the backend\r\n     * if no interceptors remain in the chain.\r\n     * @returns An observable of the event stream.\r\n     */\r\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * A wrapper around the `XMLHttpRequest` constructor.\r\n *\r\n * @publicApi\r\n * @see `XhrFactory`\r\n * @deprecated\r\n * `XhrFactory` has moved, please import `XhrFactory` from `@angular/common` instead.\r\n */\r\nexport declare type XhrFactory = XhrFactory_2;\r\n\r\n/**\r\n * A wrapper around the `XMLHttpRequest` constructor.\r\n *\r\n * @publicApi\r\n * @see `XhrFactory`\r\n * @deprecated\r\n * `XhrFactory` has moved, please import `XhrFactory` from `@angular/common` instead.\r\n */\r\nexport declare const XhrFactory: typeof XhrFactory_2;\r\n\r\nexport declare class ɵangular_packages_common_http_http_a implements HttpInterceptor {\r\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * DI token/abstract type representing a map of JSONP callbacks.\r\n *\r\n * In the browser, this should always be the `window` object.\r\n *\r\n *\r\n */\r\nexport declare abstract class ɵangular_packages_common_http_http_b {\r\n    [key: string]: (data: any) => void;\r\n}\r\n\r\n/**\r\n * Factory function that determines where to store JSONP callbacks.\r\n *\r\n * Ordinarily JSONP callbacks are stored on the `window` object, but this may not exist\r\n * in test environments. In that case, callbacks are stored on an anonymous object instead.\r\n *\r\n *\r\n */\r\nexport declare function ɵangular_packages_common_http_http_c(): Object;\r\n\r\nexport declare const ɵangular_packages_common_http_http_d: InjectionToken<string>;\r\n\r\nexport declare const ɵangular_packages_common_http_http_e: InjectionToken<string>;\r\n\r\n/**\r\n * `HttpXsrfTokenExtractor` which retrieves the token from a cookie.\r\n */\r\nexport declare class ɵangular_packages_common_http_http_f implements HttpXsrfTokenExtractor {\r\n    private doc;\r\n    private platform;\r\n    private cookieName;\r\n    private lastCookieString;\r\n    private lastToken;\r\n    constructor(doc: any, platform: string, cookieName: string);\r\n    getToken(): string | null;\r\n}\r\n\r\n/**\r\n * `HttpInterceptor` which adds an XSRF token to eligible outgoing requests.\r\n */\r\nexport declare class ɵangular_packages_common_http_http_g implements HttpInterceptor {\r\n    private tokenService;\r\n    private headerName;\r\n    constructor(tokenService: HttpXsrfTokenExtractor, headerName: string);\r\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\r\n}\r\n\r\n/**\r\n * An injectable `HttpHandler` that applies multiple interceptors\r\n * to a request before passing it to the given `HttpBackend`.\r\n *\r\n * The interceptors are loaded lazily from the injector, to allow\r\n * interceptors to themselves inject classes depending indirectly\r\n * on `HttpInterceptingHandler` itself.\r\n * @see `HttpInterceptor`\r\n */\r\nexport declare class ɵHttpInterceptingHandler implements HttpHandler {\r\n    private backend;\r\n    private injector;\r\n    private chain;\r\n    constructor(backend: HttpBackend, injector: Injector);\r\n    handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;\r\n}\r\n\r\nexport { }\r\n"]}
Index: trip-planner-front/node_modules/@angular/common/http/package.json
===================================================================
--- trip-planner-front/node_modules/@angular/common/http/package.json	(revision 6a3a178323fd905112b5392bd9d3cb83b66ef2d3)
+++ trip-planner-front/node_modules/@angular/common/http/package.json	(revision e29cc2ea91f8c99a4329f6d20188305dfd752279)
@@ -12,8 +12,8 @@
   "es2015": "../fesm2015/http.js",
   "__processed_by_ivy_ngcc__": {
-    "es2015": "12.2.9",
-    "fesm2015": "12.2.9",
-    "module": "12.2.9",
-    "typings": "12.2.9"
+    "es2015": "12.2.13",
+    "fesm2015": "12.2.13",
+    "module": "12.2.13",
+    "typings": "12.2.13"
   },
   "scripts": {
Index: trip-planner-front/node_modules/@angular/common/http/testing.d.ts
===================================================================
--- trip-planner-front/node_modules/@angular/common/http/testing.d.ts	(revision 6a3a178323fd905112b5392bd9d3cb83b66ef2d3)
+++ trip-planner-front/node_modules/@angular/common/http/testing.d.ts	(revision e29cc2ea91f8c99a4329f6d20188305dfd752279)
@@ -1,4 +1,4 @@
 /**
- * @license Angular v12.2.9
+ * @license Angular v12.2.13
  * (c) 2010-2021 Google LLC. https://angular.io/
  * License: MIT
Index: trip-planner-front/node_modules/@angular/common/http/testing/testing.d.ts
===================================================================
--- trip-planner-front/node_modules/@angular/common/http/testing/testing.d.ts	(revision 6a3a178323fd905112b5392bd9d3cb83b66ef2d3)
+++ trip-planner-front/node_modules/@angular/common/http/testing/testing.d.ts	(revision e29cc2ea91f8c99a4329f6d20188305dfd752279)
@@ -1,4 +1,4 @@
 /**
- * @license Angular v12.2.9
+ * @license Angular v12.2.13
  * (c) 2010-2021 Google LLC. https://angular.io/
  * License: MIT
