[6a3a178] | 1 | {"version":3,"file":"common.d.ts","sources":["common.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","sourcesContent":["/**\n * @license Angular v12.2.9\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { DoCheck } from '@angular/core';\r\nimport { ElementRef } from '@angular/core';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { Injector } from '@angular/core';\r\nimport { IterableDiffers } from '@angular/core';\r\nimport { KeyValueDiffers } from '@angular/core';\r\nimport { NgIterable } from '@angular/core';\r\nimport { NgModuleFactory } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { OnChanges } from '@angular/core';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { PipeTransform } from '@angular/core';\r\nimport { Provider } from '@angular/core';\r\nimport { Renderer2 } from '@angular/core';\r\nimport { SimpleChanges } from '@angular/core';\r\nimport { Subscribable } from 'rxjs';\r\nimport { SubscriptionLike } from 'rxjs';\r\nimport { TemplateRef } from '@angular/core';\r\nimport { TrackByFunction } from '@angular/core';\r\nimport { Type } from '@angular/core';\r\nimport { Version } from '@angular/core';\r\nimport { ViewContainerRef } from '@angular/core';\r\n\r\n/**\r\n * A predefined [DI token](guide/glossary#di-token) for the base href\r\n * to be used with the `PathLocationStrategy`.\r\n * The base href is the URL prefix that should be preserved when generating\r\n * and recognizing URLs.\r\n *\r\n * @usageNotes\r\n *\r\n * The following example shows how to use this token to configure the root app injector\r\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\r\n *\r\n * ```typescript\r\n * import {Component, NgModule} from '@angular/core';\r\n * import {APP_BASE_HREF} from '@angular/common';\r\n *\r\n * @NgModule({\r\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\r\n * })\r\n * class AppModule {}\r\n * ```\r\n *\r\n * @publicApi\r\n */\r\nexport declare const APP_BASE_HREF: InjectionToken<string>;\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Unwraps a value from an asynchronous primitive.\r\n *\r\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\r\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\r\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\r\n * potential memory leaks.\r\n *\r\n * @usageNotes\r\n *\r\n * ### Examples\r\n *\r\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\r\n * promise.\r\n *\r\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\r\n *\r\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\r\n * to the view. The Observable continuously updates the view with the current time.\r\n *\r\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class AsyncPipe implements OnDestroy, PipeTransform {\r\n private _ref;\r\n private _latestValue;\r\n private _subscription;\r\n private _obj;\r\n private _strategy;\r\n constructor(_ref: ChangeDetectorRef);\r\n ngOnDestroy(): void;\r\n transform<T>(obj: Observable<T> | Subscribable<T> | Promise<T>): T | null;\r\n transform<T>(obj: null | undefined): null;\r\n transform<T>(obj: Observable<T> | Subscribable<T> | Promise<T> | null | undefined): T | null;\r\n private _subscribe;\r\n private _selectStrategy;\r\n private _dispose;\r\n private _updateLatestValue;\r\n}\r\n\r\n\r\n/**\r\n * Exports all the basic Angular directives and pipes,\r\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\r\n * Re-exported by `BrowserModule`, which is included automatically in the root\r\n * `AppModule` when you create a new app with the CLI `new` command.\r\n *\r\n * * The `providers` options configure the NgModule's injector to provide\r\n * localization dependencies to members.\r\n * * The `exports` options make the declared directives and pipes available for import\r\n * by other NgModules.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class CommonModule {\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Transforms a number to a currency string, formatted according to locale rules\r\n * that determine group sizing and separator, decimal-point character,\r\n * and other locale-specific configurations.\r\n *\r\n * {@a currency-code-deprecation}\r\n * <div class=\"alert is-helpful\">\r\n *\r\n * **Deprecation notice:**\r\n *\r\n * The default currency code is currently always `USD` but this is deprecated from v9.\r\n *\r\n * **In v11 the default currency code will be taken from the current locale identified by\r\n * the `LOCALE_ID` token. See the [i18n guide](guide/i18n-common-locale-id) for\r\n * more information.**\r\n *\r\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\r\n * your application `NgModule`:\r\n *\r\n * ```ts\r\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\r\n * ```\r\n *\r\n * </div>\r\n *\r\n * @see `getCurrencySymbol()`\r\n * @see `formatCurrency()`\r\n *\r\n * @usageNotes\r\n * The following code shows how the pipe transforms numbers\r\n * into text strings, according to various format specifications,\r\n * where the caller's default locale is `en-US`.\r\n *\r\n * <code-example path=\"common/pipes/ts/currency_pipe.ts\" region='CurrencyPipe'></code-example>\r\n *\r\n * @publicApi\r\n */\r\nexport declare class CurrencyPipe implements PipeTransform {\r\n private _locale;\r\n private _defaultCurrencyCode;\r\n constructor(_locale: string, _defaultCurrencyCode?: string);\r\n transform(value: number | string, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string | boolean, digitsInfo?: string, locale?: string): string | null;\r\n transform(value: null | undefined, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string | boolean, digitsInfo?: string, locale?: string): null;\r\n transform(value: number | string | null | undefined, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string | boolean, digitsInfo?: string, locale?: string): string | null;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Formats a date value according to locale rules.\r\n *\r\n * `DatePipe` is executed only when it detects a pure change to the input value.\r\n * A pure change is either a change to a primitive input value\r\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\r\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\r\n *\r\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\r\n * To ensure that the pipe is executed, you must create a new `Date` object.\r\n *\r\n * Only the `en-US` locale data comes with Angular. To localize dates\r\n * in another language, you must import the corresponding locale data.\r\n * See the [I18n guide](guide/i18n-common-format-data-locale) for more information.\r\n *\r\n * @see `formatDate()`\r\n *\r\n *\r\n * @usageNotes\r\n *\r\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\r\n * reformat the date on every change-detection cycle, treat the date as an immutable object\r\n * and change the reference when the pipe needs to run again.\r\n *\r\n * ### Pre-defined format options\r\n *\r\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\r\n * |---------------|-------------------------------------|-------------------------------------------------|\r\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\r\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\r\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\r\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\r\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\r\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\r\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\r\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\r\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\r\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\r\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\r\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\r\n *\r\n * ### Custom format options\r\n *\r\n * You can construct a format string using symbols to specify the components\r\n * of a date-time value, as described in the following table.\r\n * Format details depend on the locale.\r\n * Fields marked with (*) are only available in the extra data set for the given locale.\r\n *\r\n * | Field type | Format | Description | Example Value |\r\n * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|\r\n * | Era | G, GG & GGG | Abbreviated | AD |\r\n * | | GGGG | Wide | Anno Domini |\r\n * | | GGGGG | Narrow | A |\r\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\r\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\r\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\r\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\r\n * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\r\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\r\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\r\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\r\n * | Month | M | Numeric: 1 digit | 9, 12 |\r\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\r\n * | | MMM | Abbreviated | Sep |\r\n * | | MMMM | Wide | September |\r\n * | | MMMMM | Narrow | S |\r\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\r\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\r\n * | | LLL | Abbreviated | Sep |\r\n * | | LLLL | Wide | September |\r\n * | | LLLLL | Narrow | S |\r\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\r\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\r\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\r\n * | Day of month | d | Numeric: minimum digits | 1 |\r\n * | | dd | Numeric: 2 digits + zero padded | 01 |\r\n * | Week day | E, EE & EEE | Abbreviated | Tue |\r\n * | | EEEE | Wide | Tuesday |\r\n * | | EEEEE | Narrow | T |\r\n * | | EEEEEE | Short | Tu |\r\n * | Week day standalone | c, cc | Numeric: 1 digit | 2 |\r\n * | | ccc | Abbreviated | Tue |\r\n * | | cccc | Wide | Tuesday |\r\n * | | ccccc | Narrow | T |\r\n * | | cccccc | Short | Tu |\r\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\r\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\r\n * | | aaaaa | Narrow | a/p |\r\n * | Period* | B, BB & BBB | Abbreviated | mid. |\r\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\r\n * | | BBBBB | Narrow | md |\r\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\r\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\r\n * | | bbbbb | Narrow | md |\r\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\r\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\r\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\r\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\r\n * | Minute | m | Numeric: minimum digits | 8, 59 |\r\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\r\n * | Second | s | Numeric: minimum digits | 0... 59 |\r\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\r\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\r\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\r\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\r\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\r\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\r\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\r\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\r\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\r\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\r\n * | | OOOO | Long localized GMT format | GMT-08:00 |\r\n *\r\n *\r\n * ### Format examples\r\n *\r\n * These examples transform a date into various formats,\r\n * assuming that `dateObj` is a JavaScript `Date` object for\r\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\r\n * given in the local time for the `en-US` locale.\r\n *\r\n * ```\r\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\r\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\r\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\r\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\r\n * ```\r\n *\r\n * ### Usage example\r\n *\r\n * The following component uses a date pipe to display the current date in different formats.\r\n *\r\n * ```\r\n * @Component({\r\n * selector: 'date-pipe',\r\n * template: `<div>\r\n * <p>Today is {{today | date}}</p>\r\n * <p>Or if you prefer, {{today | date:'fullDate'}}</p>\r\n * <p>The time is {{today | date:'h:mm a z'}}</p>\r\n * </div>`\r\n * })\r\n * // Get the current date and time as a date-time value.\r\n * export class DatePipeComponent {\r\n * today: number = Date.now();\r\n * }\r\n * ```\r\n *\r\n * @publicApi\r\n */\r\nexport declare class DatePipe implements PipeTransform {\r\n private locale;\r\n constructor(locale: string);\r\n /**\r\n * @param value The date expression: a `Date` object, a number\r\n * (milliseconds since UTC epoch), or an ISO string (https://www.w3.org/TR/NOTE-datetime).\r\n * @param format The date/time components to include, using predefined options or a\r\n * custom format string.\r\n * @param timezone A timezone offset (such as `'+0430'`), or a standard\r\n * UTC/GMT or continental US timezone abbreviation.\r\n * When not supplied, uses the end-user's local system timezone.\r\n * @param locale A locale code for the locale format rules to use.\r\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\r\n * See [Setting your app locale](guide/i18n-common-locale-id).\r\n * @returns A date string in the desired format.\r\n */\r\n transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n transform(value: Date | string | number | null | undefined, format?: string, timezone?: string, locale?: string): string | null;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Formats a value according to digit options and locale rules.\r\n * Locale determines group sizing and separator,\r\n * decimal point character, and other locale-specific configurations.\r\n *\r\n * @see `formatNumber()`\r\n *\r\n * @usageNotes\r\n *\r\n * ### digitsInfo\r\n *\r\n * The value's decimal representation is specified by the `digitsInfo`\r\n * parameter, written in the following format:<br>\r\n *\r\n * ```\r\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\r\n * ```\r\n *\r\n * - `minIntegerDigits`:\r\n * The minimum number of integer digits before the decimal point.\r\n * Default is 1.\r\n *\r\n * - `minFractionDigits`:\r\n * The minimum number of digits after the decimal point.\r\n * Default is 0.\r\n *\r\n * - `maxFractionDigits`:\r\n * The maximum number of digits after the decimal point.\r\n * Default is 3.\r\n *\r\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\r\n *\r\n * ```\r\n * {{3.6 | number: '1.0-0'}}\r\n * <!--will output '4'-->\r\n *\r\n * {{-3.6 | number:'1.0-0'}}\r\n * <!--will output '-4'-->\r\n * ```\r\n *\r\n * ### locale\r\n *\r\n * `locale` will format a value according to locale rules.\r\n * Locale determines group sizing and separator,\r\n * decimal point character, and other locale-specific configurations.\r\n *\r\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\r\n *\r\n * See [Setting your app locale](guide/i18n-common-locale-id).\r\n *\r\n * ### Example\r\n *\r\n * The following code shows how the pipe transforms values\r\n * according to various format specifications,\r\n * where the caller's default locale is `en-US`.\r\n *\r\n * <code-example path=\"common/pipes/ts/number_pipe.ts\" region='NumberPipe'></code-example>\r\n *\r\n * @publicApi\r\n */\r\nexport declare class DecimalPipe implements PipeTransform {\r\n private _locale;\r\n constructor(_locale: string);\r\n transform(value: number | string, digitsInfo?: string, locale?: string): string | null;\r\n transform(value: null | undefined, digitsInfo?: string, locale?: string): null;\r\n transform(value: number | string | null | undefined, digitsInfo?: string, locale?: string): string | null;\r\n}\r\n\r\n/**\r\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\r\n *\r\n * Note: Document might not be available in the Application Context when Application and Rendering\r\n * Contexts are not the same (e.g. when running the application in a Web Worker).\r\n *\r\n * @publicApi\r\n */\r\nexport declare const DOCUMENT: InjectionToken<Document>;\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Formats a number as currency using locale rules.\r\n *\r\n * @param value The number to format.\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param currency A string containing the currency symbol or its name,\r\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\r\n * of the function.\r\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\r\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\r\n * Used to determine the number of digits in the decimal part.\r\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\r\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\r\n *\r\n * @returns The formatted currency value.\r\n *\r\n * @see `formatNumber()`\r\n * @see `DecimalPipe`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function formatCurrency(value: number, locale: string, currency: string, currencyCode?: string, digitsInfo?: string): string;\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Formats a date according to locale rules.\r\n *\r\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\r\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\r\n * @param format The date-time components to include. See `DatePipe` for details.\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\r\n * or a standard UTC/GMT or continental US time zone abbreviation.\r\n * If not specified, uses host system settings.\r\n *\r\n * @returns The formatted date string.\r\n *\r\n * @see `DatePipe`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function formatDate(value: string | number | Date, format: string, locale: string, timezone?: string): string;\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Formats a number as text, with group sizing, separator, and other\r\n * parameters based on the locale.\r\n *\r\n * @param value The number to format.\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\r\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\r\n *\r\n * @returns The formatted text string.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function formatNumber(value: number, locale: string, digitsInfo?: string): string;\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Formats a number as a percentage according to locale rules.\r\n *\r\n * @param value The number to format.\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\r\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\r\n *\r\n * @returns The formatted percentage value.\r\n *\r\n * @see `formatNumber()`\r\n * @see `DecimalPipe`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n * @publicApi\r\n *\r\n */\r\nexport declare function formatPercent(value: number, locale: string, digitsInfo?: string): string;\r\n\r\n/**\r\n * String widths available for date-time formats.\r\n * The specific character widths are locale-specific.\r\n * Examples are given for `en-US`.\r\n *\r\n * @see `getLocaleDateFormat()`\r\n * @see `getLocaleTimeFormat()`\r\n * @see `getLocaleDateTimeFormat()`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n * @publicApi\r\n */\r\nexport declare enum FormatWidth {\r\n /**\r\n * For `en-US`, 'M/d/yy, h:mm a'`\r\n * (Example: `6/15/15, 9:03 AM`)\r\n */\r\n Short = 0,\r\n /**\r\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\r\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\r\n */\r\n Medium = 1,\r\n /**\r\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\r\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\r\n */\r\n Long = 2,\r\n /**\r\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\r\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\r\n */\r\n Full = 3\r\n}\r\n\r\n/**\r\n * Context-dependant translation forms for strings.\r\n * Typically the standalone version is for the nominative form of the word,\r\n * and the format version is used for the genitive case.\r\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare enum FormStyle {\r\n Format = 0,\r\n Standalone = 1\r\n}\r\n\r\n/**\r\n * Retrieves the currency symbol for a given currency code.\r\n *\r\n * For example, for the default `en-US` locale, the code `USD` can\r\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\r\n *\r\n * @param code The currency code.\r\n * @param format The format, `wide` or `narrow`.\r\n * @param locale A locale code for the locale format rules to use.\r\n *\r\n * @returns The symbol, or the currency code if no symbol is available.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getCurrencySymbol(code: string, format: 'wide' | 'narrow', locale?: string): string;\r\n\r\n/**\r\n * Retrieves the default currency code for the given locale.\r\n *\r\n * The default is defined as the first currency which is still in use.\r\n *\r\n * @param locale The code of the locale whose currency code we want.\r\n * @returns The code of the default currency for the given locale.\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleCurrencyCode(locale: string): string | null;\r\n\r\n/**\r\n * Retrieves the name of the currency for the main country corresponding\r\n * to a given locale. For example, 'US Dollar' for `en-US`.\r\n * @param locale A locale code for the locale format rules to use.\r\n * @returns The currency name,\r\n * or `null` if the main country cannot be determined.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleCurrencyName(locale: string): string | null;\r\n\r\n/**\r\n * Retrieves the symbol used to represent the currency for the main country\r\n * corresponding to a given locale. For example, '$' for `en-US`.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @returns The localized symbol character,\r\n * or `null` if the main country cannot be determined.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleCurrencySymbol(locale: string): string | null;\r\n\r\n/**\r\n * Retrieves a localized date-value formating string.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param width The format type.\r\n * @returns The localized formating string.\r\n * @see `FormatWidth`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleDateFormat(locale: string, width: FormatWidth): string;\r\n\r\n/**\r\n * Retrieves a localized date-time formatting string.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param width The format type.\r\n * @returns The localized formatting string.\r\n * @see `FormatWidth`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleDateTimeFormat(locale: string, width: FormatWidth): string;\r\n\r\n/**\r\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param formStyle The required grammatical form.\r\n * @param width The required character width.\r\n * @returns An array of localized name strings.\r\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleDayNames(locale: string, formStyle: FormStyle, width: TranslationWidth): ReadonlyArray<string>;\r\n\r\n/**\r\n * Retrieves day period strings for the given locale.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param formStyle The required grammatical form.\r\n * @param width The required character width.\r\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleDayPeriods(locale: string, formStyle: FormStyle, width: TranslationWidth): Readonly<[string, string]>;\r\n\r\n/**\r\n * Retrieves the writing direction of a specified locale\r\n * @param locale A locale code for the locale format rules to use.\r\n * @publicApi\r\n * @returns 'rtl' or 'ltr'\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n */\r\nexport declare function getLocaleDirection(locale: string): 'ltr' | 'rtl';\r\n\r\n/**\r\n * Retrieves Gregorian-calendar eras for the given locale.\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param width The required character width.\r\n\r\n * @returns An array of localized era strings.\r\n * For example, `[AD, BC]` for `en-US`.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleEraNames(locale: string, width: TranslationWidth): Readonly<[string, string]>;\r\n\r\n/**\r\n * Retrieves locale-specific rules used to determine which day period to use\r\n * when more than one period is defined for a locale.\r\n *\r\n * There is a rule for each defined day period. The\r\n * first rule is applied to the first day period and so on.\r\n * Fall back to AM/PM when no rules are available.\r\n *\r\n * A rule can specify a period as time range, or as a single time value.\r\n *\r\n * This functionality is only available when you have loaded the full locale data.\r\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\r\n * or null if no periods are available.\r\n *\r\n * @see `getLocaleExtraDayPeriods()`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleExtraDayPeriodRules(locale: string): (Time | [Time, Time])[];\r\n\r\n/**\r\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\r\n * in different languages.\r\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\r\n *\r\n * This functionality is only available when you have loaded the full locale data.\r\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param formStyle The required grammatical form.\r\n * @param width The required character width.\r\n * @returns The translated day-period strings.\r\n * @see `getLocaleExtraDayPeriodRules()`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleExtraDayPeriods(locale: string, formStyle: FormStyle, width: TranslationWidth): string[];\r\n\r\n/**\r\n * Retrieves the first day of the week for the given locale.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @returns A day index number, using the 0-based week-day index for `en-US`\r\n * (Sunday = 0, Monday = 1, ...).\r\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleFirstDayOfWeek(locale: string): WeekDay;\r\n\r\n/**\r\n * Retrieves the locale ID from the currently loaded locale.\r\n * The loaded locale could be, for example, a global one rather than a regional one.\r\n * @param locale A locale code, such as `fr-FR`.\r\n * @returns The locale code. For example, `fr`.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleId(locale: string): string;\r\n\r\n/**\r\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param formStyle The required grammatical form.\r\n * @param width The required character width.\r\n * @returns An array of localized name strings.\r\n * For example, `[January, February, ...]` for `en-US`.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleMonthNames(locale: string, formStyle: FormStyle, width: TranslationWidth): ReadonlyArray<string>;\r\n\r\n/**\r\n * Retrieves a number format for a given locale.\r\n *\r\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\r\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\r\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\r\n *\r\n * <b>Important:</b> The characters `.` `,` `0` `#` (and others below) are special placeholders\r\n * that stand for the decimal separator, and so on, and are NOT real characters.\r\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\r\n * your language the decimal point is written with a comma. The symbols should be replaced by the\r\n * local equivalents, using the appropriate `NumberSymbol` for your language.\r\n *\r\n * Here are the special characters used in number patterns:\r\n *\r\n * | Symbol | Meaning |\r\n * |--------|---------|\r\n * | . | Replaced automatically by the character used for the decimal point. |\r\n * | , | Replaced by the \"grouping\" (thousands) separator. |\r\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\r\n * | # | Replaced by a digit (or nothing if there aren't enough). |\r\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\r\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\r\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\r\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\r\n * @returns The localized format string.\r\n * @see `NumberFormatStyle`\r\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleNumberFormat(locale: string, type: NumberFormatStyle): string;\r\n\r\n/**\r\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\r\n * @param locale The locale code.\r\n * @param symbol The symbol to localize.\r\n * @returns The character for the localized symbol.\r\n * @see `NumberSymbol`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): string;\r\n\r\n/**\r\n * @alias core/ɵgetLocalePluralCase\r\n * @publicApi\r\n */\r\nexport declare const getLocalePluralCase: (locale: string) => ((value: number) => Plural);\r\n\r\n/**\r\n * Retrieves a localized time-value formatting string.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param width The format type.\r\n * @returns The localized formatting string.\r\n * @see `FormatWidth`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n\r\n * @publicApi\r\n */\r\nexport declare function getLocaleTimeFormat(locale: string, width: FormatWidth): string;\r\n\r\n/**\r\n * Range of week days that are considered the week-end for the given locale.\r\n *\r\n * @param locale A locale code for the locale format rules to use.\r\n * @returns The range of day values, `[startDay, endDay]`.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getLocaleWeekEndRange(locale: string): [WeekDay, WeekDay];\r\n\r\n/**\r\n * Reports the number of decimal digits for a given currency.\r\n * The value depends upon the presence of cents in that particular currency.\r\n *\r\n * @param code The currency code.\r\n * @returns The number of decimal digits, typically 0 or 2.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare function getNumberOfCurrencyDigits(code: string): number;\r\n\r\n/**\r\n * @description\r\n * A {@link LocationStrategy} used to configure the {@link Location} service to\r\n * represent its state in the\r\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\r\n * of the browser's URL.\r\n *\r\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\r\n * `example.com#/foo`.\r\n *\r\n * @usageNotes\r\n *\r\n * ### Example\r\n *\r\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class HashLocationStrategy extends LocationStrategy implements OnDestroy {\r\n private _platformLocation;\r\n private _baseHref;\r\n private _removeListenerFns;\r\n constructor(_platformLocation: PlatformLocation, _baseHref?: string);\r\n ngOnDestroy(): void;\r\n onPopState(fn: LocationChangeListener): void;\r\n getBaseHref(): string;\r\n path(includeHash?: boolean): string;\r\n prepareExternalUrl(internal: string): string;\r\n pushState(state: any, title: string, path: string, queryParams: string): void;\r\n replaceState(state: any, title: string, path: string, queryParams: string): void;\r\n forward(): void;\r\n back(): void;\r\n historyGo(relativePosition?: number): void;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Maps a value to a string that pluralizes the value according to locale rules.\r\n *\r\n * @usageNotes\r\n *\r\n * ### Example\r\n *\r\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class I18nPluralPipe implements PipeTransform {\r\n private _localization;\r\n constructor(_localization: NgLocalization);\r\n /**\r\n * @param value the number to be formatted\r\n * @param pluralMap an object that mimics the ICU format, see\r\n * http://userguide.icu-project.org/formatparse/messages.\r\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\r\n * default).\r\n */\r\n transform(value: number | null | undefined, pluralMap: {\r\n [count: string]: string;\r\n }, locale?: string): string;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Generic selector that displays the string that matches the current value.\r\n *\r\n * If none of the keys of the `mapping` match the `value`, then the content\r\n * of the `other` key is returned when present, otherwise an empty string is returned.\r\n *\r\n * @usageNotes\r\n *\r\n * ### Example\r\n *\r\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class I18nSelectPipe implements PipeTransform {\r\n /**\r\n * @param value a string to be internationalized.\r\n * @param mapping an object that indicates the text that should be displayed\r\n * for different values of the provided `value`.\r\n */\r\n transform(value: string | null | undefined, mapping: {\r\n [key: string]: string;\r\n }): string;\r\n}\r\n\r\n/**\r\n * Returns whether a platform id represents a browser platform.\r\n * @publicApi\r\n */\r\nexport declare function isPlatformBrowser(platformId: Object): boolean;\r\n\r\n/**\r\n * Returns whether a platform id represents a server platform.\r\n * @publicApi\r\n */\r\nexport declare function isPlatformServer(platformId: Object): boolean;\r\n\r\n/**\r\n * Returns whether a platform id represents a web worker app platform.\r\n * @publicApi\r\n */\r\nexport declare function isPlatformWorkerApp(platformId: Object): boolean;\r\n\r\n/**\r\n * Returns whether a platform id represents a web worker UI platform.\r\n * @publicApi\r\n */\r\nexport declare function isPlatformWorkerUi(platformId: Object): boolean;\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Converts a value into its JSON-format representation. Useful for debugging.\r\n *\r\n * @usageNotes\r\n *\r\n * The following component uses a JSON pipe to convert an object\r\n * to JSON format, and displays the string in both formats for comparison.\r\n *\r\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class JsonPipe implements PipeTransform {\r\n /**\r\n * @param value A value of any type to convert into a JSON-format string.\r\n */\r\n transform(value: any): string;\r\n}\r\n\r\n/**\r\n * A key value pair.\r\n * Usually used to represent the key value pairs from a Map or Object.\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface KeyValue<K, V> {\r\n key: K;\r\n value: V;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Transforms Object or Map into an array of key value pairs.\r\n *\r\n * The output array will be ordered by keys.\r\n * By default the comparator will be by Unicode point value.\r\n * You can optionally pass a compareFn if your keys are complex types.\r\n *\r\n * @usageNotes\r\n * ### Examples\r\n *\r\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\r\n * keyvalue pipe.\r\n *\r\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class KeyValuePipe implements PipeTransform {\r\n private readonly differs;\r\n constructor(differs: KeyValueDiffers);\r\n private differ;\r\n private keyValues;\r\n private compareFn;\r\n transform<K, V>(input: ReadonlyMap<K, V>, compareFn?: (a: KeyValue<K, V>, b: KeyValue<K, V>) => number): Array<KeyValue<K, V>>;\r\n transform<K extends number, V>(input: Record<K, V>, compareFn?: (a: KeyValue<string, V>, b: KeyValue<string, V>) => number): Array<KeyValue<string, V>>;\r\n transform<K extends string, V>(input: Record<K, V> | ReadonlyMap<K, V>, compareFn?: (a: KeyValue<K, V>, b: KeyValue<K, V>) => number): Array<KeyValue<K, V>>;\r\n transform(input: null | undefined, compareFn?: (a: KeyValue<unknown, unknown>, b: KeyValue<unknown, unknown>) => number): null;\r\n transform<K, V>(input: ReadonlyMap<K, V> | null | undefined, compareFn?: (a: KeyValue<K, V>, b: KeyValue<K, V>) => number): Array<KeyValue<K, V>> | null;\r\n transform<K extends number, V>(input: Record<K, V> | null | undefined, compareFn?: (a: KeyValue<string, V>, b: KeyValue<string, V>) => number): Array<KeyValue<string, V>> | null;\r\n transform<K extends string, V>(input: Record<K, V> | ReadonlyMap<K, V> | null | undefined, compareFn?: (a: KeyValue<K, V>, b: KeyValue<K, V>) => number): Array<KeyValue<K, V>> | null;\r\n}\r\n\r\n/**\r\n * @description\r\n *\r\n * A service that applications can use to interact with a browser's URL.\r\n *\r\n * Depending on the `LocationStrategy` used, `Location` persists\r\n * to the URL's path or the URL's hash segment.\r\n *\r\n * @usageNotes\r\n *\r\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\r\n * `Location` only if you need to interact with or create normalized URLs outside of\r\n * routing.\r\n *\r\n * `Location` is responsible for normalizing the URL against the application's base href.\r\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\r\n * trailing slash:\r\n * - `/my/app/user/123` is normalized\r\n * - `my/app/user/123` **is not** normalized\r\n * - `/my/app/user/123/` **is not** normalized\r\n *\r\n * ### Example\r\n *\r\n * <code-example path='common/location/ts/path_location_component.ts'\r\n * region='LocationComponent'></code-example>\r\n *\r\n * @publicApi\r\n */\r\ndeclare class Location_2 {\r\n constructor(platformStrategy: LocationStrategy, platformLocation: PlatformLocation);\r\n /**\r\n * Normalizes the URL path for this location.\r\n *\r\n * @param includeHash True to include an anchor fragment in the path.\r\n *\r\n * @returns The normalized URL path.\r\n */\r\n path(includeHash?: boolean): string;\r\n /**\r\n * Reports the current state of the location history.\r\n * @returns The current value of the `history.state` object.\r\n */\r\n getState(): unknown;\r\n /**\r\n * Normalizes the given path and compares to the current normalized path.\r\n *\r\n * @param path The given URL path.\r\n * @param query Query parameters.\r\n *\r\n * @returns True if the given URL path is equal to the current normalized path, false\r\n * otherwise.\r\n */\r\n isCurrentPathEqualTo(path: string, query?: string): boolean;\r\n /**\r\n * Normalizes a URL path by stripping any trailing slashes.\r\n *\r\n * @param url String representing a URL.\r\n *\r\n * @returns The normalized URL string.\r\n */\r\n normalize(url: string): string;\r\n /**\r\n * Normalizes an external URL path.\r\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\r\n * before normalizing. Adds a hash if `HashLocationStrategy` is\r\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\r\n *\r\n * @param url String representing a URL.\r\n *\r\n * @returns A normalized platform-specific URL.\r\n */\r\n prepareExternalUrl(url: string): string;\r\n /**\r\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\r\n * new item onto the platform's history.\r\n *\r\n * @param path URL path to normalize.\r\n * @param query Query parameters.\r\n * @param state Location history state.\r\n *\r\n */\r\n go(path: string, query?: string, state?: any): void;\r\n /**\r\n * Changes the browser's URL to a normalized version of the given URL, and replaces\r\n * the top item on the platform's history stack.\r\n *\r\n * @param path URL path to normalize.\r\n * @param query Query parameters.\r\n * @param state Location history state.\r\n */\r\n replaceState(path: string, query?: string, state?: any): void;\r\n /**\r\n * Navigates forward in the platform's history.\r\n */\r\n forward(): void;\r\n /**\r\n * Navigates back in the platform's history.\r\n */\r\n back(): void;\r\n /**\r\n * Navigate to a specific page from session history, identified by its relative position to the\r\n * current page.\r\n *\r\n * @param relativePosition Position of the target page in the history relative to the current\r\n * page.\r\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\r\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\r\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\r\n * when `relativePosition` equals 0.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\r\n */\r\n historyGo(relativePosition?: number): void;\r\n /**\r\n * Registers a URL change listener. Use to catch updates performed by the Angular\r\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\r\n *\r\n * @param fn The change handler function, which take a URL and a location history state.\r\n */\r\n onUrlChange(fn: (url: string, state: unknown) => void): void;\r\n /**\r\n * Subscribes to the platform's `popState` events.\r\n *\r\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\r\n * `Location.onUrlChange()` to subscribe to URL changes instead.\r\n *\r\n * @param value Event that is triggered when the state history changes.\r\n * @param exception The exception to throw.\r\n *\r\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\r\n *\r\n * @returns Subscribed events.\r\n */\r\n subscribe(onNext: (value: PopStateEvent_2) => void, onThrow?: ((exception: any) => void) | null, onReturn?: (() => void) | null): SubscriptionLike;\r\n /**\r\n * Normalizes URL parameters by prepending with `?` if needed.\r\n *\r\n * @param params String of URL parameters.\r\n *\r\n * @returns The normalized URL parameters string.\r\n */\r\n static normalizeQueryParams: (params: string) => string;\r\n /**\r\n * Joins two parts of a URL with a slash if needed.\r\n *\r\n * @param start URL string\r\n * @param end URL string\r\n *\r\n *\r\n * @returns The joined URL string.\r\n */\r\n static joinWithSlash: (start: string, end: string) => string;\r\n /**\r\n * Removes a trailing slash from a URL string if needed.\r\n * Looks for the first occurrence of either `#`, `?`, or the end of the\r\n * line as `/` characters and removes the trailing slash if one exists.\r\n *\r\n * @param url URL string.\r\n *\r\n * @returns The URL string, modified if needed.\r\n */\r\n static stripTrailingSlash: (url: string) => string;\r\n}\r\nexport { Location_2 as Location }\r\n\r\n/**\r\n * @description\r\n * Indicates when a location is initialized.\r\n *\r\n * @publicApi\r\n */\r\nexport declare const LOCATION_INITIALIZED: InjectionToken<Promise<any>>;\r\n\r\n/**\r\n * @description\r\n * A serializable version of the event from `onPopState` or `onHashChange`\r\n *\r\n * @publicApi\r\n */\r\nexport declare interface LocationChangeEvent {\r\n type: string;\r\n state: any;\r\n}\r\n\r\n/**\r\n * @publicApi\r\n */\r\nexport declare interface LocationChangeListener {\r\n (event: LocationChangeEvent): any;\r\n}\r\n\r\n/**\r\n * Enables the `Location` service to read route state from the browser's URL.\r\n * Angular provides two strategies:\r\n * `HashLocationStrategy` and `PathLocationStrategy`.\r\n *\r\n * Applications should use the `Router` or `Location` services to\r\n * interact with application route state.\r\n *\r\n * For instance, `HashLocationStrategy` produces URLs like\r\n * <code class=\"no-auto-link\">http://example.com#/foo</code>,\r\n * and `PathLocationStrategy` produces\r\n * <code class=\"no-auto-link\">http://example.com/foo</code> as an equivalent URL.\r\n *\r\n * See these two classes for more.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class LocationStrategy {\r\n abstract path(includeHash?: boolean): string;\r\n abstract prepareExternalUrl(internal: string): string;\r\n abstract pushState(state: any, title: string, url: string, queryParams: string): void;\r\n abstract replaceState(state: any, title: string, url: string, queryParams: string): void;\r\n abstract forward(): void;\r\n abstract back(): void;\r\n historyGo?(relativePosition: number): void;\r\n abstract onPopState(fn: LocationChangeListener): void;\r\n abstract getBaseHref(): string;\r\n}\r\n\r\n/**\r\n * Transforms text to all lower case.\r\n *\r\n * @see `UpperCasePipe`\r\n * @see `TitleCasePipe`\r\n * @usageNotes\r\n *\r\n * The following example defines a view that allows the user to enter\r\n * text, and then uses the pipe to convert the input text to all lower case.\r\n *\r\n * <code-example path=\"common/pipes/ts/lowerupper_pipe.ts\" region='LowerUpperPipe'></code-example>\r\n *\r\n * @ngModule CommonModule\r\n * @publicApi\r\n */\r\nexport declare class LowerCasePipe implements PipeTransform {\r\n /**\r\n * @param value The string to transform to lower case.\r\n */\r\n transform(value: string): string;\r\n transform(value: null | undefined): null;\r\n transform(value: string | null | undefined): string | null;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n *\r\n * @usageNotes\r\n * ```\r\n * <some-element [ngClass]=\"'first second'\">...</some-element>\r\n *\r\n * <some-element [ngClass]=\"['first', 'second']\">...</some-element>\r\n *\r\n * <some-element [ngClass]=\"{'first': true, 'second': true, 'third': false}\">...</some-element>\r\n *\r\n * <some-element [ngClass]=\"stringExp|arrayExp|objExp\">...</some-element>\r\n *\r\n * <some-element [ngClass]=\"{'class1 class2 class3' : true}\">...</some-element>\r\n * ```\r\n *\r\n * @description\r\n *\r\n * Adds and removes CSS classes on an HTML element.\r\n *\r\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\r\n * - `string` - the CSS classes listed in the string (space delimited) are added,\r\n * - `Array` - the CSS classes declared as Array elements are added,\r\n * - `Object` - keys are CSS classes that get added when the expression given in the value\r\n * evaluates to a truthy value, otherwise they are removed.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class NgClass implements DoCheck {\r\n private _iterableDiffers;\r\n private _keyValueDiffers;\r\n private _ngEl;\r\n private _renderer;\r\n private _iterableDiffer;\r\n private _keyValueDiffer;\r\n private _initialClasses;\r\n private _rawClass;\r\n constructor(_iterableDiffers: IterableDiffers, _keyValueDiffers: KeyValueDiffers, _ngEl: ElementRef, _renderer: Renderer2);\r\n set klass(value: string);\r\n set ngClass(value: string | string[] | Set<string> | {\r\n [klass: string]: any;\r\n });\r\n ngDoCheck(): void;\r\n private _applyKeyValueChanges;\r\n private _applyIterableChanges;\r\n /**\r\n * Applies a collection of CSS classes to the DOM element.\r\n *\r\n * For argument of type Set and Array CSS class names contained in those collections are always\r\n * added.\r\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\r\n * for truthy and removed for falsy).\r\n */\r\n private _applyClasses;\r\n /**\r\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\r\n * purposes.\r\n */\r\n private _removeClasses;\r\n private _toggleClass;\r\n}\r\n\r\n/**\r\n * Instantiates a {@link Component} type and inserts its Host View into the current View.\r\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\r\n *\r\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\r\n * any existing component will be destroyed.\r\n *\r\n * @usageNotes\r\n *\r\n * ### Fine tune control\r\n *\r\n * You can control the component creation process by using the following optional attributes:\r\n *\r\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\r\n * the Component. Defaults to the injector of the current view container.\r\n *\r\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\r\n * section of the component, if it exists.\r\n *\r\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow loading another\r\n * module dynamically, then loading a component from that module.\r\n *\r\n * ### Syntax\r\n *\r\n * Simple\r\n * ```\r\n * <ng-container *ngComponentOutlet=\"componentTypeExpression\"></ng-container>\r\n * ```\r\n *\r\n * Customized injector/content\r\n * ```\r\n * <ng-container *ngComponentOutlet=\"componentTypeExpression;\r\n * injector: injectorExpression;\r\n * content: contentNodesExpression;\">\r\n * </ng-container>\r\n * ```\r\n *\r\n * Customized ngModuleFactory\r\n * ```\r\n * <ng-container *ngComponentOutlet=\"componentTypeExpression;\r\n * ngModuleFactory: moduleFactory;\">\r\n * </ng-container>\r\n * ```\r\n *\r\n * ### A simple example\r\n *\r\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\r\n *\r\n * A more complete example with additional options:\r\n *\r\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\r\n *\r\n * @publicApi\r\n * @ngModule CommonModule\r\n */\r\nexport declare class NgComponentOutlet implements OnChanges, OnDestroy {\r\n private _viewContainerRef;\r\n ngComponentOutlet: Type<any>;\r\n ngComponentOutletInjector: Injector;\r\n ngComponentOutletContent: any[][];\r\n ngComponentOutletNgModuleFactory: NgModuleFactory<any>;\r\n private _componentRef;\r\n private _moduleRef;\r\n constructor(_viewContainerRef: ViewContainerRef);\r\n ngOnChanges(changes: SimpleChanges): void;\r\n ngOnDestroy(): void;\r\n}\r\n\r\n/**\r\n * A [structural directive](guide/structural-directives) that renders\r\n * a template for each item in a collection.\r\n * The directive is placed on an element, which becomes the parent\r\n * of the cloned templates.\r\n *\r\n * The `ngForOf` directive is generally used in the\r\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\r\n * In this form, the template to be rendered for each iteration is the content\r\n * of an anchor element containing the directive.\r\n *\r\n * The following example shows the shorthand syntax with some options,\r\n * contained in an `<li>` element.\r\n *\r\n * ```\r\n * <li *ngFor=\"let item of items; index as i; trackBy: trackByFn\">...</li>\r\n * ```\r\n *\r\n * The shorthand form expands into a long form that uses the `ngForOf` selector\r\n * on an `<ng-template>` element.\r\n * The content of the `<ng-template>` element is the `<li>` element that held the\r\n * short-form directive.\r\n *\r\n * Here is the expanded version of the short-form example.\r\n *\r\n * ```\r\n * <ng-template ngFor let-item [ngForOf]=\"items\" let-i=\"index\" [ngForTrackBy]=\"trackByFn\">\r\n * <li>...</li>\r\n * </ng-template>\r\n * ```\r\n *\r\n * Angular automatically expands the shorthand syntax as it compiles the template.\r\n * The context for each embedded view is logically merged to the current component\r\n * context according to its lexical position.\r\n *\r\n * When using the shorthand syntax, Angular allows only [one structural directive\r\n * on an element](guide/built-in-directives#one-per-element).\r\n * If you want to iterate conditionally, for example,\r\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\r\n * For futher discussion, see\r\n * [Structural Directives](guide/built-in-directives#one-per-element).\r\n *\r\n * @usageNotes\r\n *\r\n * ### Local variables\r\n *\r\n * `NgForOf` provides exported values that can be aliased to local variables.\r\n * For example:\r\n *\r\n * ```\r\n * <li *ngFor=\"let user of users; index as i; first as isFirst\">\r\n * {{i}}/{{users.length}}. {{user}} <span *ngIf=\"isFirst\">default</span>\r\n * </li>\r\n * ```\r\n *\r\n * The following exported values can be aliased to local variables:\r\n *\r\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\r\n * - `ngForOf: NgIterable<T>`: The value of the iterable expression. Useful when the expression is\r\n * more complex then a property access, for example when using the async pipe (`userStreams |\r\n * async`).\r\n * - `index: number`: The index of the current item in the iterable.\r\n * - `count: number`: The length of the iterable.\r\n * - `first: boolean`: True when the item is the first item in the iterable.\r\n * - `last: boolean`: True when the item is the last item in the iterable.\r\n * - `even: boolean`: True when the item has an even index in the iterable.\r\n * - `odd: boolean`: True when the item has an odd index in the iterable.\r\n *\r\n * ### Change propagation\r\n *\r\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\r\n *\r\n * * When an item is added, a new instance of the template is added to the DOM.\r\n * * When an item is removed, its template instance is removed from the DOM.\r\n * * When items are reordered, their respective templates are reordered in the DOM.\r\n *\r\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\r\n * those changes in the DOM. This has important implications for animations and any stateful\r\n * controls that are present, such as `<input>` elements that accept user input. Inserted rows can\r\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\r\n * such as user input.\r\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\r\n *\r\n * The identities of elements in the iterator can change while the data does not.\r\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\r\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\r\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\r\n * elements were deleted and all new elements inserted).\r\n *\r\n * To avoid this expensive operation, you can customize the default tracking algorithm.\r\n * by supplying the `trackBy` option to `NgForOf`.\r\n * `trackBy` takes a function that has two arguments: `index` and `item`.\r\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\r\n *\r\n * @see [Structural Directives](guide/structural-directives)\r\n * @ngModule CommonModule\r\n * @publicApi\r\n */\r\nexport declare class NgForOf<T, U extends NgIterable<T> = NgIterable<T>> implements DoCheck {\r\n private _viewContainer;\r\n private _template;\r\n private _differs;\r\n /**\r\n * The value of the iterable expression, which can be used as a\r\n * [template input variable](guide/structural-directives#shorthand).\r\n */\r\n set ngForOf(ngForOf: U & NgIterable<T> | undefined | null);\r\n /**\r\n * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\r\n *\r\n * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\r\n * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\r\n * as the key.\r\n *\r\n * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\r\n * it produces for these items.\r\n *\r\n * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\r\n * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\r\n * primary key), and this iterable could be updated with new object instances that still\r\n * represent the same underlying entity (for example, when data is re-fetched from the server,\r\n * and the iterable is recreated and re-rendered, but most of the data is still the same).\r\n *\r\n * @see `TrackByFunction`\r\n */\r\n set ngForTrackBy(fn: TrackByFunction<T>);\r\n get ngForTrackBy(): TrackByFunction<T>;\r\n private _ngForOf;\r\n private _ngForOfDirty;\r\n private _differ;\r\n private _trackByFn;\r\n constructor(_viewContainer: ViewContainerRef, _template: TemplateRef<NgForOfContext<T, U>>, _differs: IterableDiffers);\r\n /**\r\n * A reference to the template that is stamped out for each item in the iterable.\r\n * @see [template reference variable](guide/template-reference-variables)\r\n */\r\n set ngForTemplate(value: TemplateRef<NgForOfContext<T, U>>);\r\n /**\r\n * Applies the changes when needed.\r\n */\r\n ngDoCheck(): void;\r\n private _applyChanges;\r\n private _perViewChange;\r\n /**\r\n * Asserts the correct type of the context for the template that `NgForOf` will render.\r\n *\r\n * The presence of this method is a signal to the Ivy template type-check compiler that the\r\n * `NgForOf` structural directive renders its template with a specific context type.\r\n */\r\n static ngTemplateContextGuard<T, U extends NgIterable<T>>(dir: NgForOf<T, U>, ctx: any): ctx is NgForOfContext<T, U>;\r\n}\r\n\r\n/**\r\n * @publicApi\r\n */\r\nexport declare class NgForOfContext<T, U extends NgIterable<T> = NgIterable<T>> {\r\n $implicit: T;\r\n ngForOf: U;\r\n index: number;\r\n count: number;\r\n constructor($implicit: T, ngForOf: U, index: number, count: number);\r\n get first(): boolean;\r\n get last(): boolean;\r\n get even(): boolean;\r\n get odd(): boolean;\r\n}\r\n\r\n/**\r\n * A structural directive that conditionally includes a template based on the value of\r\n * an expression coerced to Boolean.\r\n * When the expression evaluates to true, Angular renders the template\r\n * provided in a `then` clause, and when false or null,\r\n * Angular renders the template provided in an optional `else` clause. The default\r\n * template for the `else` clause is blank.\r\n *\r\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\r\n * `*ngIf=\"condition\"`, is generally used, provided\r\n * as an attribute of the anchor element for the inserted template.\r\n * Angular expands this into a more explicit version, in which the anchor element\r\n * is contained in an `<ng-template>` element.\r\n *\r\n * Simple form with shorthand syntax:\r\n *\r\n * ```\r\n * <div *ngIf=\"condition\">Content to render when condition is true.</div>\r\n * ```\r\n *\r\n * Simple form with expanded syntax:\r\n *\r\n * ```\r\n * <ng-template [ngIf]=\"condition\"><div>Content to render when condition is\r\n * true.</div></ng-template>\r\n * ```\r\n *\r\n * Form with an \"else\" block:\r\n *\r\n * ```\r\n * <div *ngIf=\"condition; else elseBlock\">Content to render when condition is true.</div>\r\n * <ng-template #elseBlock>Content to render when condition is false.</ng-template>\r\n * ```\r\n *\r\n * Shorthand form with \"then\" and \"else\" blocks:\r\n *\r\n * ```\r\n * <div *ngIf=\"condition; then thenBlock else elseBlock\"></div>\r\n * <ng-template #thenBlock>Content to render when condition is true.</ng-template>\r\n * <ng-template #elseBlock>Content to render when condition is false.</ng-template>\r\n * ```\r\n *\r\n * Form with storing the value locally:\r\n *\r\n * ```\r\n * <div *ngIf=\"condition as value; else elseBlock\">{{value}}</div>\r\n * <ng-template #elseBlock>Content to render when value is null.</ng-template>\r\n * ```\r\n *\r\n * @usageNotes\r\n *\r\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\r\n * as seen in the following example.\r\n * The default `else` template is blank.\r\n *\r\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\r\n *\r\n * ### Showing an alternative template using `else`\r\n *\r\n * To display a template when `expression` evaluates to false, use an `else` template\r\n * binding as shown in the following example.\r\n * The `else` binding points to an `<ng-template>` element labeled `#elseBlock`.\r\n * The template can be defined anywhere in the component view, but is typically placed right after\r\n * `ngIf` for readability.\r\n *\r\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\r\n *\r\n * ### Using an external `then` template\r\n *\r\n * In the previous example, the then-clause template is specified inline, as the content of the\r\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\r\n * externally, by referencing a labeled `<ng-template>` element. When you do this, you can\r\n * change which template to use at runtime, as shown in the following example.\r\n *\r\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\r\n *\r\n * ### Storing a conditional result in a variable\r\n *\r\n * You might want to show a set of properties from the same object. If you are waiting\r\n * for asynchronous data, the object can be undefined.\r\n * In this case, you can use `ngIf` and store the result of the condition in a local\r\n * variable as shown in the following example.\r\n *\r\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\r\n *\r\n * This code uses only one `AsyncPipe`, so only one subscription is created.\r\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\r\n * You can then bind the local `user` repeatedly.\r\n *\r\n * The conditional displays the data only if `userStream` returns a value,\r\n * so you don't need to use the\r\n * safe-navigation-operator (`?.`)\r\n * to guard against null values when accessing properties.\r\n * You can display an alternative template while waiting for the data.\r\n *\r\n * ### Shorthand syntax\r\n *\r\n * The shorthand syntax `*ngIf` expands into two separate template specifications\r\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\r\n * that is meant to show a loading page while waiting for data to be loaded.\r\n *\r\n * ```\r\n * <div class=\"hero-list\" *ngIf=\"heroes else loading\">\r\n * ...\r\n * </div>\r\n *\r\n * <ng-template #loading>\r\n * <div>Loading...</div>\r\n * </ng-template>\r\n * ```\r\n *\r\n * You can see that the \"else\" clause references the `<ng-template>`\r\n * with the `#loading` label, and the template for the \"then\" clause\r\n * is provided as the content of the anchor element.\r\n *\r\n * However, when Angular expands the shorthand syntax, it creates\r\n * another `<ng-template>` tag, with `ngIf` and `ngIfElse` directives.\r\n * The anchor element containing the template for the \"then\" clause becomes\r\n * the content of this unlabeled `<ng-template>` tag.\r\n *\r\n * ```\r\n * <ng-template [ngIf]=\"heroes\" [ngIfElse]=\"loading\">\r\n * <div class=\"hero-list\">\r\n * ...\r\n * </div>\r\n * </ng-template>\r\n *\r\n * <ng-template #loading>\r\n * <div>Loading...</div>\r\n * </ng-template>\r\n * ```\r\n *\r\n * The presence of the implicit template object has implications for the nesting of\r\n * structural directives. For more on this subject, see\r\n * [Structural Directives](https://angular.io/guide/built-in-directives#one-per-element).\r\n *\r\n * @ngModule CommonModule\r\n * @publicApi\r\n */\r\nexport declare class NgIf<T = unknown> {\r\n private _viewContainer;\r\n private _context;\r\n private _thenTemplateRef;\r\n private _elseTemplateRef;\r\n private _thenViewRef;\r\n private _elseViewRef;\r\n constructor(_viewContainer: ViewContainerRef, templateRef: TemplateRef<NgIfContext<T>>);\r\n /**\r\n * The Boolean expression to evaluate as the condition for showing a template.\r\n */\r\n set ngIf(condition: T);\r\n /**\r\n * A template to show if the condition expression evaluates to true.\r\n */\r\n set ngIfThen(templateRef: TemplateRef<NgIfContext<T>> | null);\r\n /**\r\n * A template to show if the condition expression evaluates to false.\r\n */\r\n set ngIfElse(templateRef: TemplateRef<NgIfContext<T>> | null);\r\n private _updateView;\r\n /**\r\n * Assert the correct type of the expression bound to the `ngIf` input within the template.\r\n *\r\n * The presence of this static field is a signal to the Ivy template type check compiler that\r\n * when the `NgIf` structural directive renders its template, the type of the expression bound\r\n * to `ngIf` should be narrowed in some way. For `NgIf`, the binding expression itself is used to\r\n * narrow its type, which allows the strictNullChecks feature of TypeScript to work with `NgIf`.\r\n */\r\n static ngTemplateGuard_ngIf: 'binding';\r\n /**\r\n * Asserts the correct type of the context for the template that `NgIf` will render.\r\n *\r\n * The presence of this method is a signal to the Ivy template type-check compiler that the\r\n * `NgIf` structural directive renders its template with a specific context type.\r\n */\r\n static ngTemplateContextGuard<T>(dir: NgIf<T>, ctx: any): ctx is NgIfContext<Exclude<T, false | 0 | '' | null | undefined>>;\r\n}\r\n\r\n/**\r\n * @publicApi\r\n */\r\nexport declare class NgIfContext<T = unknown> {\r\n $implicit: T;\r\n ngIf: T;\r\n}\r\n\r\n/**\r\n * Returns the plural case based on the locale\r\n *\r\n * @publicApi\r\n */\r\nexport declare class NgLocaleLocalization extends NgLocalization {\r\n protected locale: string;\r\n constructor(locale: string);\r\n getPluralCategory(value: any, locale?: string): string;\r\n}\r\n\r\n\r\n/**\r\n * @publicApi\r\n */\r\nexport declare abstract class NgLocalization {\r\n abstract getPluralCategory(value: any, locale?: string): string;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n *\r\n * @usageNotes\r\n * ```\r\n * <some-element [ngPlural]=\"value\">\r\n * <ng-template ngPluralCase=\"=0\">there is nothing</ng-template>\r\n * <ng-template ngPluralCase=\"=1\">there is one</ng-template>\r\n * <ng-template ngPluralCase=\"few\">there are a few</ng-template>\r\n * </some-element>\r\n * ```\r\n *\r\n * @description\r\n *\r\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\r\n *\r\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\r\n * that match the switch expression's pluralization category.\r\n *\r\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\r\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\r\n * expression:\r\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\r\n * matches the switch expression exactly,\r\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\r\n * value matches aren't found and the value maps to its category for the defined locale.\r\n *\r\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\r\n *\r\n * @publicApi\r\n */\r\nexport declare class NgPlural {\r\n private _localization;\r\n private _switchValue;\r\n private _activeView;\r\n private _caseViews;\r\n constructor(_localization: NgLocalization);\r\n set ngPlural(value: number);\r\n addCase(value: string, switchView: SwitchView): void;\r\n private _updateView;\r\n private _clearViews;\r\n private _activateView;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n *\r\n * @description\r\n *\r\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\r\n * given expression matches the plural expression according to CLDR rules.\r\n *\r\n * @usageNotes\r\n * ```\r\n * <some-element [ngPlural]=\"value\">\r\n * <ng-template ngPluralCase=\"=0\">...</ng-template>\r\n * <ng-template ngPluralCase=\"other\">...</ng-template>\r\n * </some-element>\r\n *```\r\n *\r\n * See {@link NgPlural} for more details and example.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class NgPluralCase {\r\n value: string;\r\n constructor(value: string, template: TemplateRef<Object>, viewContainer: ViewContainerRef, ngPlural: NgPlural);\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n *\r\n * @usageNotes\r\n *\r\n * Set the font of the containing element to the result of an expression.\r\n *\r\n * ```\r\n * <some-element [ngStyle]=\"{'font-style': styleExp}\">...</some-element>\r\n * ```\r\n *\r\n * Set the width of the containing element to a pixel value returned by an expression.\r\n *\r\n * ```\r\n * <some-element [ngStyle]=\"{'max-width.px': widthExp}\">...</some-element>\r\n * ```\r\n *\r\n * Set a collection of style values using an expression that returns key-value pairs.\r\n *\r\n * ```\r\n * <some-element [ngStyle]=\"objExp\">...</some-element>\r\n * ```\r\n *\r\n * @description\r\n *\r\n * An attribute directive that updates styles for the containing HTML element.\r\n * Sets one or more style properties, specified as colon-separated key-value pairs.\r\n * The key is a style name, with an optional `.<unit>` suffix\r\n * (such as 'top.px', 'font-style.em').\r\n * The value is an expression to be evaluated.\r\n * The resulting non-null value, expressed in the given unit,\r\n * is assigned to the given style property.\r\n * If the result of evaluation is null, the corresponding style is removed.\r\n *\r\n * @publicApi\r\n */\r\nexport declare class NgStyle implements DoCheck {\r\n private _ngEl;\r\n private _differs;\r\n private _renderer;\r\n private _ngStyle;\r\n private _differ;\r\n constructor(_ngEl: ElementRef, _differs: KeyValueDiffers, _renderer: Renderer2);\r\n set ngStyle(values: {\r\n [klass: string]: any;\r\n } | null);\r\n ngDoCheck(): void;\r\n private _setStyle;\r\n private _applyChanges;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n *\r\n * @description\r\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\r\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\r\n * - Every view that matches is rendered.\r\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\r\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\r\n * or `ngSwitchDefault` directive are preserved at the location.\r\n *\r\n * @usageNotes\r\n * Define a container element for the directive, and specify the switch expression\r\n * to match against as an attribute:\r\n *\r\n * ```\r\n * <container-element [ngSwitch]=\"switch_expression\">\r\n * ```\r\n *\r\n * Within the container, `*ngSwitchCase` statements specify the match expressions\r\n * as attributes. Include `*ngSwitchDefault` as the final case.\r\n *\r\n * ```\r\n * <container-element [ngSwitch]=\"switch_expression\">\r\n * <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\r\n * ...\r\n * <some-element *ngSwitchDefault>...</some-element>\r\n * </container-element>\r\n * ```\r\n *\r\n * ### Usage Examples\r\n *\r\n * The following example shows how to use more than one case to display the same view:\r\n *\r\n * ```\r\n * <container-element [ngSwitch]=\"switch_expression\">\r\n * <!-- the same view can be shown in more than one case -->\r\n * <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\r\n * <some-element *ngSwitchCase=\"match_expression_2\">...</some-element>\r\n * <some-other-element *ngSwitchCase=\"match_expression_3\">...</some-other-element>\r\n * <!--default case when there are no matches -->\r\n * <some-element *ngSwitchDefault>...</some-element>\r\n * </container-element>\r\n * ```\r\n *\r\n * The following example shows how cases can be nested:\r\n * ```\r\n * <container-element [ngSwitch]=\"switch_expression\">\r\n * <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\r\n * <some-element *ngSwitchCase=\"match_expression_2\">...</some-element>\r\n * <some-other-element *ngSwitchCase=\"match_expression_3\">...</some-other-element>\r\n * <ng-container *ngSwitchCase=\"match_expression_3\">\r\n * <!-- use a ng-container to group multiple root nodes -->\r\n * <inner-element></inner-element>\r\n * <inner-other-element></inner-other-element>\r\n * </ng-container>\r\n * <some-element *ngSwitchDefault>...</some-element>\r\n * </container-element>\r\n * ```\r\n *\r\n * @publicApi\r\n * @see `NgSwitchCase`\r\n * @see `NgSwitchDefault`\r\n * @see [Structural Directives](guide/structural-directives)\r\n *\r\n */\r\nexport declare class NgSwitch {\r\n private _defaultViews;\r\n private _defaultUsed;\r\n private _caseCount;\r\n private _lastCaseCheckIndex;\r\n private _lastCasesMatched;\r\n private _ngSwitch;\r\n set ngSwitch(newValue: any);\r\n private _updateDefaultCases;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n *\r\n * @description\r\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\r\n * When the expressions match, the given `NgSwitchCase` template is rendered.\r\n * If multiple match expressions match the switch expression value, all of them are displayed.\r\n *\r\n * @usageNotes\r\n *\r\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\r\n * as attributes. Include `*ngSwitchDefault` as the final case.\r\n *\r\n * ```\r\n * <container-element [ngSwitch]=\"switch_expression\">\r\n * <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\r\n * ...\r\n * <some-element *ngSwitchDefault>...</some-element>\r\n * </container-element>\r\n * ```\r\n *\r\n * Each switch-case statement contains an in-line HTML template or template reference\r\n * that defines the subtree to be selected if the value of the match expression\r\n * matches the value of the switch expression.\r\n *\r\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\r\n * This means that the empty string, `\"\"` matches 0.\r\n *\r\n * @publicApi\r\n * @see `NgSwitch`\r\n * @see `NgSwitchDefault`\r\n *\r\n */\r\nexport declare class NgSwitchCase implements DoCheck {\r\n private ngSwitch;\r\n private _view;\r\n /**\r\n * Stores the HTML template to be selected on match.\r\n */\r\n ngSwitchCase: any;\r\n constructor(viewContainer: ViewContainerRef, templateRef: TemplateRef<Object>, ngSwitch: NgSwitch);\r\n /**\r\n * Performs case matching. For internal use only.\r\n */\r\n ngDoCheck(): void;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n *\r\n * @description\r\n *\r\n * Creates a view that is rendered when no `NgSwitchCase` expressions\r\n * match the `NgSwitch` expression.\r\n * This statement should be the final case in an `NgSwitch`.\r\n *\r\n * @publicApi\r\n * @see `NgSwitch`\r\n * @see `NgSwitchCase`\r\n *\r\n */\r\nexport declare class NgSwitchDefault {\r\n constructor(viewContainer: ViewContainerRef, templateRef: TemplateRef<Object>, ngSwitch: NgSwitch);\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n *\r\n * @description\r\n *\r\n * Inserts an embedded view from a prepared `TemplateRef`.\r\n *\r\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\r\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\r\n * by the local template `let` declarations.\r\n *\r\n * @usageNotes\r\n * ```\r\n * <ng-container *ngTemplateOutlet=\"templateRefExp; context: contextExp\"></ng-container>\r\n * ```\r\n *\r\n * Using the key `$implicit` in the context object will set its value as default.\r\n *\r\n * ### Example\r\n *\r\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class NgTemplateOutlet implements OnChanges {\r\n private _viewContainerRef;\r\n private _viewRef;\r\n /**\r\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\r\n * object, the object's keys will be available for binding by the local template `let`\r\n * declarations.\r\n * Using the key `$implicit` in the context object will set its value as default.\r\n */\r\n ngTemplateOutletContext: Object | null;\r\n /**\r\n * A string defining the template reference and optionally the context object for the template.\r\n */\r\n ngTemplateOutlet: TemplateRef<any> | null;\r\n constructor(_viewContainerRef: ViewContainerRef);\r\n ngOnChanges(changes: SimpleChanges): void;\r\n}\r\n\r\n\r\n/**\r\n * Format styles that can be used to represent numbers.\r\n * @see `getLocaleNumberFormat()`.\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare enum NumberFormatStyle {\r\n Decimal = 0,\r\n Percent = 1,\r\n Currency = 2,\r\n Scientific = 3\r\n}\r\n\r\n/**\r\n * Symbols that can be used to replace placeholders in number patterns.\r\n * Examples are based on `en-US` values.\r\n *\r\n * @see `getLocaleNumberSymbol()`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare enum NumberSymbol {\r\n /**\r\n * Decimal separator.\r\n * For `en-US`, the dot character.\r\n * Example: 2,345`.`67\r\n */\r\n Decimal = 0,\r\n /**\r\n * Grouping separator, typically for thousands.\r\n * For `en-US`, the comma character.\r\n * Example: 2`,`345.67\r\n */\r\n Group = 1,\r\n /**\r\n * List-item separator.\r\n * Example: \"one, two, and three\"\r\n */\r\n List = 2,\r\n /**\r\n * Sign for percentage (out of 100).\r\n * Example: 23.4%\r\n */\r\n PercentSign = 3,\r\n /**\r\n * Sign for positive numbers.\r\n * Example: +23\r\n */\r\n PlusSign = 4,\r\n /**\r\n * Sign for negative numbers.\r\n * Example: -23\r\n */\r\n MinusSign = 5,\r\n /**\r\n * Computer notation for exponential value (n times a power of 10).\r\n * Example: 1.2E3\r\n */\r\n Exponential = 6,\r\n /**\r\n * Human-readable format of exponential.\r\n * Example: 1.2x103\r\n */\r\n SuperscriptingExponent = 7,\r\n /**\r\n * Sign for permille (out of 1000).\r\n * Example: 23.4‰\r\n */\r\n PerMille = 8,\r\n /**\r\n * Infinity, can be used with plus and minus.\r\n * Example: ∞, +∞, -∞\r\n */\r\n Infinity = 9,\r\n /**\r\n * Not a number.\r\n * Example: NaN\r\n */\r\n NaN = 10,\r\n /**\r\n * Symbol used between time units.\r\n * Example: 10:52\r\n */\r\n TimeSeparator = 11,\r\n /**\r\n * Decimal separator for currency values (fallback to `Decimal`).\r\n * Example: $2,345.67\r\n */\r\n CurrencyDecimal = 12,\r\n /**\r\n * Group separator for currency values (fallback to `Group`).\r\n * Example: $2,345.67\r\n */\r\n CurrencyGroup = 13\r\n}\r\n\r\n/**\r\n * @description\r\n * A {@link LocationStrategy} used to configure the {@link Location} service to\r\n * represent its state in the\r\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\r\n * browser's URL.\r\n *\r\n * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}\r\n * or add a `<base href>` element to the document.\r\n *\r\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\r\n * `location.go('/foo')`, the browser's URL will become\r\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\r\n * the `<base href>` and/or `APP_BASE_HREF` should end with a `/`.\r\n *\r\n * Similarly, if you add `<base href='/my/app/'/>` to the document and call\r\n * `location.go('/foo')`, the browser's URL will become\r\n * `example.com/my/app/foo`.\r\n *\r\n * Note that when using `PathLocationStrategy`, neither the query nor\r\n * the fragment in the `<base href>` will be preserved, as outlined\r\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\r\n *\r\n * @usageNotes\r\n *\r\n * ### Example\r\n *\r\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class PathLocationStrategy extends LocationStrategy implements OnDestroy {\r\n private _platformLocation;\r\n private _baseHref;\r\n private _removeListenerFns;\r\n constructor(_platformLocation: PlatformLocation, href?: string);\r\n ngOnDestroy(): void;\r\n onPopState(fn: LocationChangeListener): void;\r\n getBaseHref(): string;\r\n prepareExternalUrl(internal: string): string;\r\n path(includeHash?: boolean): string;\r\n pushState(state: any, title: string, url: string, queryParams: string): void;\r\n replaceState(state: any, title: string, url: string, queryParams: string): void;\r\n forward(): void;\r\n back(): void;\r\n historyGo(relativePosition?: number): void;\r\n}\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Transforms a number to a percentage\r\n * string, formatted according to locale rules that determine group sizing and\r\n * separator, decimal-point character, and other locale-specific\r\n * configurations.\r\n *\r\n * @see `formatPercent()`\r\n *\r\n * @usageNotes\r\n * The following code shows how the pipe transforms numbers\r\n * into text strings, according to various format specifications,\r\n * where the caller's default locale is `en-US`.\r\n *\r\n * <code-example path=\"common/pipes/ts/percent_pipe.ts\" region='PercentPipe'></code-example>\r\n *\r\n * @publicApi\r\n */\r\nexport declare class PercentPipe implements PipeTransform {\r\n private _locale;\r\n constructor(_locale: string);\r\n transform(value: number | string, digitsInfo?: string, locale?: string): string | null;\r\n transform(value: null | undefined, digitsInfo?: string, locale?: string): null;\r\n transform(value: number | string | null | undefined, digitsInfo?: string, locale?: string): string | null;\r\n}\r\n\r\n/**\r\n * This class should not be used directly by an application developer. Instead, use\r\n * {@link Location}.\r\n *\r\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\r\n * platform-agnostic.\r\n * This means that we can have different implementation of `PlatformLocation` for the different\r\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\r\n * implementation specific to the browser environment, while `@angular/platform-server` provides\r\n * one suitable for use with server-side rendering.\r\n *\r\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\r\n * when they need to interact with the DOM APIs like pushState, popState, etc.\r\n *\r\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\r\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\r\n * Router} /\r\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\r\n * class, they are all platform-agnostic.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class PlatformLocation {\r\n abstract getBaseHrefFromDOM(): string;\r\n abstract getState(): unknown;\r\n /**\r\n * Returns a function that, when executed, removes the `popstate` event handler.\r\n */\r\n abstract onPopState(fn: LocationChangeListener): VoidFunction;\r\n /**\r\n * Returns a function that, when executed, removes the `hashchange` event handler.\r\n */\r\n abstract onHashChange(fn: LocationChangeListener): VoidFunction;\r\n abstract get href(): string;\r\n abstract get protocol(): string;\r\n abstract get hostname(): string;\r\n abstract get port(): string;\r\n abstract get pathname(): string;\r\n abstract get search(): string;\r\n abstract get hash(): string;\r\n abstract replaceState(state: any, title: string, url: string): void;\r\n abstract pushState(state: any, title: string, url: string): void;\r\n abstract forward(): void;\r\n abstract back(): void;\r\n historyGo?(relativePosition: number): void;\r\n}\r\n\r\n/**\r\n * Plurality cases used for translating plurals to different languages.\r\n *\r\n * @see `NgPlural`\r\n * @see `NgPluralCase`\r\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\r\n *\r\n * @publicApi\r\n */\r\nexport declare enum Plural {\r\n Zero = 0,\r\n One = 1,\r\n Two = 2,\r\n Few = 3,\r\n Many = 4,\r\n Other = 5\r\n}\r\n\r\n/** @publicApi */\r\ndeclare interface PopStateEvent_2 {\r\n pop?: boolean;\r\n state?: any;\r\n type?: string;\r\n url?: string;\r\n}\r\nexport { PopStateEvent_2 as PopStateEvent }\r\n\r\n\r\n/**\r\n * Register global data to be used internally by Angular. See the\r\n * [\"I18n guide\"](guide/i18n-common-format-data-locale) to know how to import additional locale\r\n * data.\r\n *\r\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\r\n *\r\n * @publicApi\r\n */\r\nexport declare function registerLocaleData(data: any, localeId?: string | any, extraData?: any): void;\r\n\r\n/**\r\n * @ngModule CommonModule\r\n * @description\r\n *\r\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\r\n *\r\n * @usageNotes\r\n *\r\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\r\n * and `String.prototype.slice()`.\r\n *\r\n * When operating on an `Array`, the returned `Array` is always a copy even when all\r\n * the elements are being returned.\r\n *\r\n * When operating on a blank value, the pipe returns the blank value.\r\n *\r\n * ### List Example\r\n *\r\n * This `ngFor` example:\r\n *\r\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\r\n *\r\n * produces the following:\r\n *\r\n * ```html\r\n * <li>b</li>\r\n * <li>c</li>\r\n * ```\r\n *\r\n * ### String Examples\r\n *\r\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\r\n *\r\n * @publicApi\r\n */\r\nexport declare class SlicePipe implements PipeTransform {\r\n /**\r\n * @param value a list or a string to be sliced.\r\n * @param start the starting index of the subset to return:\r\n * - **a positive integer**: return the item at `start` index and all items after\r\n * in the list or string expression.\r\n * - **a negative integer**: return the item at `start` index from the end and all items after\r\n * in the list or string expression.\r\n * - **if positive and greater than the size of the expression**: return an empty list or\r\n * string.\r\n * - **if negative and greater than the size of the expression**: return entire list or string.\r\n * @param end the ending index of the subset to return:\r\n * - **omitted**: return all items until the end.\r\n * - **if positive**: return all items before `end` index of the list or string.\r\n * - **if negative**: return all items before `end` index from the end of the list or string.\r\n */\r\n transform<T>(value: ReadonlyArray<T>, start: number, end?: number): Array<T>;\r\n transform(value: null | undefined, start: number, end?: number): null;\r\n transform<T>(value: ReadonlyArray<T> | null | undefined, start: number, end?: number): Array<T> | null;\r\n transform(value: string, start: number, end?: number): string;\r\n transform(value: string | null | undefined, start: number, end?: number): string | null;\r\n private supports;\r\n}\r\n\r\ndeclare class SwitchView {\r\n private _viewContainerRef;\r\n private _templateRef;\r\n private _created;\r\n constructor(_viewContainerRef: ViewContainerRef, _templateRef: TemplateRef<Object>);\r\n create(): void;\r\n destroy(): void;\r\n enforceState(created: boolean): void;\r\n}\r\n\r\n/**\r\n * Represents a time value with hours and minutes.\r\n *\r\n * @publicApi\r\n */\r\nexport declare type Time = {\r\n hours: number;\r\n minutes: number;\r\n};\r\n\r\n/**\r\n * Transforms text to title case.\r\n * Capitalizes the first letter of each word and transforms the\r\n * rest of the word to lower case.\r\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\r\n *\r\n * @see `LowerCasePipe`\r\n * @see `UpperCasePipe`\r\n *\r\n * @usageNotes\r\n * The following example shows the result of transforming various strings into title case.\r\n *\r\n * <code-example path=\"common/pipes/ts/titlecase_pipe.ts\" region='TitleCasePipe'></code-example>\r\n *\r\n * @ngModule CommonModule\r\n * @publicApi\r\n */\r\nexport declare class TitleCasePipe implements PipeTransform {\r\n /**\r\n * @param value The string to transform to title case.\r\n */\r\n transform(value: string): string;\r\n transform(value: null | undefined): null;\r\n transform(value: string | null | undefined): string | null;\r\n}\r\n\r\n/**\r\n * String widths available for translations.\r\n * The specific character widths are locale-specific.\r\n * Examples are given for the word \"Sunday\" in English.\r\n *\r\n * @publicApi\r\n */\r\nexport declare enum TranslationWidth {\r\n /** 1 character for `en-US`. For example: 'S' */\r\n Narrow = 0,\r\n /** 3 characters for `en-US`. For example: 'Sun' */\r\n Abbreviated = 1,\r\n /** Full length for `en-US`. For example: \"Sunday\" */\r\n Wide = 2,\r\n /** 2 characters for `en-US`, For example: \"Su\" */\r\n Short = 3\r\n}\r\n\r\n/**\r\n * Transforms text to all upper case.\r\n * @see `LowerCasePipe`\r\n * @see `TitleCasePipe`\r\n *\r\n * @ngModule CommonModule\r\n * @publicApi\r\n */\r\nexport declare class UpperCasePipe implements PipeTransform {\r\n /**\r\n * @param value The string to transform to upper case.\r\n */\r\n transform(value: string): string;\r\n transform(value: null | undefined): null;\r\n transform(value: string | null | undefined): string | null;\r\n}\r\n\r\n/**\r\n * @publicApi\r\n */\r\nexport declare const VERSION: Version;\r\n\r\n\r\n/**\r\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class ViewportScroller {\r\n /** @nocollapse */\r\n static ɵprov: unknown;\r\n /**\r\n * Configures the top offset used when scrolling to an anchor.\r\n * @param offset A position in screen coordinates (a tuple with x and y values)\r\n * or a function that returns the top offset position.\r\n *\r\n */\r\n abstract setOffset(offset: [number, number] | (() => [number, number])): void;\r\n /**\r\n * Retrieves the current scroll position.\r\n * @returns A position in screen coordinates (a tuple with x and y values).\r\n */\r\n abstract getScrollPosition(): [number, number];\r\n /**\r\n * Scrolls to a specified position.\r\n * @param position A position in screen coordinates (a tuple with x and y values).\r\n */\r\n abstract scrollToPosition(position: [number, number]): void;\r\n /**\r\n * Scrolls to an anchor element.\r\n * @param anchor The ID of the anchor element.\r\n */\r\n abstract scrollToAnchor(anchor: string): void;\r\n /**\r\n * Disables automatic scroll restoration provided by the browser.\r\n * See also [window.history.scrollRestoration\r\n * info](https://developers.google.com/web/updates/2015/09/history-api-scroll-restoration).\r\n */\r\n abstract setHistoryScrollRestoration(scrollRestoration: 'auto' | 'manual'): void;\r\n}\r\n\r\n/**\r\n * The value for each day of the week, based on the `en-US` locale\r\n *\r\n * @publicApi\r\n */\r\nexport declare enum WeekDay {\r\n Sunday = 0,\r\n Monday = 1,\r\n Tuesday = 2,\r\n Wednesday = 3,\r\n Thursday = 4,\r\n Friday = 5,\r\n Saturday = 6\r\n}\r\n\r\n\r\n/**\r\n * A wrapper around the `XMLHttpRequest` constructor.\r\n *\r\n * @publicApi\r\n */\r\nexport declare abstract class XhrFactory {\r\n abstract build(): XMLHttpRequest;\r\n}\r\n\r\nexport declare function ɵangular_packages_common_common_a(): ɵBrowserPlatformLocation;\r\n\r\nexport declare function ɵangular_packages_common_common_b(): ɵBrowserPlatformLocation;\r\n\r\nexport declare function ɵangular_packages_common_common_c(): Location_2;\r\n\r\nexport declare function ɵangular_packages_common_common_d(platformLocation: PlatformLocation): PathLocationStrategy;\r\n\r\n/**\r\n * A collection of Angular directives that are likely to be used in each and every Angular\r\n * application.\r\n */\r\nexport declare const ɵangular_packages_common_common_e: Provider[];\r\n\r\n/**\r\n * A collection of Angular pipes that are likely to be used in each and every application.\r\n */\r\nexport declare const ɵangular_packages_common_common_f: (typeof AsyncPipe | typeof SlicePipe | typeof DecimalPipe | typeof PercentPipe | typeof CurrencyPipe | typeof DatePipe | typeof I18nPluralPipe | typeof I18nSelectPipe | typeof KeyValuePipe)[];\r\n\r\n/**\r\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\r\n * This class should not be used directly by an application developer. Instead, use\r\n * {@link Location}.\r\n */\r\nexport declare class ɵBrowserPlatformLocation extends PlatformLocation {\r\n private _doc;\r\n readonly location: Location;\r\n private _history;\r\n constructor(_doc: any);\r\n getBaseHrefFromDOM(): string;\r\n onPopState(fn: LocationChangeListener): VoidFunction;\r\n onHashChange(fn: LocationChangeListener): VoidFunction;\r\n get href(): string;\r\n get protocol(): string;\r\n get hostname(): string;\r\n get port(): string;\r\n get pathname(): string;\r\n get search(): string;\r\n get hash(): string;\r\n set pathname(newPath: string);\r\n pushState(state: any, title: string, url: string): void;\r\n replaceState(state: any, title: string, url: string): void;\r\n forward(): void;\r\n back(): void;\r\n historyGo(relativePosition?: number): void;\r\n getState(): unknown;\r\n}\r\n\r\n/**\r\n * Provides DOM operations in an environment-agnostic way.\r\n *\r\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\r\n * can introduce XSS risks.\r\n */\r\nexport declare abstract class ɵDomAdapter {\r\n abstract dispatchEvent(el: any, evt: any): any;\r\n abstract readonly supportsDOMEvents: boolean;\r\n abstract remove(el: any): void;\r\n abstract createElement(tagName: any, doc?: any): HTMLElement;\r\n abstract createHtmlDocument(): HTMLDocument;\r\n abstract getDefaultDocument(): Document;\r\n abstract isElementNode(node: any): boolean;\r\n abstract isShadowRoot(node: any): boolean;\r\n abstract onAndCancel(el: any, evt: any, listener: any): Function;\r\n abstract getGlobalEventTarget(doc: Document, target: string): any;\r\n abstract getBaseHref(doc: Document): string | null;\r\n abstract resetBaseElement(): void;\r\n abstract getUserAgent(): string;\r\n abstract getCookie(name: string): string | null;\r\n}\r\n\r\n\r\nexport declare function ɵgetDOM(): ɵDomAdapter;\r\n\r\n/**\r\n * Provides an empty implementation of the viewport scroller.\r\n */\r\nexport declare class ɵNullViewportScroller implements ViewportScroller {\r\n /**\r\n * Empty implementation\r\n */\r\n setOffset(offset: [number, number] | (() => [number, number])): void;\r\n /**\r\n * Empty implementation\r\n */\r\n getScrollPosition(): [number, number];\r\n /**\r\n * Empty implementation\r\n */\r\n scrollToPosition(position: [number, number]): void;\r\n /**\r\n * Empty implementation\r\n */\r\n scrollToAnchor(anchor: string): void;\r\n /**\r\n * Empty implementation\r\n */\r\n setHistoryScrollRestoration(scrollRestoration: 'auto' | 'manual'): void;\r\n}\r\n\r\n\r\nexport declare function ɵparseCookieValue(cookieStr: string, name: string): string | null;\r\n\r\n\r\nexport declare const ɵPLATFORM_BROWSER_ID = \"browser\";\r\n\r\nexport declare const ɵPLATFORM_SERVER_ID = \"server\";\r\n\r\nexport declare const ɵPLATFORM_WORKER_APP_ID = \"browserWorkerApp\";\r\n\r\nexport declare const ɵPLATFORM_WORKER_UI_ID = \"browserWorkerUi\";\r\n\r\nexport declare function ɵsetRootDomAdapter(adapter: ɵDomAdapter): void;\r\n\r\nexport { }\r\n"]} |
---|