@dereekb/dbx-firebase 12.6.21 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/LICENSE +1 -1
  2. package/fesm2022/dereekb-dbx-firebase.mjs +910 -1396
  3. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  4. package/package.json +21 -23
  5. package/types/dereekb-dbx-firebase.d.ts +4304 -0
  6. package/esm2022/dereekb-dbx-firebase.mjs +0 -5
  7. package/esm2022/index.mjs +0 -2
  8. package/esm2022/lib/analytics/analytics.user.events.providers.mjs +0 -25
  9. package/esm2022/lib/analytics/analytics.user.events.service.mjs +0 -37
  10. package/esm2022/lib/analytics/analytics.user.source.mjs +0 -48
  11. package/esm2022/lib/analytics/index.mjs +0 -4
  12. package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +0 -76
  13. package/esm2022/lib/auth/appcheck/appcheck.mjs +0 -11
  14. package/esm2022/lib/auth/appcheck/index.mjs +0 -3
  15. package/esm2022/lib/auth/auth.mjs +0 -22
  16. package/esm2022/lib/auth/firebase.auth.module.mjs +0 -22
  17. package/esm2022/lib/auth/firebase.auth.providers.mjs +0 -27
  18. package/esm2022/lib/auth/index.mjs +0 -7
  19. package/esm2022/lib/auth/login/firebase.login.module.mjs +0 -124
  20. package/esm2022/lib/auth/login/firebase.login.providers.default.mjs +0 -109
  21. package/esm2022/lib/auth/login/firebase.login.providers.mjs +0 -59
  22. package/esm2022/lib/auth/login/index.mjs +0 -27
  23. package/esm2022/lib/auth/login/login.anonymous.component.mjs +0 -23
  24. package/esm2022/lib/auth/login/login.apple.component.mjs +0 -23
  25. package/esm2022/lib/auth/login/login.button.component.mjs +0 -148
  26. package/esm2022/lib/auth/login/login.component.mjs +0 -39
  27. package/esm2022/lib/auth/login/login.context.back.component.mjs +0 -26
  28. package/esm2022/lib/auth/login/login.context.directive.mjs +0 -30
  29. package/esm2022/lib/auth/login/login.context.mjs +0 -7
  30. package/esm2022/lib/auth/login/login.email.component.mjs +0 -24
  31. package/esm2022/lib/auth/login/login.email.content.component.mjs +0 -102
  32. package/esm2022/lib/auth/login/login.email.form.component.mjs +0 -27
  33. package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +0 -21
  34. package/esm2022/lib/auth/login/login.facebook.component.mjs +0 -23
  35. package/esm2022/lib/auth/login/login.github.component.mjs +0 -23
  36. package/esm2022/lib/auth/login/login.google.component.mjs +0 -23
  37. package/esm2022/lib/auth/login/login.list.component.mjs +0 -71
  38. package/esm2022/lib/auth/login/login.microsoft.component.mjs +0 -23
  39. package/esm2022/lib/auth/login/login.mjs +0 -3
  40. package/esm2022/lib/auth/login/login.password.mjs +0 -4
  41. package/esm2022/lib/auth/login/login.service.mjs +0 -127
  42. package/esm2022/lib/auth/login/login.terms.component.mjs +0 -29
  43. package/esm2022/lib/auth/login/login.terms.mjs +0 -6
  44. package/esm2022/lib/auth/login/login.terms.simple.component.mjs +0 -38
  45. package/esm2022/lib/auth/login/login.twitter.component.mjs +0 -23
  46. package/esm2022/lib/auth/login/register.component.mjs +0 -27
  47. package/esm2022/lib/auth/login/register.email.component.mjs +0 -23
  48. package/esm2022/lib/auth/service/firebase.auth.rxjs.mjs +0 -46
  49. package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +0 -28
  50. package/esm2022/lib/auth/service/firebase.auth.service.mjs +0 -193
  51. package/esm2022/lib/auth/service/index.mjs +0 -4
  52. package/esm2022/lib/development/development.directive.mjs +0 -78
  53. package/esm2022/lib/development/development.module.mjs +0 -61
  54. package/esm2022/lib/development/development.popup.component.mjs +0 -44
  55. package/esm2022/lib/development/development.popup.content.component.mjs +0 -79
  56. package/esm2022/lib/development/development.popup.content.form.component.mjs +0 -39
  57. package/esm2022/lib/development/development.providers.mjs +0 -47
  58. package/esm2022/lib/development/development.scheduler.list.component.mjs +0 -79
  59. package/esm2022/lib/development/development.scheduler.service.mjs +0 -78
  60. package/esm2022/lib/development/development.scheduler.widget.component.mjs +0 -40
  61. package/esm2022/lib/development/development.service.mjs +0 -20
  62. package/esm2022/lib/development/development.widget.mjs +0 -2
  63. package/esm2022/lib/development/development.widget.service.mjs +0 -56
  64. package/esm2022/lib/development/index.mjs +0 -14
  65. package/esm2022/lib/firebase/appcheck.mjs +0 -2
  66. package/esm2022/lib/firebase/emulators.mjs +0 -14
  67. package/esm2022/lib/firebase/firebase.emulator.module.mjs +0 -23
  68. package/esm2022/lib/firebase/firebase.emulator.providers.mjs +0 -33
  69. package/esm2022/lib/firebase/firebase.emulator.service.mjs +0 -29
  70. package/esm2022/lib/firebase/firebase.module.mjs +0 -26
  71. package/esm2022/lib/firebase/firebase.options.environment.mjs +0 -2
  72. package/esm2022/lib/firebase/firebase.options.mjs +0 -3
  73. package/esm2022/lib/firebase/firebase.providers.mjs +0 -149
  74. package/esm2022/lib/firebase/index.mjs +0 -10
  75. package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +0 -18
  76. package/esm2022/lib/firestore/firebase.firestore.mjs +0 -6
  77. package/esm2022/lib/firestore/firebase.firestore.module.mjs +0 -23
  78. package/esm2022/lib/firestore/firebase.firestore.providers.mjs +0 -86
  79. package/esm2022/lib/firestore/index.mjs +0 -5
  80. package/esm2022/lib/function/firebase.function.module.mjs +0 -23
  81. package/esm2022/lib/function/firebase.function.providers.mjs +0 -54
  82. package/esm2022/lib/function/index.mjs +0 -3
  83. package/esm2022/lib/index.mjs +0 -14
  84. package/esm2022/lib/model/error.mjs +0 -6
  85. package/esm2022/lib/model/index.mjs +0 -7
  86. package/esm2022/lib/model/loader/collection.change.trigger.mjs +0 -80
  87. package/esm2022/lib/model/loader/collection.change.watcher.mjs +0 -35
  88. package/esm2022/lib/model/loader/collection.loader.instance.mjs +0 -227
  89. package/esm2022/lib/model/loader/collection.loader.mjs +0 -2
  90. package/esm2022/lib/model/loader/document.loader.instance.mjs +0 -68
  91. package/esm2022/lib/model/loader/document.loader.mjs +0 -2
  92. package/esm2022/lib/model/loader/index.mjs +0 -7
  93. package/esm2022/lib/model/model.module.mjs +0 -17
  94. package/esm2022/lib/model/modules/index.mjs +0 -3
  95. package/esm2022/lib/model/modules/model/entities/index.mjs +0 -11
  96. package/esm2022/lib/model/modules/model/entities/model.entities.component.mjs +0 -122
  97. package/esm2022/lib/model/modules/model/entities/model.entities.entity.component.mjs +0 -79
  98. package/esm2022/lib/model/modules/model/entities/model.entities.mjs +0 -15
  99. package/esm2022/lib/model/modules/model/entities/model.entities.popover.button.component.mjs +0 -49
  100. package/esm2022/lib/model/modules/model/entities/model.entities.popover.component.mjs +0 -42
  101. package/esm2022/lib/model/modules/model/entities/model.entities.providers.mjs +0 -20
  102. package/esm2022/lib/model/modules/model/entities/model.entities.source.directive.mjs +0 -38
  103. package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.mjs +0 -18
  104. package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.mjs +0 -41
  105. package/esm2022/lib/model/modules/model/entities/model.entities.widget.mjs +0 -51
  106. package/esm2022/lib/model/modules/model/entities/model.entities.widget.service.mjs +0 -91
  107. package/esm2022/lib/model/modules/model/history/index.mjs +0 -7
  108. package/esm2022/lib/model/modules/model/history/model.history.component.mjs +0 -36
  109. package/esm2022/lib/model/modules/model/history/model.history.module.mjs +0 -26
  110. package/esm2022/lib/model/modules/model/history/model.history.popover.button.component.mjs +0 -40
  111. package/esm2022/lib/model/modules/model/history/model.history.popover.component.mjs +0 -36
  112. package/esm2022/lib/model/modules/model/history/model.sourceselect.history.mjs +0 -18
  113. package/esm2022/lib/model/modules/model/history/model.tracker.service.mjs +0 -58
  114. package/esm2022/lib/model/modules/model/index.mjs +0 -8
  115. package/esm2022/lib/model/modules/model/model.key.component.mjs +0 -51
  116. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +0 -67
  117. package/esm2022/lib/model/modules/model/model.types.module.mjs +0 -26
  118. package/esm2022/lib/model/modules/model/model.types.providers.mjs +0 -20
  119. package/esm2022/lib/model/modules/model/model.types.service.mjs +0 -122
  120. package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +0 -45
  121. package/esm2022/lib/model/modules/store/index.mjs +0 -22
  122. package/esm2022/lib/model/modules/store/model.store.module.mjs +0 -21
  123. package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +0 -45
  124. package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +0 -42
  125. package/esm2022/lib/model/modules/store/store.collection.crud.mjs +0 -28
  126. package/esm2022/lib/model/modules/store/store.collection.directive.mjs +0 -99
  127. package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +0 -31
  128. package/esm2022/lib/model/modules/store/store.collection.mjs +0 -79
  129. package/esm2022/lib/model/modules/store/store.document.context.store.directive.mjs +0 -19
  130. package/esm2022/lib/model/modules/store/store.document.context.store.link.mjs +0 -45
  131. package/esm2022/lib/model/modules/store/store.document.context.store.mjs +0 -86
  132. package/esm2022/lib/model/modules/store/store.document.crud.mjs +0 -80
  133. package/esm2022/lib/model/modules/store/store.document.directive.mjs +0 -114
  134. package/esm2022/lib/model/modules/store/store.document.mjs +0 -193
  135. package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +0 -26
  136. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +0 -22
  137. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.mjs +0 -16
  138. package/esm2022/lib/model/modules/store/store.mjs +0 -2
  139. package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +0 -44
  140. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +0 -99
  141. package/esm2022/lib/model/modules/store/store.subcollection.mjs +0 -80
  142. package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +0 -23
  143. package/esm2022/lib/model/service/index.mjs +0 -5
  144. package/esm2022/lib/model/service/model.context.instance.mjs +0 -73
  145. package/esm2022/lib/model/service/model.context.mjs +0 -2
  146. package/esm2022/lib/model/service/model.context.providers.mjs +0 -32
  147. package/esm2022/lib/model/service/model.context.service.mjs +0 -38
  148. package/esm2022/lib/model/system/index.mjs +0 -6
  149. package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +0 -20
  150. package/esm2022/lib/model/system/systemstate.collection.store.mjs +0 -16
  151. package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +0 -35
  152. package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +0 -19
  153. package/esm2022/lib/model/system/systemstate.document.store.mjs +0 -16
  154. package/esm2022/lib/module.mjs +0 -15
  155. package/esm2022/lib/modules/index.mjs +0 -3
  156. package/esm2022/lib/modules/notification/component/index.mjs +0 -6
  157. package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +0 -15
  158. package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +0 -90
  159. package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +0 -37
  160. package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +0 -27
  161. package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +0 -14
  162. package/esm2022/lib/modules/notification/container/index.mjs +0 -3
  163. package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +0 -48
  164. package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +0 -35
  165. package/esm2022/lib/modules/notification/index.mjs +0 -7
  166. package/esm2022/lib/modules/notification/notification.module.mjs +0 -103
  167. package/esm2022/lib/modules/notification/notification.providers.mjs +0 -47
  168. package/esm2022/lib/modules/notification/service/index.mjs +0 -4
  169. package/esm2022/lib/modules/notification/service/notification.template.service.mjs +0 -28
  170. package/esm2022/lib/modules/notification/service/notificationitem.widget.mjs +0 -11
  171. package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +0 -55
  172. package/esm2022/lib/modules/notification/store/index.mjs +0 -18
  173. package/esm2022/lib/modules/notification/store/notification.collection.store.directive.mjs +0 -21
  174. package/esm2022/lib/modules/notification/store/notification.collection.store.mjs +0 -23
  175. package/esm2022/lib/modules/notification/store/notification.document.store.directive.mjs +0 -21
  176. package/esm2022/lib/modules/notification/store/notification.document.store.mjs +0 -33
  177. package/esm2022/lib/modules/notification/store/notification.item.store.mjs +0 -30
  178. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +0 -21
  179. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +0 -16
  180. package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +0 -21
  181. package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +0 -22
  182. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +0 -21
  183. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +0 -16
  184. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +0 -21
  185. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +0 -34
  186. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +0 -21
  187. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +0 -16
  188. package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +0 -21
  189. package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +0 -18
  190. package/esm2022/lib/modules/storagefile/container/index.mjs +0 -8
  191. package/esm2022/lib/modules/storagefile/container/storagefile.download.button.component.mjs +0 -278
  192. package/esm2022/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.mjs +0 -118
  193. package/esm2022/lib/modules/storagefile/container/storagefile.upload.error.mjs +0 -12
  194. package/esm2022/lib/modules/storagefile/container/storagefile.upload.handler.mjs +0 -260
  195. package/esm2022/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.mjs +0 -51
  196. package/esm2022/lib/modules/storagefile/container/storagefile.upload.store.directive.mjs +0 -38
  197. package/esm2022/lib/modules/storagefile/container/storagefile.upload.sync.directive.mjs +0 -36
  198. package/esm2022/lib/modules/storagefile/index.mjs +0 -6
  199. package/esm2022/lib/modules/storagefile/service/index.mjs +0 -3
  200. package/esm2022/lib/modules/storagefile/service/storagefile.download.service.mjs +0 -158
  201. package/esm2022/lib/modules/storagefile/service/storagefile.download.storage.service.mjs +0 -91
  202. package/esm2022/lib/modules/storagefile/storagefile.providers.mjs +0 -33
  203. package/esm2022/lib/modules/storagefile/storagefile.upload.module.mjs +0 -83
  204. package/esm2022/lib/modules/storagefile/store/index.mjs +0 -8
  205. package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.directive.mjs +0 -22
  206. package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.mjs +0 -18
  207. package/esm2022/lib/modules/storagefile/store/storagefile.document.store.directive.mjs +0 -21
  208. package/esm2022/lib/modules/storagefile/store/storagefile.document.store.mjs +0 -23
  209. package/esm2022/lib/modules/storagefile/store/storagefile.upload.store.mjs +0 -63
  210. package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.directive.mjs +0 -21
  211. package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.mjs +0 -18
  212. package/esm2022/lib/pipe/index.mjs +0 -4
  213. package/esm2022/lib/pipe/key.flat.pipe.mjs +0 -20
  214. package/esm2022/lib/pipe/key.twoway.pipe.mjs +0 -20
  215. package/esm2022/lib/pipe/pipe.module.mjs +0 -23
  216. package/esm2022/lib/providers.mjs +0 -48
  217. package/esm2022/lib/router/id.param.redirect.mjs +0 -64
  218. package/esm2022/lib/router/index.mjs +0 -2
  219. package/esm2022/lib/storage/firebase.storage.mjs +0 -10
  220. package/esm2022/lib/storage/firebase.storage.module.mjs +0 -22
  221. package/esm2022/lib/storage/firebase.storage.providers.mjs +0 -44
  222. package/esm2022/lib/storage/firebase.storage.service.mjs +0 -27
  223. package/esm2022/lib/storage/index.mjs +0 -5
  224. package/index.d.ts +0 -1
  225. package/lib/analytics/analytics.user.events.providers.d.ts +0 -6
  226. package/lib/analytics/analytics.user.events.service.d.ts +0 -19
  227. package/lib/analytics/analytics.user.source.d.ts +0 -21
  228. package/lib/analytics/index.d.ts +0 -3
  229. package/lib/auth/appcheck/appcheck.d.ts +0 -8
  230. package/lib/auth/appcheck/appcheck.interceptor.d.ts +0 -15
  231. package/lib/auth/appcheck/index.d.ts +0 -2
  232. package/lib/auth/auth.d.ts +0 -15
  233. package/lib/auth/firebase.auth.module.d.ts +0 -13
  234. package/lib/auth/firebase.auth.providers.d.ts +0 -21
  235. package/lib/auth/index.d.ts +0 -6
  236. package/lib/auth/login/firebase.login.module.d.ts +0 -36
  237. package/lib/auth/login/firebase.login.providers.d.ts +0 -32
  238. package/lib/auth/login/firebase.login.providers.default.d.ts +0 -7
  239. package/lib/auth/login/index.d.ts +0 -26
  240. package/lib/auth/login/login.anonymous.component.d.ts +0 -8
  241. package/lib/auth/login/login.apple.component.d.ts +0 -8
  242. package/lib/auth/login/login.button.component.d.ts +0 -53
  243. package/lib/auth/login/login.component.d.ts +0 -14
  244. package/lib/auth/login/login.context.back.component.d.ts +0 -8
  245. package/lib/auth/login/login.context.d.ts +0 -6
  246. package/lib/auth/login/login.context.directive.d.ts +0 -10
  247. package/lib/auth/login/login.d.ts +0 -7
  248. package/lib/auth/login/login.email.component.d.ts +0 -8
  249. package/lib/auth/login/login.email.content.component.d.ts +0 -41
  250. package/lib/auth/login/login.email.form.component.d.ts +0 -17
  251. package/lib/auth/login/login.email.recovery.form.component.d.ts +0 -11
  252. package/lib/auth/login/login.facebook.component.d.ts +0 -8
  253. package/lib/auth/login/login.github.component.d.ts +0 -8
  254. package/lib/auth/login/login.google.component.d.ts +0 -8
  255. package/lib/auth/login/login.list.component.d.ts +0 -21
  256. package/lib/auth/login/login.microsoft.component.d.ts +0 -8
  257. package/lib/auth/login/login.password.d.ts +0 -3
  258. package/lib/auth/login/login.service.d.ts +0 -115
  259. package/lib/auth/login/login.terms.component.d.ts +0 -9
  260. package/lib/auth/login/login.terms.d.ts +0 -18
  261. package/lib/auth/login/login.terms.simple.component.d.ts +0 -9
  262. package/lib/auth/login/login.twitter.component.d.ts +0 -8
  263. package/lib/auth/login/register.component.d.ts +0 -12
  264. package/lib/auth/login/register.email.component.d.ts +0 -8
  265. package/lib/auth/service/firebase.auth.rxjs.d.ts +0 -23
  266. package/lib/auth/service/firebase.auth.service.d.ts +0 -95
  267. package/lib/auth/service/firebase.auth.service.delegate.d.ts +0 -25
  268. package/lib/auth/service/index.d.ts +0 -3
  269. package/lib/development/development.directive.d.ts +0 -24
  270. package/lib/development/development.module.d.ts +0 -15
  271. package/lib/development/development.popup.component.d.ts +0 -14
  272. package/lib/development/development.popup.content.component.d.ts +0 -49
  273. package/lib/development/development.popup.content.form.component.d.ts +0 -17
  274. package/lib/development/development.providers.d.ts +0 -32
  275. package/lib/development/development.scheduler.list.component.d.ts +0 -23
  276. package/lib/development/development.scheduler.service.d.ts +0 -31
  277. package/lib/development/development.scheduler.widget.component.d.ts +0 -12
  278. package/lib/development/development.service.d.ts +0 -16
  279. package/lib/development/development.widget.d.ts +0 -8
  280. package/lib/development/development.widget.service.d.ts +0 -29
  281. package/lib/development/index.d.ts +0 -13
  282. package/lib/firebase/appcheck.d.ts +0 -21
  283. package/lib/firebase/emulators.d.ts +0 -60
  284. package/lib/firebase/firebase.emulator.module.d.ts +0 -14
  285. package/lib/firebase/firebase.emulator.providers.d.ts +0 -13
  286. package/lib/firebase/firebase.emulator.service.d.ts +0 -11
  287. package/lib/firebase/firebase.module.d.ts +0 -14
  288. package/lib/firebase/firebase.options.d.ts +0 -36
  289. package/lib/firebase/firebase.options.environment.d.ts +0 -10
  290. package/lib/firebase/firebase.providers.d.ts +0 -51
  291. package/lib/firebase/index.d.ts +0 -9
  292. package/lib/firestore/firebase.firestore.context.service.d.ts +0 -10
  293. package/lib/firestore/firebase.firestore.d.ts +0 -5
  294. package/lib/firestore/firebase.firestore.module.d.ts +0 -15
  295. package/lib/firestore/firebase.firestore.providers.d.ts +0 -62
  296. package/lib/firestore/index.d.ts +0 -4
  297. package/lib/function/firebase.function.module.d.ts +0 -16
  298. package/lib/function/firebase.function.providers.d.ts +0 -43
  299. package/lib/function/index.d.ts +0 -2
  300. package/lib/index.d.ts +0 -13
  301. package/lib/model/error.d.ts +0 -2
  302. package/lib/model/index.d.ts +0 -6
  303. package/lib/model/loader/collection.change.trigger.d.ts +0 -57
  304. package/lib/model/loader/collection.change.watcher.d.ts +0 -44
  305. package/lib/model/loader/collection.loader.d.ts +0 -61
  306. package/lib/model/loader/collection.loader.instance.d.ts +0 -110
  307. package/lib/model/loader/document.loader.d.ts +0 -75
  308. package/lib/model/loader/document.loader.instance.d.ts +0 -46
  309. package/lib/model/loader/index.d.ts +0 -6
  310. package/lib/model/model.module.d.ts +0 -9
  311. package/lib/model/modules/index.d.ts +0 -2
  312. package/lib/model/modules/model/entities/index.d.ts +0 -10
  313. package/lib/model/modules/model/entities/model.entities.component.d.ts +0 -47
  314. package/lib/model/modules/model/entities/model.entities.d.ts +0 -60
  315. package/lib/model/modules/model/entities/model.entities.entity.component.d.ts +0 -43
  316. package/lib/model/modules/model/entities/model.entities.popover.button.component.d.ts +0 -30
  317. package/lib/model/modules/model/entities/model.entities.popover.component.d.ts +0 -59
  318. package/lib/model/modules/model/entities/model.entities.providers.d.ts +0 -22
  319. package/lib/model/modules/model/entities/model.entities.source.directive.d.ts +0 -8
  320. package/lib/model/modules/model/entities/model.entities.widget.d.ts +0 -30
  321. package/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.d.ts +0 -13
  322. package/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.d.ts +0 -17
  323. package/lib/model/modules/model/entities/model.entities.widget.service.d.ts +0 -74
  324. package/lib/model/modules/model/history/index.d.ts +0 -6
  325. package/lib/model/modules/model/history/model.history.component.d.ts +0 -16
  326. package/lib/model/modules/model/history/model.history.module.d.ts +0 -16
  327. package/lib/model/modules/model/history/model.history.popover.button.component.d.ts +0 -16
  328. package/lib/model/modules/model/history/model.history.popover.component.d.ts +0 -50
  329. package/lib/model/modules/model/history/model.sourceselect.history.d.ts +0 -32
  330. package/lib/model/modules/model/history/model.tracker.service.d.ts +0 -43
  331. package/lib/model/modules/model/index.d.ts +0 -7
  332. package/lib/model/modules/model/model.key.component.d.ts +0 -25
  333. package/lib/model/modules/model/model.types.list.component.d.ts +0 -22
  334. package/lib/model/modules/model/model.types.module.d.ts +0 -16
  335. package/lib/model/modules/model/model.types.providers.d.ts +0 -22
  336. package/lib/model/modules/model/model.types.service.d.ts +0 -90
  337. package/lib/model/modules/model/model.types.view.directive.d.ts +0 -19
  338. package/lib/model/modules/store/index.d.ts +0 -21
  339. package/lib/model/modules/store/model.store.module.d.ts +0 -11
  340. package/lib/model/modules/store/store.collection.change.directive.d.ts +0 -28
  341. package/lib/model/modules/store/store.collection.change.if.directive.d.ts +0 -18
  342. package/lib/model/modules/store/store.collection.crud.d.ts +0 -21
  343. package/lib/model/modules/store/store.collection.d.ts +0 -97
  344. package/lib/model/modules/store/store.collection.directive.d.ts +0 -56
  345. package/lib/model/modules/store/store.collection.list.directive.d.ts +0 -16
  346. package/lib/model/modules/store/store.d.ts +0 -87
  347. package/lib/model/modules/store/store.document.context.store.d.ts +0 -59
  348. package/lib/model/modules/store/store.document.context.store.directive.d.ts +0 -8
  349. package/lib/model/modules/store/store.document.context.store.link.d.ts +0 -17
  350. package/lib/model/modules/store/store.document.crud.d.ts +0 -63
  351. package/lib/model/modules/store/store.document.d.ts +0 -101
  352. package/lib/model/modules/store/store.document.directive.d.ts +0 -66
  353. package/lib/model/modules/store/store.document.twoway.key.directive.d.ts +0 -14
  354. package/lib/model/modules/store/store.document.twoway.key.source.d.ts +0 -10
  355. package/lib/model/modules/store/store.document.twoway.key.source.directive.d.ts +0 -13
  356. package/lib/model/modules/store/store.subcollection.d.ts +0 -51
  357. package/lib/model/modules/store/store.subcollection.directive.d.ts +0 -28
  358. package/lib/model/modules/store/store.subcollection.document.d.ts +0 -67
  359. package/lib/model/modules/store/store.subcollection.rxjs.d.ts +0 -24
  360. package/lib/model/service/index.d.ts +0 -4
  361. package/lib/model/service/model.context.d.ts +0 -33
  362. package/lib/model/service/model.context.instance.d.ts +0 -17
  363. package/lib/model/service/model.context.providers.d.ts +0 -18
  364. package/lib/model/service/model.context.service.d.ts +0 -31
  365. package/lib/model/system/index.d.ts +0 -5
  366. package/lib/model/system/systemstate.collection.store.d.ts +0 -8
  367. package/lib/model/system/systemstate.collection.store.directive.d.ts +0 -9
  368. package/lib/model/system/systemstate.document.store.accessor.d.ts +0 -22
  369. package/lib/model/system/systemstate.document.store.d.ts +0 -8
  370. package/lib/model/system/systemstate.document.store.directive.d.ts +0 -9
  371. package/lib/module.d.ts +0 -7
  372. package/lib/modules/index.d.ts +0 -2
  373. package/lib/modules/notification/component/index.d.ts +0 -5
  374. package/lib/modules/notification/component/notificationitem.content.component.d.ts +0 -9
  375. package/lib/modules/notification/component/notificationitem.list.component.d.ts +0 -24
  376. package/lib/modules/notification/component/notificationitem.view.component.d.ts +0 -10
  377. package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +0 -9
  378. package/lib/modules/notification/component/notificationitem.view.directive.d.ts +0 -8
  379. package/lib/modules/notification/container/index.d.ts +0 -2
  380. package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +0 -17
  381. package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +0 -50
  382. package/lib/modules/notification/index.d.ts +0 -6
  383. package/lib/modules/notification/notification.module.d.ts +0 -38
  384. package/lib/modules/notification/notification.providers.d.ts +0 -24
  385. package/lib/modules/notification/service/index.d.ts +0 -3
  386. package/lib/modules/notification/service/notification.template.service.d.ts +0 -11
  387. package/lib/modules/notification/service/notificationitem.widget.d.ts +0 -26
  388. package/lib/modules/notification/service/notificationitem.widget.service.d.ts +0 -22
  389. package/lib/modules/notification/store/index.d.ts +0 -17
  390. package/lib/modules/notification/store/notification.collection.store.d.ts +0 -9
  391. package/lib/modules/notification/store/notification.collection.store.directive.d.ts +0 -9
  392. package/lib/modules/notification/store/notification.document.store.d.ts +0 -16
  393. package/lib/modules/notification/store/notification.document.store.directive.d.ts +0 -9
  394. package/lib/modules/notification/store/notification.item.store.d.ts +0 -28
  395. package/lib/modules/notification/store/notificationbox.collection.store.d.ts +0 -8
  396. package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +0 -9
  397. package/lib/modules/notification/store/notificationbox.document.store.d.ts +0 -13
  398. package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +0 -9
  399. package/lib/modules/notification/store/notificationsummary.collection.store.d.ts +0 -8
  400. package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +0 -9
  401. package/lib/modules/notification/store/notificationsummary.document.store.d.ts +0 -21
  402. package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +0 -9
  403. package/lib/modules/notification/store/notificationuser.collection.store.d.ts +0 -8
  404. package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +0 -9
  405. package/lib/modules/notification/store/notificationuser.document.store.d.ts +0 -11
  406. package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +0 -9
  407. package/lib/modules/storagefile/container/index.d.ts +0 -7
  408. package/lib/modules/storagefile/container/storagefile.download.button.component.d.ts +0 -160
  409. package/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.d.ts +0 -47
  410. package/lib/modules/storagefile/container/storagefile.upload.error.d.ts +0 -9
  411. package/lib/modules/storagefile/container/storagefile.upload.handler.d.ts +0 -183
  412. package/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.d.ts +0 -21
  413. package/lib/modules/storagefile/container/storagefile.upload.store.directive.d.ts +0 -20
  414. package/lib/modules/storagefile/container/storagefile.upload.sync.directive.d.ts +0 -18
  415. package/lib/modules/storagefile/index.d.ts +0 -5
  416. package/lib/modules/storagefile/service/index.d.ts +0 -2
  417. package/lib/modules/storagefile/service/storagefile.download.service.d.ts +0 -79
  418. package/lib/modules/storagefile/service/storagefile.download.storage.service.d.ts +0 -56
  419. package/lib/modules/storagefile/storagefile.providers.d.ts +0 -13
  420. package/lib/modules/storagefile/storagefile.upload.module.d.ts +0 -29
  421. package/lib/modules/storagefile/store/index.d.ts +0 -7
  422. package/lib/modules/storagefile/store/storagefile.collection.store.d.ts +0 -10
  423. package/lib/modules/storagefile/store/storagefile.collection.store.directive.d.ts +0 -9
  424. package/lib/modules/storagefile/store/storagefile.document.store.d.ts +0 -16
  425. package/lib/modules/storagefile/store/storagefile.document.store.directive.d.ts +0 -9
  426. package/lib/modules/storagefile/store/storagefile.upload.store.d.ts +0 -166
  427. package/lib/modules/storagefile/store/storagefilegroup.document.store.d.ts +0 -11
  428. package/lib/modules/storagefile/store/storagefilegroup.document.store.directive.d.ts +0 -9
  429. package/lib/pipe/index.d.ts +0 -3
  430. package/lib/pipe/key.flat.pipe.d.ts +0 -9
  431. package/lib/pipe/key.twoway.pipe.d.ts +0 -9
  432. package/lib/pipe/pipe.module.d.ts +0 -13
  433. package/lib/providers.d.ts +0 -64
  434. package/lib/router/id.param.redirect.d.ts +0 -41
  435. package/lib/router/index.d.ts +0 -1
  436. package/lib/storage/firebase.storage.d.ts +0 -9
  437. package/lib/storage/firebase.storage.module.d.ts +0 -13
  438. package/lib/storage/firebase.storage.providers.d.ts +0 -31
  439. package/lib/storage/firebase.storage.service.d.ts +0 -13
  440. package/lib/storage/index.d.ts +0 -4
@@ -0,0 +1,4304 @@
1
+ import { DbxAnalyticsUserProperties, DbxAnalyticsUserSource, DbxAnalyticsUser, DbxAnalyticsService } from '@dereekb/dbx-analytics';
2
+ import * as _dereekb_util from '@dereekb/util';
3
+ import { Maybe, ISO8601DateString, AuthRoleSet, AuthRoleClaimsService, AuthClaimsObject, AuthClaims, FactoryWithRequiredInput, Initialized, Destroyable, ArrayOrValue, LabelRef, ClassLikeType, PageNumber, GetterOrValue, IterableOrValue, SetIncludesMode, ModelKey, ClassType, MapFunction, PartialOnKeys, UnixDateTimeSecondsNumber, ContentTypeMimeType, Milliseconds, Seconds, DateOrUnixDateTimeSecondsNumber, PercentDecimal, PercentNumber, PromiseOrValue } from '@dereekb/util';
4
+ import { DbxAuthService, AuthUserState, AuthUserIdentifier, NoAuthUserIdentifier, DbxInjectionContext, ClickableAnchor, AbstractForwardDbxInjectionContextDirective, DbxActionSuccessHandlerFunction, DbxInjectionComponentConfig, ClickableUrl, IconAndTitle, SegueRef, ClickableAnchorLinkSegueRef, LockSetComponent, DbxButtonDisplay, DbxRouteModelIdDirectiveDelegate, DbxRouteModelKeyDirectiveDelegate, LockSetComponentStore, AbstractIfDirective, StorageAccessor, DbxActionContextStoreSourceInstance, DbxActionHandlerInstance, SimpleStorageAccessorFactory, DbxRouteParamReader, DbxRouterService } from '@dereekb/dbx-core';
5
+ import { Auth, User as User$1, IdTokenResult, ParsedToken, UserCredential, AuthProvider, PopupRedirectResolver } from '@angular/fire/auth';
6
+ import * as rxjs from 'rxjs';
7
+ import { Observable, BehaviorSubject, Subject, OperatorFunction, Subscription } from 'rxjs';
8
+ import * as _dereekb_firebase from '@dereekb/firebase';
9
+ import { FirebaseAuthToken, FirebaseAuthContextInfo, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, FirestoreContext, NotificationFirestoreCollections, StorageFileFirestoreCollections, SystemStateFirestoreCollections, FirebaseFunctionsMap, FirebaseFunctionsConfigMap, FirestoreQueryConstraint, FirestoreItemPageIterationInstance, DocumentDataWithIdAndKey, IterationQueryDocChangeWatcher, FirebaseQuerySnapshotAccumulator, FirebaseQueryItemAccumulator, FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction, IterationQueryDocChangeWatcherEvent, FirestoreDocument, FirestoreCollectionLike, FirestoreModelKey, DocumentReference, FirestoreItemPageIteratorFilter, FirestoreModelId, DocumentSnapshot, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, FirestoreModelType, FirestoreDocumentData, FirestoreAccessorStreamMode, SnapshotOptions, FirebasePermissionErrorContext, InModelContextFirebaseModelService, InContextFirebaseModelsService, FirebaseModelsService, FirestoreModelIdentityTypeMap, FirestoreModelIdentity, FirestoreCollectionType, FirestoreCollection, FlatFirestoreModelKey, TwoWayFlatFirestoreModelKey, FirestoreModelCollectionAndIdPair, FirestoreModelCollectionAndIdPairObject, IterationQueryDocChangeWatcherChangeType, OnCallCreateModelResult, ModelFirebaseCreateFunction, ModelFirebaseCrudFunction, TargetModelParams, InferredTargetModelParams, ModelFirebaseDeleteFunction, ModelFirebaseReadFunction, ModelFirebaseUpdateFunction, FirestoreCollectionWithParentFactory, FirestoreCollectionGroup, SystemState, SystemStateDocument, SystemStateStoredData, SystemStateTypeIdentifier, AppNotificationTemplateTypeInfoRecordService, NotificationItemMetadata, NotificationItem, NotificationItemSubjectMessagePair, NotificationId, Notification, NotificationBox, NotificationDocument, NotificationBoxDocument, NotificationFunctions, NotificationSummary, NotificationSummaryDocument, UnreadNotificationItemsResult, NotificationUser, NotificationUserDocument, NotificationTemplateType, NotificationTemplateTypeInfo, FirebaseAuthUserId, StorageFileId, StorageFileSignedDownloadUrl, FirestoreModelIdInput, StorageFileFunctions, StorageFileKey, DownloadStorageFileParams, DownloadStorageFileResult, StorageFileDownloadUrl, StoragePathInput, FirebaseStorageAccessorFile, StorageFile, StorageFileDocument, StorageFileGroup, StorageFileGroupDocument, FirebaseStorageAccessor, FirebaseStorageContext, FirebaseStorageAccessorFolder, StorageUploadTask, StorageUploadOptions, StorageCustomMetadata, FirebaseStorageContextFactoryConfig } from '@dereekb/firebase';
10
+ import { UserInfo, User, IdTokenResult as IdTokenResult$1 } from 'firebase/auth';
11
+ import * as i0 from '@angular/core';
12
+ import { EnvironmentProviders, Type, InjectionToken, OnInit, Component, EventEmitter, Injector, AfterViewInit, ElementRef, Signal, Provider, PipeTransform } from '@angular/core';
13
+ import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
14
+ import * as _dereekb_dbx_form from '@dereekb/dbx-form';
15
+ import { TextPasswordFieldPasswordParameters, AbstractSyncFormlyFormDirective, AbstractConfigAsyncFormlyFormDirective, DefaultUsernameLoginFieldsValue, TextPasswordFieldConfig, SourceSelectLoadSource } from '@dereekb/dbx-form';
16
+ import * as _firebase_auth from '@firebase/auth';
17
+ import * as _dereekb_dbx_firebase from '@dereekb/dbx-firebase';
18
+ import * as _dereekb_rxjs from '@dereekb/rxjs';
19
+ import { WorkUsingContext, WorkUsingObservable, ObservableOrValue, IsModifiedFunction, PageListLoadingState, ItemAccumulatorNextPageUntilResultsCountResult, SubscriptionObject, ObservableDecisionFunction, ListLoadingState, LoadingState, MaybeObservableOrValue, SwitchMapToDefaultFilterFunction, MaybeObservableOrValueGetter } from '@dereekb/rxjs';
20
+ import * as dist_packages_dbx_form_types_dereekb_dbx_form from 'dist/packages/dbx-form/types/dereekb-dbx-form';
21
+ import { FormlyFieldConfig } from '@ngx-formly/core';
22
+ import * as i1 from '@dereekb/dbx-web';
23
+ import { DbxWidgetEntry, DbxPopupService, DbxWidgetService, DbxWidgetType, TwoColumnsContextStore, AbstractPopupDirective, DbxPopupKey, AbstractDbxSelectionListWrapperDirective, AbstractDbxSelectionListViewDirective, DbxSelectionValueListViewConfig, DbxValueAsListItem, AbstractDbxValueListViewItemComponent, DbxModelTypesService, DbxModelTypeInfo, DbxModelTypesMap, DbxModelTrackerService, AnchorForValueFunction, AbstractPopoverDirective, DbxPopoverService, DbxPopoverKey, AbstractPopoverRefDirective, DbxPopoverConfigSizing, DbxButtonStyle, DownloadTextContent, DbxModelObjectStateService, DbxListViewWrapper, DbxWidgetViewComponentConfig, AbstractDbxWidgetComponent, DbxWebFilePreviewService, DbxActionDialogFunction, FileAcceptFilterTypeString, DbxFileUploadComponent, DbxActionModule, DbxLoadingComponent, DbxActionSnackbarErrorDirective, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective } from '@dereekb/dbx-web';
24
+ import { MatSnackBar } from '@angular/material/snack-bar';
25
+ import { NgPopoverRef } from 'ng-overlay-container';
26
+ import { AppCheckOptions } from 'firebase/app-check';
27
+ import { PersistentCacheSettings } from 'firebase/firestore';
28
+ import { FirebaseOptions } from 'firebase/app';
29
+ import { Functions } from '@angular/fire/functions';
30
+ import { GrantedRole, GrantedRoleMapReader, GrantedRoleMap, GrantedRoleTruthMapObject, GrantedRoleTruthMap } from '@dereekb/model';
31
+ import { ComponentStore } from '@ngrx/component-store';
32
+ import * as dist_packages_dbx_core_types_dereekb_dbx_core from 'dist/packages/dbx-core/types/dereekb-dbx-core';
33
+ import { MatDialog, MatDialogRef } from '@angular/material/dialog';
34
+ import { BaseError } from 'make-error';
35
+ import { FirebaseApp } from '@angular/fire/app';
36
+
37
+ type AuthUserInfo = Omit<UserInfo, 'providerId'> & {
38
+ /**
39
+ * The creation time of the user's account.
40
+ */
41
+ readonly creationTime?: Maybe<ISO8601DateString>;
42
+ /**
43
+ * The last time the user signed in and recieved a refresh token.
44
+ */
45
+ readonly lastSignInTime?: Maybe<ISO8601DateString>;
46
+ };
47
+ declare function authUserInfoFromAuthUser(user: User): AuthUserInfo;
48
+ declare function firebaseAuthTokenFromUser(user: User): FirebaseAuthToken;
49
+
50
+ /**
51
+ * Returns an observable that returns the state of the
52
+ */
53
+ type AuthUserStateObsFunction = (dbxFirebaseAuthService: DbxFirebaseAuthService) => Observable<AuthUserState>;
54
+ declare abstract class DbxFirebaseAuthServiceDelegate {
55
+ readonly fullControlOfAuthUserState?: boolean;
56
+ abstract authUserStateObs: AuthUserStateObsFunction;
57
+ abstract authRolesObs(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<AuthRoleSet>;
58
+ abstract isOnboarded(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<boolean>;
59
+ /**
60
+ * Whether or not the input roles imply the admin priviledges.
61
+ */
62
+ abstract isAdminInAuthRoleSet(authRoleSet: AuthRoleSet): boolean;
63
+ abstract authRoleClaimsService?: Maybe<AuthRoleClaimsService<AuthClaimsObject>>;
64
+ }
65
+ declare const DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE: DbxFirebaseAuthServiceDelegate;
66
+ declare class DbxFirebaseAuthService implements DbxAuthService {
67
+ readonly firebaseAuth: Auth;
68
+ readonly delegate: DbxFirebaseAuthServiceDelegate;
69
+ readonly _authState$: Observable<Maybe<User$1>>;
70
+ readonly currentAuthUser$: Observable<Maybe<User$1>>;
71
+ readonly currentAuthUserInfo$: Observable<Maybe<AuthUserInfo>>;
72
+ readonly authUser$: Observable<User$1>;
73
+ readonly authUserInfo$: Observable<AuthUserInfo>;
74
+ readonly hasAuthUser$: Observable<boolean>;
75
+ readonly isAnonymousUser$: Observable<boolean>;
76
+ readonly isNotAnonymousUser$: Observable<boolean>;
77
+ readonly isLoggedIn$: Observable<boolean>;
78
+ readonly isNotLoggedIn$: Observable<boolean>;
79
+ readonly onLogIn$: Observable<void>;
80
+ readonly onLogOut$: Observable<void>;
81
+ readonly currentUid$: Observable<Maybe<AuthUserIdentifier>>;
82
+ readonly uid$: Observable<AuthUserIdentifier | NoAuthUserIdentifier>;
83
+ /**
84
+ * Alias for uid$
85
+ */
86
+ readonly userIdentifier$: Observable<AuthUserIdentifier | NoAuthUserIdentifier>;
87
+ readonly currentIdTokenString$: Observable<Maybe<string>>;
88
+ readonly idTokenString$: Observable<string>;
89
+ readonly currentIdTokenResult$: Observable<Maybe<IdTokenResult>>;
90
+ readonly idTokenResult$: Observable<IdTokenResult>;
91
+ readonly currentClaims$: Observable<Maybe<ParsedToken>>;
92
+ readonly claims$: Observable<ParsedToken>;
93
+ readonly currentAuthContextInfo$: Observable<Maybe<DbxFirebaseAuthContextInfo>>;
94
+ readonly authContextInfo$: Observable<Maybe<DbxFirebaseAuthContextInfo>>;
95
+ readonly authUserState$: Observable<AuthUserState>;
96
+ readonly authRoles$: Observable<AuthRoleSet>;
97
+ readonly isOnboarded$: Observable<boolean>;
98
+ private _authRoleClaimsService?;
99
+ readonly isAdminInAuthRoleSet: (authRoleSet: AuthRoleSet) => boolean;
100
+ refreshToken(): Promise<IdTokenResult>;
101
+ rolesForClaims<T extends AuthClaimsObject = AuthClaimsObject>(claims: AuthClaims<T>): AuthRoleSet;
102
+ getAuthContextInfo(): Promise<Maybe<DbxFirebaseAuthContextInfo>>;
103
+ loadAuthContextInfoForUser(user: Maybe<User$1>): Promise<Maybe<DbxFirebaseAuthContextInfo>>;
104
+ logInWithGoogle(): Promise<UserCredential>;
105
+ logInWithFacebook(): Promise<UserCredential>;
106
+ logInWithTwitter(): Promise<UserCredential>;
107
+ logInWithGithub(): Promise<UserCredential>;
108
+ logInWithApple(): Promise<UserCredential>;
109
+ logInWithMicrosoft(): Promise<UserCredential>;
110
+ logInWithPhone(): Promise<UserCredential>;
111
+ logInWithPopup(provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
112
+ registerWithEmailAndPassword(email: string, password: string): Promise<UserCredential>;
113
+ sendPasswordResetEmail(email: string): Promise<void>;
114
+ logInWithEmailAndPassword(email: string, password: string): Promise<UserCredential>;
115
+ logInAsAnonymous(): Promise<UserCredential>;
116
+ logOut(): Promise<void>;
117
+ reauthenticateWithPopup(provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
118
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseAuthService, never>;
119
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseAuthService>;
120
+ }
121
+ /**
122
+ * FirebaseAuthContextInfo implementation from DbxFirebaseAuthService.
123
+ */
124
+ interface DbxFirebaseAuthContextInfo extends FirebaseAuthContextInfo {
125
+ readonly service: DbxFirebaseAuthService;
126
+ readonly user: User$1;
127
+ readonly jwtToken: IdTokenResult;
128
+ }
129
+ /**
130
+ * Creates a new DbxFirebaseAuthContextInfo instance.
131
+ *
132
+ * @param service
133
+ * @param user
134
+ * @param jwtToken
135
+ * @returns
136
+ */
137
+ declare function dbxFirebaseAuthContextInfo(service: DbxFirebaseAuthService, user: User$1, jwtToken: IdTokenResult): DbxFirebaseAuthContextInfo;
138
+
139
+ type DbxFirebaseAnalyticsUserPropertiesFactory = FactoryWithRequiredInput<Observable<DbxAnalyticsUserProperties>, AuthUserInfo>;
140
+ declare function readDbxAnalyticsUserPropertiesFromAuthUserInfo(user: AuthUserInfo): DbxAnalyticsUserProperties;
141
+ declare const DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY: DbxFirebaseAnalyticsUserPropertiesFactory;
142
+ /**
143
+ * DbxAnalyticsUserSource implementation that uses the DbxFirebaseAuthService.
144
+ */
145
+ declare class DbxFirebaseAnalyticsUserSource implements DbxAnalyticsUserSource {
146
+ readonly dbxFirebaseAuthService: DbxFirebaseAuthService;
147
+ private _userPropertiesFactory;
148
+ readonly analyticsUser$: Observable<Maybe<DbxAnalyticsUser>>;
149
+ get userPropertiesFactory(): DbxFirebaseAnalyticsUserPropertiesFactory;
150
+ set userPropertiesFactory(userPropertiesFactory: DbxFirebaseAnalyticsUserPropertiesFactory);
151
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseAnalyticsUserSource, never>;
152
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseAnalyticsUserSource>;
153
+ }
154
+
155
+ /**
156
+ * Service that listens for DbxFirebaseAuthService changes and emits them a user events.
157
+ */
158
+ declare class DbxFirebaseAnalyticsUserEventsListenerService implements Initialized, Destroyable {
159
+ readonly dbxFirebaseAuthService: DbxFirebaseAuthService;
160
+ readonly dbxFirebaseAnalyticsUserSource: DbxFirebaseAnalyticsUserSource;
161
+ readonly dbxAnalyticsService: DbxAnalyticsService;
162
+ private readonly _loginSub;
163
+ private readonly _logoutSub;
164
+ init(): void;
165
+ destroy(): void;
166
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseAnalyticsUserEventsListenerService, never>;
167
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseAnalyticsUserEventsListenerService>;
168
+ }
169
+
170
+ /**
171
+ * Creates a EnvironmentProviders that provides a DbxFirebaseAnalyticsUserEventsListenerService and initialize it when the app is initialized.
172
+ *
173
+ * @returns EnvironmentProviders
174
+ */
175
+ declare function provideDbxFirebaseAnalyticsUserEventsListenerService(): EnvironmentProviders;
176
+
177
+ /**
178
+ * Enables debug token generation for AppCheck by setting FIREBASE_APPCHECK_DEBUG_TOKEN in the browser's self/window.
179
+ *
180
+ * https://firebase.google.com/docs/app-check/web/debug-provider
181
+ *
182
+ * @param enable
183
+ */
184
+ declare function enableAppCheckDebugTokenGeneration(enable?: boolean): void;
185
+
186
+ /**
187
+ * HTTP Interceptor that sets the X-Firebase-AppCheck for any requests to the routes configured in DbxFirebaseEnvironmentOptions.
188
+ */
189
+ declare class DbxFirebaseAppCheckHttpInterceptor implements HttpInterceptor {
190
+ private appCheck;
191
+ private _appCheckRoutes;
192
+ private _isEnabled;
193
+ intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
194
+ private matchesAnyRoute;
195
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseAppCheckHttpInterceptor, never>;
196
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseAppCheckHttpInterceptor>;
197
+ }
198
+
199
+ type FirebaseLoginMethodType = string;
200
+ type FirebaseLoginMethodCategory = string;
201
+ type KnownFirebaseLoginMethodType = 'email' | 'phone' | 'google' | 'facebook' | 'github' | 'twitter' | 'apple' | 'microsoft' | 'anonymous';
202
+ declare const DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY = "default";
203
+ declare const OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY = "oauth";
204
+ type KnownFirebaseLoginMethodCategory = typeof DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY | typeof OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY;
205
+ type DbxFirebaseLoginMode = 'login' | 'register';
206
+
207
+ type DbxFirebaseAuthLoginPasswordConfig = TextPasswordFieldPasswordParameters;
208
+ declare const DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG: DbxFirebaseAuthLoginPasswordConfig;
209
+
210
+ /**
211
+ * Configuration interface for DbxFirebaseLoginTermsSimpleComponent.
212
+ */
213
+ interface DbxFirebaseLoginTermsOfServiceUrlsConfig {
214
+ /**
215
+ * The Terms of Service URL.
216
+ */
217
+ readonly tosUrl: string;
218
+ /**
219
+ * The Privacy Policy URL.
220
+ */
221
+ readonly privacyUrl: string;
222
+ }
223
+
224
+ /**
225
+ * Configuration for provideDbxFirebaseLogin().
226
+ */
227
+ interface ProvideDbxFirebaseLoginConfig {
228
+ /**
229
+ * DbxFirebaseLoginTermsOfServiceUrlsConfig configuration.
230
+ */
231
+ readonly termsOfServiceUrls: DbxFirebaseLoginTermsOfServiceUrlsConfig;
232
+ /**
233
+ * Enabled login methods. Set to true to enable all methods.
234
+ */
235
+ readonly enabledLoginMethods: FirebaseLoginMethodType[] | true;
236
+ /**
237
+ * Configures the default login terms component class via DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN.
238
+ */
239
+ readonly loginTermsComponentClass?: Type<unknown>;
240
+ /**
241
+ * Optional password configuration.
242
+ */
243
+ readonly passwordConfig?: DbxFirebaseAuthLoginPasswordConfig;
244
+ }
245
+ /**
246
+ * Creates EnvironmentProviders for providing DbxFirebaseLogin configuration.
247
+ *
248
+ * @param config Configuration
249
+ * @returns EnvironmentProviders
250
+ */
251
+ declare function provideDbxFirebaseLogin(config: ProvideDbxFirebaseLoginConfig): EnvironmentProviders;
252
+
253
+ /**
254
+ * Default providers to inject.
255
+ */
256
+ declare const DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN: InjectionToken<DbxFirebaseAuthLoginProvider<unknown>[]>;
257
+ declare const DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN: InjectionToken<Type<unknown>>;
258
+ declare const DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN: InjectionToken<Partial<Pick<dist_packages_dbx_form_types_dereekb_dbx_form.TextFieldConfig, "maxLength" | "minLength" | "pattern">>>;
259
+ interface DbxFirebaseAuthLoginProvider<D = unknown> {
260
+ /**
261
+ * Category for this login method.
262
+ */
263
+ readonly category?: FirebaseLoginMethodCategory;
264
+ /**
265
+ * Login method key for this type.
266
+ */
267
+ readonly loginMethodType: KnownFirebaseLoginMethodType | FirebaseLoginMethodType;
268
+ /**
269
+ * Login/Registration class to use.
270
+ */
271
+ readonly componentClass: Type<unknown>;
272
+ /**
273
+ * Custom registration type to use instead. If false, registration is not allowd for this type.
274
+ */
275
+ readonly registrationComponentClass?: Type<unknown> | false;
276
+ /**
277
+ * Custom data available to the components.
278
+ *
279
+ * Components are responsible for knowing the typing information of this data.
280
+ */
281
+ readonly componentData?: D;
282
+ /**
283
+ * Asset configuration for this type.
284
+ */
285
+ readonly assets: DbxFirebaseAuthLoginProviderAssets;
286
+ }
287
+ /**
288
+ * Asset configurations for a provider.
289
+ */
290
+ interface DbxFirebaseAuthLoginProviderAssets {
291
+ /**
292
+ * URL of the logo to use.
293
+ */
294
+ readonly logoUrl?: string;
295
+ /**
296
+ * Icon to use in place of the logo.
297
+ */
298
+ readonly loginIcon?: string;
299
+ /**
300
+ * Log in text to display next to the logo.
301
+ */
302
+ readonly loginText?: string;
303
+ /**
304
+ * Optional background color to apply.
305
+ */
306
+ readonly backgroundColor?: string;
307
+ /**
308
+ * Optional background color to apply.
309
+ */
310
+ readonly textColor?: string;
311
+ }
312
+ /**
313
+ * Service used for registering components used for logging in.
314
+ *
315
+ * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
316
+ */
317
+ declare class DbxFirebaseAuthLoginService {
318
+ readonly loginTermsComponentClass: Type<unknown>;
319
+ private readonly _providers;
320
+ private readonly _assets;
321
+ private _enableAll;
322
+ private _passwordConfig;
323
+ private _enabled;
324
+ constructor();
325
+ /**
326
+ * Used to register a provider. If a provider is already registered, this will override it by default.
327
+ *
328
+ * @param provider
329
+ * @param override
330
+ */
331
+ register(provider: DbxFirebaseAuthLoginProvider, override?: boolean): boolean;
332
+ /**
333
+ * Updates the assets for a provider type.
334
+ *
335
+ * @param type
336
+ * @param assets
337
+ */
338
+ updateAssetsForProvider(type: FirebaseLoginMethodType, assets: Partial<DbxFirebaseAuthLoginProviderAssets>): void;
339
+ /**
340
+ * Enables all providers and any providers that will be registered.
341
+ */
342
+ setEnableAll(enableAll?: boolean): void;
343
+ clearEnabled(): void;
344
+ /**
345
+ * Enables all of the specified types.
346
+ *
347
+ * @param types
348
+ */
349
+ enable(types: ArrayOrValue<FirebaseLoginMethodType>): void;
350
+ disable(types: ArrayOrValue<FirebaseLoginMethodType>): void;
351
+ getRegisteredTypes(): FirebaseLoginMethodType[];
352
+ getEnabledTypes(): FirebaseLoginMethodType[];
353
+ getLoginProvider(type: FirebaseLoginMethodType): Maybe<DbxFirebaseAuthLoginProvider>;
354
+ getLoginProviders(types: Iterable<FirebaseLoginMethodType>): DbxFirebaseAuthLoginProvider[];
355
+ getRegisterProvider(type: FirebaseLoginMethodType): Maybe<DbxFirebaseAuthLoginProvider>;
356
+ getRegisterProviders(types: Iterable<FirebaseLoginMethodType>): DbxFirebaseAuthLoginProvider[];
357
+ getProviderAssets(type: FirebaseLoginMethodType): Maybe<DbxFirebaseAuthLoginProviderAssets>;
358
+ getPasswordConfig(): Partial<Pick<dist_packages_dbx_form_types_dereekb_dbx_form.TextFieldConfig, "maxLength" | "minLength" | "pattern">>;
359
+ setPasswordConfig(passwordConfig: DbxFirebaseAuthLoginPasswordConfig): void;
360
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseAuthLoginService, never>;
361
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseAuthLoginService>;
362
+ }
363
+
364
+ /**
365
+ * Injection token for a DbxInjectionContext for DbxFirebaseLoginContext.
366
+ */
367
+ declare abstract class DbxFirebaseLoginContext extends DbxInjectionContext {
368
+ }
369
+
370
+ interface DbxFirebaseLoginButtonConfig {
371
+ text: string;
372
+ iconUrl?: string;
373
+ icon?: string;
374
+ buttonColor?: string;
375
+ buttonTextColor?: string;
376
+ handleLogin: () => Promise<unknown>;
377
+ }
378
+ /**
379
+ * Login button and action.
380
+ */
381
+ declare class DbxFirebaseLoginButtonComponent {
382
+ readonly config: i0.ModelSignal<Maybe<DbxFirebaseLoginButtonConfig>>;
383
+ readonly iconUrlSignal: i0.Signal<string | undefined>;
384
+ readonly iconSignal: i0.Signal<string | undefined>;
385
+ readonly textSignal: i0.Signal<string>;
386
+ readonly buttonColorSignal: i0.Signal<string>;
387
+ readonly buttonTextColorSignal: i0.Signal<string | undefined>;
388
+ setConfig(config: Maybe<DbxFirebaseLoginButtonConfig>): void;
389
+ readonly handleAction: WorkUsingContext;
390
+ onActionSuccess: () => void;
391
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginButtonComponent, never>;
392
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginButtonComponent, "dbx-firebase-login-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "config": "configChange"; }, never, never, true, never>;
393
+ }
394
+ declare class DbxFirebaseLoginButtonContainerComponent {
395
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginButtonContainerComponent, never>;
396
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginButtonContainerComponent, "dbx-firebase-login-button-container", never, {}, {}, never, ["*"], true, never>;
397
+ }
398
+ declare const DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE = "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n";
399
+ declare const DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION: Pick<Component, 'template' | 'imports' | 'changeDetection'>;
400
+ declare abstract class AbstractConfiguredDbxFirebaseLoginButtonDirective implements OnInit {
401
+ abstract readonly loginProvider: FirebaseLoginMethodType;
402
+ readonly dbxFirebaseAuthService: DbxFirebaseAuthService;
403
+ readonly dbxFirebaseAuthLoginService: DbxFirebaseAuthLoginService;
404
+ readonly dbxFirebaseLoginContext: DbxFirebaseLoginContext;
405
+ private readonly _config;
406
+ readonly configSignal: i0.Signal<DbxFirebaseLoginButtonConfig | null>;
407
+ ngOnInit(): void;
408
+ abstract handleLogin(): Promise<unknown>;
409
+ get providerConfig(): Maybe<_dereekb_dbx_firebase.DbxFirebaseAuthLoginProvider<unknown>>;
410
+ get assetConfig(): _dereekb_dbx_firebase.DbxFirebaseAuthLoginProviderAssets;
411
+ get config(): DbxFirebaseLoginButtonConfig;
412
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractConfiguredDbxFirebaseLoginButtonDirective, never>;
413
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractConfiguredDbxFirebaseLoginButtonDirective, never, never, {}, {}, never, never, true, never>;
414
+ }
415
+
416
+ declare class DbxFirebaseLoginAnonymousComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
417
+ readonly loginProvider = "anonymous";
418
+ handleLogin(): Promise<_firebase_auth.UserCredential>;
419
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginAnonymousComponent, never>;
420
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginAnonymousComponent, "dbx-firebase-login-anonymous", never, {}, {}, never, never, true, never>;
421
+ }
422
+
423
+ declare class DbxFirebaseLoginAppleComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
424
+ readonly loginProvider = "apple";
425
+ handleLogin(): Promise<_firebase_auth.UserCredential>;
426
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginAppleComponent, never>;
427
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginAppleComponent, "dbx-firebase-login-apple", never, {}, {}, never, never, true, never>;
428
+ }
429
+
430
+ /**
431
+ * Pre-configured login component that displays all configured login types.
432
+ */
433
+ declare class DbxFirebaseLoginComponent {
434
+ readonly loginMode: i0.InputSignal<DbxFirebaseLoginMode>;
435
+ readonly providerTypes: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
436
+ readonly omitProviderTypes: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
437
+ readonly providerCategories: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
438
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginComponent, never>;
439
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginComponent, "dbx-firebase-login", never, { "loginMode": { "alias": "loginMode"; "required": false; "isSignal": true; }; "providerTypes": { "alias": "providerTypes"; "required": false; "isSignal": true; }; "omitProviderTypes": { "alias": "omitProviderTypes"; "required": false; "isSignal": true; }; "providerCategories": { "alias": "providerCategories"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
440
+ }
441
+
442
+ declare class DbxFirebaseLoginContextBackButtonComponent {
443
+ readonly cancelLogin: i0.OutputEmitterRef<void>;
444
+ readonly anchor: ClickableAnchor;
445
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginContextBackButtonComponent, never>;
446
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginContextBackButtonComponent, "dbx-firebase-login-context-back-button", never, {}, { "cancelLogin": "cancelLogin"; }, never, never, true, never>;
447
+ }
448
+
449
+ /**
450
+ * DbxFirebaseLoginContext implementation.
451
+ */
452
+ declare class DbxFirebaseLoginContextDirective extends AbstractForwardDbxInjectionContextDirective implements DbxFirebaseLoginContext {
453
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginContextDirective, never>;
454
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseLoginContextDirective, "[dbxFirebaseLoginContext]", never, {}, {}, never, never, true, never>;
455
+ }
456
+
457
+ declare class DbxFirebaseLoginEmailComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
458
+ readonly loginProvider = "email";
459
+ handleLogin(): Promise<boolean>;
460
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginEmailComponent, never>;
461
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginEmailComponent, "dbx-firebase-login-email", never, {}, {}, never, never, true, never>;
462
+ }
463
+
464
+ interface DbxFirebaseEmailRecoveryFormValue {
465
+ email: string;
466
+ }
467
+ declare class DbxFirebaseEmailRecoveryFormComponent extends AbstractSyncFormlyFormDirective<DbxFirebaseEmailRecoveryFormValue> {
468
+ readonly fields: FormlyFieldConfig[];
469
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseEmailRecoveryFormComponent, never>;
470
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseEmailRecoveryFormComponent, "dbx-firebase-email-recovery-form", never, {}, {}, never, never, true, never>;
471
+ }
472
+
473
+ type DbxFirebaseEmailFormValue = DefaultUsernameLoginFieldsValue;
474
+ interface DbxFirebaseEmailFormConfig {
475
+ readonly loginMode: DbxFirebaseLoginMode;
476
+ readonly passwordConfig?: TextPasswordFieldConfig;
477
+ }
478
+ declare class DbxFirebaseEmailFormComponent extends AbstractConfigAsyncFormlyFormDirective<DbxFirebaseEmailFormValue, DbxFirebaseEmailFormConfig> {
479
+ readonly fields$: Observable<Maybe<FormlyFieldConfig[]>>;
480
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseEmailFormComponent, never>;
481
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseEmailFormComponent, "dbx-firebase-email-form", never, {}, {}, never, never, true, never>;
482
+ }
483
+
484
+ interface DbxFirebaseLoginEmailContentComponentConfig extends DbxFirebaseEmailFormConfig {
485
+ readonly loginMode: DbxFirebaseLoginMode;
486
+ }
487
+ type DbxFirebaseLoginEmailContentMode = 'login' | 'recover' | 'recoversent';
488
+ declare class DbxFirebaseLoginEmailContentComponent {
489
+ readonly dbxFirebaseAuthService: DbxFirebaseAuthService;
490
+ readonly config: DbxFirebaseLoginEmailContentComponentConfig;
491
+ readonly formConfig: DbxFirebaseEmailFormConfig;
492
+ private readonly _emailFormValueSignal;
493
+ private readonly _recoveryFormValueSignal;
494
+ private readonly _emailModeSignal;
495
+ readonly emailFormValueSignal: i0.Signal<Maybe<_dereekb_dbx_form.DefaultUsernameLoginFieldsValue>>;
496
+ readonly recoveryFormValueSignal: i0.Signal<Maybe<DbxFirebaseEmailRecoveryFormValue>>;
497
+ readonly emailModeSignal: i0.Signal<DbxFirebaseLoginEmailContentMode>;
498
+ readonly forgotAnchor: ClickableAnchor;
499
+ readonly doneOrCancelled: EventEmitter<boolean>;
500
+ static openEmailLoginContext(dbxFirebaseLoginContext: DbxFirebaseLoginContext, config: DbxFirebaseLoginEmailContentComponentConfig): Promise<boolean>;
501
+ get loginMode(): DbxFirebaseLoginMode;
502
+ get isLoginMode(): boolean;
503
+ get isRegisterMode(): boolean;
504
+ get buttonText(): "Register" | "Log In";
505
+ readonly handleLoginAction: WorkUsingObservable<DbxFirebaseEmailFormValue>;
506
+ openRecovery(): void;
507
+ readonly handleRecoveryAction: WorkUsingContext<DbxFirebaseEmailRecoveryFormValue>;
508
+ readonly handleRecoverySuccess: DbxActionSuccessHandlerFunction;
509
+ clickedRecoveryAcknowledged(): void;
510
+ onCancel(): void;
511
+ onCancelReset(): void;
512
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginEmailContentComponent, never>;
513
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginEmailContentComponent, "ng-component", never, {}, {}, never, never, true, never>;
514
+ }
515
+
516
+ declare class DbxFirebaseLoginFacebookComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
517
+ readonly loginProvider = "facebook";
518
+ handleLogin(): Promise<_firebase_auth.UserCredential>;
519
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginFacebookComponent, never>;
520
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginFacebookComponent, "dbx-firebase-login-facebook", never, {}, {}, never, never, true, never>;
521
+ }
522
+
523
+ declare class DbxFirebaseLoginGitHubComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
524
+ readonly loginProvider = "github";
525
+ handleLogin(): Promise<_firebase_auth.UserCredential>;
526
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginGitHubComponent, never>;
527
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginGitHubComponent, "dbx-firebase-login-github", never, {}, {}, never, never, true, never>;
528
+ }
529
+
530
+ declare class DbxFirebaseLoginGoogleComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
531
+ readonly loginProvider = "google";
532
+ handleLogin(): Promise<_firebase_auth.UserCredential>;
533
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginGoogleComponent, never>;
534
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginGoogleComponent, "dbx-firebase-login-google", never, {}, {}, never, never, true, never>;
535
+ }
536
+
537
+ type DbxFirebaseLoginListItemInjectionComponentConfig = DbxInjectionComponentConfig & Pick<DbxFirebaseAuthLoginProvider, 'loginMethodType'>;
538
+ /**
539
+ * Pre-configured login component that displays all configured login types.
540
+ */
541
+ declare class DbxFirebaseLoginListComponent {
542
+ readonly dbxFirebaseAuthLoginService: DbxFirebaseAuthLoginService;
543
+ readonly loginMode: i0.InputSignal<DbxFirebaseLoginMode>;
544
+ readonly providerTypes: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
545
+ readonly omitProviderTypes: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
546
+ readonly providerCategories: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
547
+ readonly providerTypesSignal: i0.Signal<string[]>;
548
+ readonly providersSignal: i0.Signal<DbxFirebaseAuthLoginProvider<unknown>[]>;
549
+ readonly providersInjectionConfigsSignal: i0.Signal<DbxFirebaseLoginListItemInjectionComponentConfig[]>;
550
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginListComponent, never>;
551
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginListComponent, "dbx-firebase-login-list", never, { "loginMode": { "alias": "loginMode"; "required": false; "isSignal": true; }; "providerTypes": { "alias": "providerTypes"; "required": false; "isSignal": true; }; "omitProviderTypes": { "alias": "omitProviderTypes"; "required": false; "isSignal": true; }; "providerCategories": { "alias": "providerCategories"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
552
+ }
553
+
554
+ declare class DbxFirebaseLoginMicrosoftComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
555
+ readonly loginProvider = "microsoft";
556
+ handleLogin(): Promise<_firebase_auth.UserCredential>;
557
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginMicrosoftComponent, never>;
558
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginMicrosoftComponent, "dbx-firebase-login-microsoft", never, {}, {}, never, never, true, never>;
559
+ }
560
+
561
+ declare class DbxFirebaseLoginTermsComponent {
562
+ readonly dbxFirebaseAuthLoginService: DbxFirebaseAuthLoginService;
563
+ readonly config: DbxInjectionComponentConfig;
564
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginTermsComponent, never>;
565
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginTermsComponent, "dbx-firebase-login-terms", never, {}, {}, never, never, true, never>;
566
+ }
567
+
568
+ declare class DbxFirebaseLoginTermsSimpleComponent {
569
+ readonly dbxFirebaseLoginTermsConfig: DbxFirebaseLoginTermsOfServiceUrlsConfig;
570
+ readonly tosAnchor: ClickableAnchor;
571
+ readonly privacyAnchor: ClickableAnchor;
572
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginTermsSimpleComponent, never>;
573
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginTermsSimpleComponent, "ng-component", never, {}, {}, never, never, true, never>;
574
+ }
575
+
576
+ declare class DbxFirebaseLoginTwitterComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
577
+ readonly loginProvider = "twitter";
578
+ handleLogin(): Promise<_firebase_auth.UserCredential>;
579
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseLoginTwitterComponent, never>;
580
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseLoginTwitterComponent, "dbx-firebase-login-twitter", never, {}, {}, never, never, true, never>;
581
+ }
582
+
583
+ /**
584
+ * Pre-configured register component that displays all configured login types and their registration components.
585
+ */
586
+ declare class DbxFirebaseRegisterComponent {
587
+ readonly providerTypes: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
588
+ readonly omitProviderTypes: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
589
+ readonly providerCategories: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
590
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseRegisterComponent, never>;
591
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseRegisterComponent, "dbx-firebase-register", never, { "providerTypes": { "alias": "providerTypes"; "required": false; "isSignal": true; }; "omitProviderTypes": { "alias": "omitProviderTypes"; "required": false; "isSignal": true; }; "providerCategories": { "alias": "providerCategories"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
592
+ }
593
+
594
+ declare class DbxFirebaseRegisterEmailComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
595
+ readonly loginProvider = "email";
596
+ handleLogin(): Promise<boolean>;
597
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseRegisterEmailComponent, never>;
598
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseRegisterEmailComponent, "ng-component", never, {}, {}, never, never, true, never>;
599
+ }
600
+
601
+ /**
602
+ * Creates a AuthUserStateObsFunction that derives a user state from the input firebase auth service, and the optional stateForLoggedInUser input
603
+ *
604
+ * @param stateForLoggedInUser Optional function that returns an observable for the user's state if they are logged in and not an anonymous user.
605
+ * @returns
606
+ */
607
+ declare function authUserStateFromFirebaseAuthServiceFunction(stateForLoggedInUser?: AuthUserStateObsFunction): AuthUserStateObsFunction;
608
+ type StateFromTokenFunction = (token: IdTokenResult$1) => ObservableOrValue<AuthUserState>;
609
+ declare function stateFromTokenForLoggedInUserFunction(stateFromToken: StateFromTokenFunction, defaultState?: AuthUserState): AuthUserStateObsFunction;
610
+ /**
611
+ * Convenience function to read a value from an IdTokenResult off of the current user.
612
+ *
613
+ * @param dbxFirebaseAuthService
614
+ * @param readValueFromIdToken
615
+ * @param defaultValue
616
+ * @returns
617
+ */
618
+ declare function readValueFromIdToken<T>(dbxFirebaseAuthService: DbxFirebaseAuthService, readValueFromIdToken: (idToken: IdTokenResult$1) => ObservableOrValue<T>, defaultValue: T): Observable<T>;
619
+
620
+ interface AuthRolesObsWithClaimsServiceConfig<T extends AuthClaimsObject> extends Partial<Pick<DbxFirebaseAuthServiceDelegate, 'isAdminInAuthRoleSet' | 'authUserStateObs'>> {
621
+ /**
622
+ * (Optional) alternative to supplying authUserStateObs. Is passed to authUserStateFromFirebaseAuthService.
623
+ */
624
+ readonly stateForLoggedInUser?: AuthUserStateObsFunction;
625
+ /**
626
+ * (Optional) alternative to supplying authUserStateObs.
627
+ */
628
+ readonly stateForLoggedInUserToken?: StateFromTokenFunction;
629
+ /**
630
+ * Claims service to use for decoding.
631
+ */
632
+ readonly claimsService: AuthRoleClaimsService<T>;
633
+ /**
634
+ * Whether or not to also add the current AuthUserState value to decoded roles.
635
+ */
636
+ readonly addAuthUserStateToRoles?: boolean;
637
+ }
638
+ declare function authRolesObsWithClaimsService<T extends AuthClaimsObject>(config: AuthRolesObsWithClaimsServiceConfig<T>): (dbxFirebaseAuthService: DbxFirebaseAuthService) => Observable<AuthRoleSet>;
639
+ type DefaultDbxFirebaseAuthServiceDelegateWithClaimsServiceConfig<T extends AuthClaimsObject> = AuthRolesObsWithClaimsServiceConfig<T>;
640
+ declare function defaultDbxFirebaseAuthServiceDelegateWithClaimsService<T extends AuthClaimsObject>(config: DefaultDbxFirebaseAuthServiceDelegateWithClaimsServiceConfig<T>): DbxFirebaseAuthServiceDelegate;
641
+
642
+ /**
643
+ * Configuration for provideDbxFirebaseAuth().
644
+ */
645
+ interface ProvideDbxFirebaseAuthConfig {
646
+ /**
647
+ * Optional custom delegate factory for the configured DbxFirebaseAuthService.
648
+ *
649
+ * @param injector
650
+ * @returns
651
+ */
652
+ delegateFactory?: (injector: Injector) => DbxFirebaseAuthServiceDelegate;
653
+ }
654
+ /**
655
+ * Creates EnvironmentProviders for the DbxFirebaseAuthService, and configures the DbxFirebaseAuthService to provide DbxAuthService.
656
+ *
657
+ * @param config
658
+ * @returns
659
+ */
660
+ declare function provideDbxFirebaseAuth(config?: ProvideDbxFirebaseAuthConfig): EnvironmentProviders;
661
+
662
+ interface DbxFirebaseDevelopmentWidgetEntry extends Readonly<LabelRef> {
663
+ /**
664
+ * Widget entry for this provider.
665
+ */
666
+ readonly widget: DbxWidgetEntry;
667
+ }
668
+
669
+ interface DbxFirebaseDevelopmentPopupContentFormInput {
670
+ readonly entries: DbxFirebaseDevelopmentWidgetEntry[];
671
+ }
672
+ interface DbxFirebaseDevelopmentPopupContentFormValue {
673
+ readonly specifier?: Maybe<string>;
674
+ }
675
+ declare class DbxFirebaseDevelopmentPopupContentFormComponent extends AbstractConfigAsyncFormlyFormDirective<DbxFirebaseDevelopmentPopupContentFormValue, DbxFirebaseDevelopmentPopupContentFormInput> {
676
+ readonly fields$: Observable<FormlyFieldConfig[]>;
677
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentPopupContentFormComponent, never>;
678
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseDevelopmentPopupContentFormComponent, "dbx-firebase-development-popup-content-form", never, {}, {}, never, never, true, never>;
679
+ }
680
+
681
+ /**
682
+ * Corresponds to the enabled value on the DbxFirebaseDevelopmentService.
683
+ */
684
+ declare const DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN: InjectionToken<unknown>;
685
+ /**
686
+ * Service used for registering widgets used for development.
687
+ *
688
+ * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
689
+ */
690
+ declare class DbxFirebaseDevelopmentService {
691
+ readonly enabled: boolean;
692
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentService, never>;
693
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseDevelopmentService>;
694
+ }
695
+
696
+ /**
697
+ * Directive for showing the development tools snackbar when the app opens up and listening for keybindings for opening the popup.
698
+ */
699
+ declare class DbxFirebaseDevelopmentDirective implements AfterViewInit {
700
+ readonly popupService: DbxPopupService;
701
+ readonly matSnackBar: MatSnackBar;
702
+ readonly dbxFirebaseDevelopmentService: DbxFirebaseDevelopmentService;
703
+ ref?: NgPopoverRef<any, any>;
704
+ get enabled(): boolean;
705
+ constructor();
706
+ handleKeyboardEvent(event: KeyboardEvent): void;
707
+ togglePopup(): void;
708
+ openPopup(): void;
709
+ closePopup(): void;
710
+ ngAfterViewInit(): void;
711
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentDirective, never>;
712
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDevelopmentDirective, "[dbxFirebaseDevelopment]", never, {}, {}, never, never, true, never>;
713
+ }
714
+
715
+ /**
716
+ * Default providers to inject.
717
+ */
718
+ declare const DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN: InjectionToken<DbxFirebaseDevelopmentWidgetEntry[]>;
719
+ /**
720
+ * Service used for registering widgets used for development.
721
+ *
722
+ * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
723
+ */
724
+ declare class DbxFirebaseDevelopmentWidgetService {
725
+ readonly dbxWidgetService: DbxWidgetService;
726
+ private readonly _entries;
727
+ constructor(defaultEntries: DbxFirebaseDevelopmentWidgetEntry[]);
728
+ /**
729
+ * Used to register a provider. If a provider is already registered, this will override it by default.
730
+ *
731
+ * @param provider
732
+ * @param override
733
+ */
734
+ register(provider: DbxFirebaseDevelopmentWidgetEntry, override?: boolean): boolean;
735
+ getEntryWidgetIdentifiers(): DbxWidgetType[];
736
+ getEntries(): DbxFirebaseDevelopmentWidgetEntry[];
737
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentWidgetService, [{ optional: true; }]>;
738
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseDevelopmentWidgetService>;
739
+ }
740
+
741
+ /**
742
+ * Whether or not the scheduler should be enabled.
743
+ */
744
+ declare const DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN: InjectionToken<unknown>;
745
+ /**
746
+ * Service used for hitting the scheduler in the development environment using the
747
+ */
748
+ declare class DbxFirebaseDevelopmentSchedulerService implements Initialized {
749
+ readonly dbxAuthService: DbxAuthService;
750
+ readonly firebaseDevelopmentFunctions: FirebaseDevelopmentFunctions;
751
+ private readonly _sub;
752
+ private readonly _enabled;
753
+ private readonly _timerInterval;
754
+ private readonly _error;
755
+ readonly enabled$: Observable<boolean>;
756
+ readonly running$: Observable<boolean>;
757
+ readonly timerInterval$: Observable<number>;
758
+ readonly error$: Observable<boolean>;
759
+ readonly schedulerList$: Observable<ScheduledFunctionDevelopmentFirebaseFunctionListEntry[]>;
760
+ init(): void;
761
+ runScheduledFunction(taskName: string): Promise<_dereekb_firebase.ScheduledFunctionDevelopmentFirebaseFunctionResult>;
762
+ setTimer(timerInterval: number): void;
763
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentSchedulerService, never>;
764
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseDevelopmentSchedulerService>;
765
+ }
766
+
767
+ interface DbxFirebaseEmulatorConfig {
768
+ /**
769
+ * Port to target.
770
+ */
771
+ readonly port: number;
772
+ /**
773
+ * Defaults to localhost if not provided.
774
+ */
775
+ readonly host?: string;
776
+ }
777
+ interface DbxFirebaseEmulatorsConfig {
778
+ /**
779
+ * Whether or not to enable the emulators.
780
+ *
781
+ * Defaults to false.
782
+ */
783
+ readonly useEmulators?: boolean;
784
+ /**
785
+ * Default host to target. Defaults to localhost if not provided.
786
+ */
787
+ readonly host?: string;
788
+ /**
789
+ * emulator UI configuration
790
+ */
791
+ readonly ui?: DbxFirebaseEmulatorConfig;
792
+ /**
793
+ * Auth emulator configuration
794
+ */
795
+ readonly auth?: DbxFirebaseEmulatorConfig;
796
+ /**
797
+ * Firestore emulator configuration
798
+ */
799
+ readonly firestore?: DbxFirebaseEmulatorConfig;
800
+ /**
801
+ * Firestore emulator configuration
802
+ */
803
+ readonly storage?: DbxFirebaseEmulatorConfig;
804
+ /**
805
+ * Functions emulator configuration
806
+ */
807
+ readonly functions?: DbxFirebaseEmulatorConfig;
808
+ /**
809
+ * Database emulator configuration
810
+ */
811
+ readonly database?: DbxFirebaseEmulatorConfig;
812
+ }
813
+ declare abstract class DbxFirebaseParsedEmulatorsConfig implements DbxFirebaseEmulatorsConfig {
814
+ abstract readonly useEmulators: boolean;
815
+ readonly host?: string;
816
+ /**
817
+ * Fix used by some components to allow changing 0.0.0.0 to localhost. Defaults to true.
818
+ */
819
+ readonly allow0000ToLocalhost?: boolean;
820
+ readonly ui?: Required<DbxFirebaseEmulatorConfig>;
821
+ readonly auth?: Required<DbxFirebaseEmulatorConfig>;
822
+ readonly firestore?: Required<DbxFirebaseEmulatorConfig>;
823
+ readonly storage?: Required<DbxFirebaseEmulatorConfig>;
824
+ readonly functions?: Required<DbxFirebaseEmulatorConfig>;
825
+ readonly database?: Required<DbxFirebaseEmulatorConfig>;
826
+ }
827
+
828
+ declare class DbxFirebaseEmulatorService {
829
+ readonly emulatorsConfig: DbxFirebaseParsedEmulatorsConfig;
830
+ get useEmulators(): boolean;
831
+ get emulatorUIAnchor(): Maybe<ClickableUrl>;
832
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseEmulatorService, never>;
833
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseEmulatorService>;
834
+ }
835
+
836
+ declare class DbxFirebaseDevelopmentPopupContentComponent {
837
+ readonly twoColumnsContextStore: TwoColumnsContextStore;
838
+ readonly dbxAuthService: DbxAuthService;
839
+ readonly dbxFirebaseDevelopmentWidgetService: DbxFirebaseDevelopmentWidgetService;
840
+ readonly dbxFirebaseDevelopmentSchedulerService: DbxFirebaseDevelopmentSchedulerService;
841
+ readonly dbxFirebaseEmulatorService: DbxFirebaseEmulatorService;
842
+ readonly showEmulatorButton: boolean;
843
+ readonly emulatorUIAnchor: ClickableAnchor;
844
+ readonly entries: _dereekb_dbx_firebase.DbxFirebaseDevelopmentWidgetEntry[];
845
+ private readonly _activeEntrySelector;
846
+ readonly isLoggedIn$: Observable<boolean>;
847
+ readonly entries$: Observable<_dereekb_dbx_firebase.DbxFirebaseDevelopmentWidgetEntry[]>;
848
+ readonly formConfig$: Observable<{
849
+ entries: _dereekb_dbx_firebase.DbxFirebaseDevelopmentWidgetEntry[];
850
+ }>;
851
+ readonly activeEntrySelector$: Observable<Maybe<string>>;
852
+ readonly currentActiveEntry$: Observable<_dereekb_dbx_firebase.DbxFirebaseDevelopmentWidgetEntry | undefined>;
853
+ readonly showRight$: Observable<boolean>;
854
+ readonly activeEntry$: Observable<_dereekb_dbx_firebase.DbxFirebaseDevelopmentWidgetEntry | undefined>;
855
+ readonly schedulerRunning$: Observable<boolean>;
856
+ readonly schedulerInterval$: Observable<number>;
857
+ readonly schedulerError$: Observable<"Error Occured" | "Ok">;
858
+ readonly formData$: Observable<DbxFirebaseDevelopmentPopupContentFormValue>;
859
+ readonly schedulerRunningSignal: i0.Signal<boolean | undefined>;
860
+ readonly schedulerIntervalSignal: i0.Signal<number | undefined>;
861
+ readonly schedulerErrorSignal: i0.Signal<"Error Occured" | "Ok" | undefined>;
862
+ readonly activeEntrySignal: i0.Signal<_dereekb_dbx_firebase.DbxFirebaseDevelopmentWidgetEntry | undefined>;
863
+ readonly rightTitleSignal: i0.Signal<string | undefined>;
864
+ readonly widgetConfigSignal: i0.Signal<Maybe<Readonly<_dereekb_util.ModelTypeDataPair<unknown, string>>>>;
865
+ constructor();
866
+ readonly handleFormUpdate: WorkUsingContext<DbxFirebaseDevelopmentPopupContentFormValue, void>;
867
+ readonly isFormModified: IsModifiedFunction<DbxFirebaseDevelopmentPopupContentFormValue>;
868
+ clearSelection(): void;
869
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentPopupContentComponent, never>;
870
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseDevelopmentPopupContentComponent, "dbx-firebase-development-popup-content", never, {}, {}, never, never, true, never>;
871
+ }
872
+
873
+ declare const DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY = "devpopup";
874
+ declare class DbxFirebaseDevelopmentPopupComponent extends AbstractPopupDirective {
875
+ private readonly popupService;
876
+ readonly content: i0.Signal<DbxFirebaseDevelopmentPopupContentComponent>;
877
+ readonly header = "Development Tools";
878
+ static openPopup(popupService: DbxPopupService, popupKey?: DbxPopupKey): NgPopoverRef;
879
+ reopen: () => void;
880
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentPopupComponent, never>;
881
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseDevelopmentPopupComponent, "ng-component", never, {}, {}, never, never, true, never>;
882
+ }
883
+
884
+ declare const DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY = "DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET";
885
+ declare function developmentFirebaseServerSchedulerWidgetEntry(): DbxFirebaseDevelopmentWidgetEntry;
886
+ declare class DbxFirebaseDevelopmentSchedulerWidgetComponent {
887
+ readonly dbxFirebaseDevelopmentSchedulerService: DbxFirebaseDevelopmentSchedulerService;
888
+ readonly entries$: rxjs.Observable<_dereekb_firebase.ScheduledFunctionDevelopmentFirebaseFunctionListEntry[]>;
889
+ readonly state$: rxjs.Observable<_dereekb_rxjs.LoadingState<_dereekb_firebase.ScheduledFunctionDevelopmentFirebaseFunctionListEntry[]>>;
890
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentSchedulerWidgetComponent, never>;
891
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseDevelopmentSchedulerWidgetComponent, "ng-component", never, {}, {}, never, never, true, never>;
892
+ }
893
+
894
+ type ScheduledFunctionDevelopmentFirebaseFunctionListEntryWithSelection = DbxValueAsListItem<ScheduledFunctionDevelopmentFirebaseFunctionListEntry>;
895
+ declare class DbxFirebaseDevelopmentSchedulerListComponent extends AbstractDbxSelectionListWrapperDirective<ScheduledFunctionDevelopmentFirebaseFunctionListEntry> {
896
+ constructor();
897
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentSchedulerListComponent, never>;
898
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseDevelopmentSchedulerListComponent, "dbx-firebase-development-scheduler-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]", "[end]"], true, never>;
899
+ }
900
+ declare class DbxFirebaseDevelopmentSchedulerListViewComponent extends AbstractDbxSelectionListViewDirective<ScheduledFunctionDevelopmentFirebaseFunctionListEntry> {
901
+ readonly config: DbxSelectionValueListViewConfig<ScheduledFunctionDevelopmentFirebaseFunctionListEntryWithSelection>;
902
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentSchedulerListViewComponent, never>;
903
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseDevelopmentSchedulerListViewComponent, "dbx-firebase-development-scheduler-list-view", never, {}, {}, never, never, true, never>;
904
+ }
905
+ declare class DbxFirebaseDevelopmentSchedulerListViewItemComponent extends AbstractDbxValueListViewItemComponent<ScheduledFunctionDevelopmentFirebaseFunctionListEntry> {
906
+ readonly dbxFirebaseDevelopmentSchedulerService: DbxFirebaseDevelopmentSchedulerService;
907
+ get name(): string;
908
+ readonly handleRun: WorkUsingContext<unknown, unknown>;
909
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentSchedulerListViewItemComponent, never>;
910
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseDevelopmentSchedulerListViewItemComponent, "ng-component", never, {}, {}, never, never, true, never>;
911
+ }
912
+
913
+ /**
914
+ * Contains components related to logging in.
915
+ */
916
+ declare class DbxFirebaseDevelopmentModule {
917
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDevelopmentModule, never>;
918
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseDevelopmentModule, never, [typeof DbxFirebaseDevelopmentPopupContentFormComponent, typeof DbxFirebaseDevelopmentDirective, typeof DbxFirebaseDevelopmentPopupComponent, typeof DbxFirebaseDevelopmentPopupContentComponent, typeof DbxFirebaseDevelopmentSchedulerWidgetComponent, typeof DbxFirebaseDevelopmentSchedulerListComponent, typeof DbxFirebaseDevelopmentSchedulerListViewComponent, typeof DbxFirebaseDevelopmentSchedulerListViewItemComponent], [typeof DbxFirebaseDevelopmentPopupContentFormComponent, typeof DbxFirebaseDevelopmentDirective, typeof DbxFirebaseDevelopmentPopupComponent, typeof DbxFirebaseDevelopmentPopupContentComponent, typeof DbxFirebaseDevelopmentSchedulerWidgetComponent, typeof DbxFirebaseDevelopmentSchedulerListComponent, typeof DbxFirebaseDevelopmentSchedulerListViewComponent, typeof DbxFirebaseDevelopmentSchedulerListViewItemComponent]>;
919
+ static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseDevelopmentModule>;
920
+ }
921
+
922
+ /**
923
+ * Configuration for provideDbxFirebaseDevelopment().
924
+ */
925
+ interface ProvideDbxFirebaseDevelopmentConfig {
926
+ /**
927
+ * Whether or not to automatically add the developmentFirebaseServerSchedulerWidgetEntry() to the developmentWidgetEntries.
928
+ *
929
+ * Defaults to true.
930
+ */
931
+ readonly addDevelopmentSchedulerWidget?: boolean;
932
+ /**
933
+ * Widgets to add to the DbxFirebaseDevelopmentWidgetService module.
934
+ *
935
+ * Configured via the DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN.
936
+ */
937
+ readonly developmentWidgetEntries?: DbxFirebaseDevelopmentWidgetEntry[];
938
+ /**
939
+ * Whether or not the development module is currently enabled.
940
+ *
941
+ * Corresponds to DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN.
942
+ */
943
+ readonly enabled?: boolean;
944
+ }
945
+ /**
946
+ * Creates providers for DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentWidgetService, and DbxFirebaseDevelopmentService.
947
+ *
948
+ * @param config
949
+ * @returns
950
+ */
951
+ declare function provideDbxFirebaseDevelopment(config: ProvideDbxFirebaseDevelopmentConfig): EnvironmentProviders;
952
+
953
+ interface DbxFirebaseAppCheckConfig extends Partial<Omit<AppCheckOptions, 'provider'>> {
954
+ reCaptchaV3: string;
955
+ /**
956
+ * Whether or not to enable AppCheck debug tokens. AppCheck tokens are only printed into the console, and more actions must be taken.
957
+ * See https://firebase.google.com/docs/app-check/web/debug-provider for more info.
958
+ *
959
+ * Debug tokens are only generated when emulators are disabled, and allowDebugTokens is true.
960
+ */
961
+ allowDebugTokens?: boolean;
962
+ /**
963
+ * If true, disables AppCheck initialization for this app.
964
+ */
965
+ disabled?: boolean;
966
+ /**
967
+ * List of routes that app check is authorized to hit.
968
+ *
969
+ * If not defined, /api/* allowed by default.
970
+ */
971
+ appCheckRoutes?: string[];
972
+ }
973
+
974
+ declare const DBX_FIREBASE_APP_OPTIONS_TOKEN: InjectionToken<DbxFirebaseAppOptions>;
975
+ /**
976
+ * Extends FirebaseOptions with additional properties for configuring the underlying client-side Firebase services.
977
+ */
978
+ interface DbxFirebaseAppOptions extends FirebaseOptions {
979
+ readonly emulators: DbxFirebaseEmulatorsConfig;
980
+ /**
981
+ * Firebase AppCheck handling
982
+ */
983
+ readonly appCheck?: DbxFirebaseAppCheckConfig;
984
+ /**
985
+ * Passed to the Functions initialization to set the domain to use when sending requests.
986
+ */
987
+ readonly functionsRegionOrCustomDomain?: string | undefined;
988
+ /**
989
+ * Whether or not to call enableMultiTabIndexedDbPersistence() for firestore at setup time.
990
+ *
991
+ * True by default.
992
+ */
993
+ readonly enableMultiTabIndexedDbPersistence?: boolean;
994
+ /**
995
+ * Whether or not to call enableIndexedDbPersistence() for firestore at setup time.
996
+ *
997
+ * True by default if enableMultiTabIndexedDbPersistence is false.
998
+ */
999
+ readonly enableIndexedDbPersistence?: boolean;
1000
+ /**
1001
+ * Optional persistent cache setting to pass to the Firestore cache.
1002
+ */
1003
+ readonly persistentCacheSettings?: Omit<PersistentCacheSettings, 'tabManager'>;
1004
+ }
1005
+
1006
+ /**
1007
+ * Configuration for provideDbxFirebaseApp().
1008
+ */
1009
+ interface ProvideDbxFirebaseAppConfig {
1010
+ /**
1011
+ * DbxFirebaseAppOptions for the app.
1012
+ *
1013
+ * Is automatically configured as a provider for the DBX_FIREBASE_APP_OPTIONS_TOKEN.
1014
+ */
1015
+ readonly dbxFirebaseAppOptions: DbxFirebaseAppOptions;
1016
+ /**
1017
+ * Whether or not to provide Firestore configuration.
1018
+ *
1019
+ * True by default.
1020
+ */
1021
+ readonly provideFirestore?: Maybe<boolean>;
1022
+ /**
1023
+ * Whether or not to provide App Check configuration.
1024
+ *
1025
+ * True by default.
1026
+ */
1027
+ readonly provideAppCheck?: Maybe<boolean>;
1028
+ /**
1029
+ * Whether or not to provide Auth configuration.
1030
+ *
1031
+ * True by default.
1032
+ */
1033
+ readonly provideAuth?: Maybe<boolean>;
1034
+ /**
1035
+ * Whether or not to provide Storage configuration.
1036
+ *
1037
+ * True by default.
1038
+ */
1039
+ readonly provideStorage?: Maybe<boolean>;
1040
+ /**
1041
+ * Whether or not to provide Functions configuration.
1042
+ *
1043
+ * True by default.
1044
+ */
1045
+ readonly provideFunctions?: Maybe<boolean>;
1046
+ }
1047
+ /**
1048
+ * Provides EnvironmentProviders for all Firebase services.
1049
+ *
1050
+ * @param config
1051
+ * @returns EnvironmentProviders
1052
+ */
1053
+ declare function provideDbxFirebaseApp(config: ProvideDbxFirebaseAppConfig): EnvironmentProviders;
1054
+
1055
+ /**
1056
+ * Config for provideDbxFirebaseEmulator().
1057
+ */
1058
+ type ProvideDbxFirebaseEmulatorsConfig = DbxFirebaseEmulatorsConfig;
1059
+ /**
1060
+ * Creates EnvironmentProviders for the DbxFirebaseEmulatorService.
1061
+ *
1062
+ * @param config
1063
+ * @returns
1064
+ */
1065
+ declare function provideDbxFirebaseEmulator(config: ProvideDbxFirebaseEmulatorsConfig): EnvironmentProviders;
1066
+
1067
+ /**
1068
+ * Convenience type used in .environment.ts files for building configuration.
1069
+ */
1070
+ type DbxFirebaseEnvironmentOptions = DbxFirebaseAppOptions & Pick<ProvideDbxFirebaseLoginConfig, 'enabledLoginMethods'>;
1071
+
1072
+ /**
1073
+ * Token to access the FirestoreContext value.
1074
+ */
1075
+ declare const DBX_FIRESTORE_CONTEXT_TOKEN: InjectionToken<unknown>;
1076
+
1077
+ /**
1078
+ * Provider factory for the SystemStateFirestoreCollections.
1079
+ *
1080
+ * @param appCollection The app collection class to use.
1081
+ * @returns Provider factory for the SystemStateFirestoreCollections.
1082
+ */
1083
+ declare function provideSystemStateFirestoreCollections(appCollection: SystemStateFirestoreCollections): SystemStateFirestoreCollections;
1084
+ /**
1085
+ * Provider factory for the NotificationFirestoreCollections.
1086
+ *
1087
+ * @param appCollection The app collection class to use.
1088
+ * @returns Provider factory for the NotificationFirestoreCollections.
1089
+ */
1090
+ declare function provideNotificationFirestoreCollections(appCollection: NotificationFirestoreCollections): NotificationFirestoreCollections;
1091
+ /**
1092
+ * Provider factory for the StorageFileFirestoreCollections.
1093
+ *
1094
+ * @param appCollection The app collection class to use.
1095
+ * @returns Provider factory for the StorageFileFirestoreCollections.
1096
+ */
1097
+ declare function provideStorageFileFirestoreCollections(appCollection: StorageFileFirestoreCollections): StorageFileFirestoreCollections;
1098
+ /**
1099
+ * Configuration for provideDbxFirestoreCollection().
1100
+ */
1101
+ interface ProvideDbxFirebaseFirestoreCollectionConfig<T> {
1102
+ /**
1103
+ * The app collection class to use.
1104
+ */
1105
+ readonly appCollectionClass: ClassLikeType<T>;
1106
+ /**
1107
+ * The collection factory to use.
1108
+ */
1109
+ readonly collectionFactory: (context: FirestoreContext) => T;
1110
+ /**
1111
+ * Whether or not to provide the SystemStateFirestoreCollections.
1112
+ *
1113
+ * True by default.
1114
+ */
1115
+ readonly provideSystemStateFirestoreCollections?: boolean;
1116
+ /**
1117
+ * Whether or not to provide the NotificationFirestoreCollections.
1118
+ *
1119
+ * False by default.
1120
+ */
1121
+ readonly provideNotificationFirestoreCollections?: boolean;
1122
+ /**
1123
+ * Whether or not to provide the StorageFileFirestoreCollections.
1124
+ *
1125
+ * False by default.
1126
+ */
1127
+ readonly provideStorageFileFirestoreCollections?: boolean;
1128
+ }
1129
+ /**
1130
+ * Creates EnvironmentProviders for the DBX_FIRESTORE_CONTEXT_TOKEN, appCollectionClass, and optionally the SystemStateFirestoreCollections and NotificationFirestoreCollections.
1131
+ *
1132
+ * @param config Configuration for the providers.
1133
+ * @returns EnvironmentProviders
1134
+ */
1135
+ declare function provideDbxFirestoreCollection<T>(config: ProvideDbxFirebaseFirestoreCollectionConfig<T>): EnvironmentProviders;
1136
+
1137
+ /**
1138
+ * Service that provides access to the app's FirestoreContext.
1139
+ */
1140
+ declare class DbxFirestoreContextService {
1141
+ readonly firestoreContext: FirestoreContext<_dereekb_firebase.Firestore>;
1142
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirestoreContextService, never>;
1143
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirestoreContextService>;
1144
+ }
1145
+
1146
+ /**
1147
+ * Configuration for provideDbxFirebaseFunctions().
1148
+ */
1149
+ interface ProvideDbxFirebaseFunctionsConfig<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap> {
1150
+ /**
1151
+ * The token to use for the functions getter.
1152
+ *
1153
+ * This is typically your LazyFirebaseFunctions result type.
1154
+ */
1155
+ functionsGetterToken: ClassLikeType<T>;
1156
+ /**
1157
+ * Factory function to retrieve the functions getter instance.
1158
+ *
1159
+ * @param functions The Firebase functions instance.
1160
+ * @returns The functions getter instance.
1161
+ */
1162
+ functionsGetterFactory: (functions: Functions) => T;
1163
+ /**
1164
+ * Key of the functions config to use to inject FirebaseDevelopmentFunctions using that same provider.
1165
+ *
1166
+ * Defaults to "developmentFunctions". If false, will not be injected automatically.
1167
+ */
1168
+ developmentFunctionsKey?: string | false;
1169
+ /**
1170
+ * Optional functions config map to provide.
1171
+ *
1172
+ * If provided, will inject all the types with factory functions so they can be injected into the app.
1173
+ */
1174
+ functionsConfigMap?: FirebaseFunctionsConfigMap<M>;
1175
+ }
1176
+ /**
1177
+ * Creates EnvironmentProviders for the LazyFirebaseFunctions type for a DbxFirebase app.
1178
+ *
1179
+ * Also provides FirebaseDevelopmentFunctions if developmentFunctionsKey is provided.
1180
+ *
1181
+ * @param config Configuration for provideDbxFirebaseFunctions().
1182
+ * @returns EnvironmentProviders for the LazyFirebaseFunctions type.
1183
+ */
1184
+ declare function provideDbxFirebaseFunctions<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap>(config: ProvideDbxFirebaseFunctionsConfig<T, M>): EnvironmentProviders;
1185
+
1186
+ interface DbxFirebaseCollectionLoaderAccessor<T = unknown> {
1187
+ readonly constraints$: Observable<Maybe<ArrayOrValue<FirestoreQueryConstraint>>>;
1188
+ readonly firestoreIteration$: Observable<FirestoreItemPageIterationInstance<T>>;
1189
+ readonly pageLoadingState$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
1190
+ readonly queryChangeWatcher$: Observable<IterationQueryDocChangeWatcher<T>>;
1191
+ /**
1192
+ * Restarts the loader and refreshes items from the beginning.
1193
+ */
1194
+ restart(): void;
1195
+ }
1196
+ /**
1197
+ * Abstract type that loads models from a configured collection.
1198
+ */
1199
+ interface DbxFirebaseCollectionLoader<T = unknown> extends DbxFirebaseCollectionLoaderAccessor<T> {
1200
+ /**
1201
+ * Maximum number of pages to load from the interation.
1202
+ *
1203
+ * Changing this updates the iteration, but does not reset it.
1204
+ */
1205
+ maxPages: Maybe<number>;
1206
+ /**
1207
+ * Number of items to load per page.
1208
+ *
1209
+ * Changing this will reset the iteration.
1210
+ */
1211
+ itemsPerPage: Maybe<number>;
1212
+ /**
1213
+ * Sets the constraints on the model loader.
1214
+ *
1215
+ * @param constraints
1216
+ */
1217
+ setConstraints(constraints: Maybe<ArrayOrValue<FirestoreQueryConstraint>>): void;
1218
+ /**
1219
+ * Loads more items.
1220
+ */
1221
+ next(): void;
1222
+ /**
1223
+ * Returns an observable that loads up to the given page then emits the page number.
1224
+ *
1225
+ * @param page Page number to load to.
1226
+ */
1227
+ loadToPage(page: PageNumber): Observable<PageNumber>;
1228
+ /**
1229
+ * Loads results until all results have been loaded or the max page limit is reached.
1230
+ */
1231
+ loadAllResults(): Observable<PageNumber>;
1232
+ }
1233
+ interface DbxFirebaseCollectionLoaderAccessorWithAccumulator<T = unknown> extends DbxFirebaseCollectionLoaderAccessor<T> {
1234
+ readonly snapshotAccumulator$: Observable<FirebaseQuerySnapshotAccumulator<T>>;
1235
+ readonly accumulator$: Observable<FirebaseQueryItemAccumulator<T>>;
1236
+ }
1237
+ interface DbxFirebaseCollectionLoaderWithAccumulator<T = unknown> extends DbxFirebaseCollectionLoader<T>, DbxFirebaseCollectionLoaderAccessorWithAccumulator<T> {
1238
+ /**
1239
+ * Loads pages until the number of results has been reached, then emits the total number of results.
1240
+ */
1241
+ loadPagesUntilResultsCount(maxResultsCount: number, countFunction?: FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction<T>): Observable<ItemAccumulatorNextPageUntilResultsCountResult>;
1242
+ }
1243
+
1244
+ /**
1245
+ * DbxFirebaseCollectionChangeWatcher trigger modes
1246
+ * - auto: will automatically call trigger
1247
+ * - off: will never call trigger
1248
+ */
1249
+ type DbxFirebaseCollectionChangeWatcherTriggerMode = 'auto' | 'off';
1250
+ type DbxFirebaseCollectionChangeWatcherEvent = Pick<IterationQueryDocChangeWatcherEvent<unknown>, 'time' | 'type'>;
1251
+ /**
1252
+ * Used to watch a DbxFirebaseCollectionLoaderAccessor for when the query changes and
1253
+ */
1254
+ interface DbxFirebaseCollectionChangeWatcher<S extends DbxFirebaseCollectionLoaderAccessor<any>> {
1255
+ readonly store: S;
1256
+ /**
1257
+ * Current mode observable
1258
+ */
1259
+ readonly mode$: Observable<DbxFirebaseCollectionChangeWatcherTriggerMode>;
1260
+ /**
1261
+ * Stream of events
1262
+ */
1263
+ readonly event$: Observable<DbxFirebaseCollectionChangeWatcherEvent>;
1264
+ readonly hasChangeAvailable$: Observable<boolean>;
1265
+ /**
1266
+ * Current trigger state. Based on the hasChangeAvailable$ state and current mode.
1267
+ */
1268
+ readonly triggered$: Observable<boolean>;
1269
+ /**
1270
+ * Trigger emitter. Only emits when triggered$ is/becomes true.
1271
+ */
1272
+ readonly trigger$: Observable<void>;
1273
+ }
1274
+ /**
1275
+ * DbxFirebaseCollectionChangeWatcher instance that can be destroyed and the mode changed.
1276
+ */
1277
+ interface DbxFirebaseCollectionChangeWatcherInstance<S extends DbxFirebaseCollectionLoaderAccessor<any>> extends DbxFirebaseCollectionChangeWatcher<S>, Destroyable {
1278
+ /**
1279
+ * Changes the mode
1280
+ */
1281
+ setMode(mode: DbxFirebaseCollectionChangeWatcherTriggerMode): void;
1282
+ }
1283
+ declare function dbxFirebaseCollectionChangeWatcher<S extends DbxFirebaseCollectionLoaderAccessor<any>>(store: S, initialMode?: DbxFirebaseCollectionChangeWatcherTriggerMode): DbxFirebaseCollectionChangeWatcherInstance<S>;
1284
+
1285
+ type DbxFirebaseCollectionChangeTriggerFunction<S extends DbxFirebaseCollectionLoaderAccessor<any>> = (instance: DbxFirebaseCollectionChangeTriggerInstance<S>) => ObservableOrValue<void>;
1286
+ /**
1287
+ * Restarts the store.
1288
+ *
1289
+ * @param instance
1290
+ * @returns
1291
+ */
1292
+ declare const DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION: DbxFirebaseCollectionChangeTriggerFunction<any>;
1293
+ interface DbxFirebaseCollectionChangeTriggerInstanceConfig<S extends DbxFirebaseCollectionLoaderAccessor<any>> {
1294
+ readonly watcher: DbxFirebaseCollectionChangeWatcher<S> & Partial<Destroyable>;
1295
+ /**
1296
+ * Whether or not to also destroy the watcher when the trigger instance is destroyed.
1297
+ *
1298
+ * Defaults to false.
1299
+ */
1300
+ readonly destroyWatcherOnDestroy?: boolean;
1301
+ /**
1302
+ * Initial trigger function to use.
1303
+ *
1304
+ * By default restarts the store.
1305
+ */
1306
+ readonly triggerFunction?: Maybe<DbxFirebaseCollectionChangeTriggerFunction<S>>;
1307
+ }
1308
+ interface DbxFirebaseCollectionChangeTrigger<S extends DbxFirebaseCollectionLoaderAccessor<any>> {
1309
+ readonly watcher: DbxFirebaseCollectionChangeWatcher<S>;
1310
+ setTriggerFunction?: Maybe<DbxFirebaseCollectionChangeTriggerFunction<S>>;
1311
+ }
1312
+ declare class DbxFirebaseCollectionChangeTriggerInstance<S extends DbxFirebaseCollectionLoaderAccessor<any>> implements DbxFirebaseCollectionChangeTrigger<S>, Initialized, Destroyable {
1313
+ readonly watcher: DbxFirebaseCollectionChangeWatcher<S>;
1314
+ private readonly _config;
1315
+ private readonly _triggerFunction;
1316
+ private readonly _sub;
1317
+ constructor(config: DbxFirebaseCollectionChangeTriggerInstanceConfig<S>);
1318
+ get config(): DbxFirebaseCollectionChangeTriggerInstanceConfig<S>;
1319
+ init(): void;
1320
+ destroy(): void;
1321
+ get triggerFunction(): Maybe<DbxFirebaseCollectionChangeTriggerFunction<S>>;
1322
+ set triggerFunction(triggerFunction: Maybe<DbxFirebaseCollectionChangeTriggerFunction<S>>);
1323
+ }
1324
+ /**
1325
+ * Creates a new DbxFirebaseCollectionChangeWatcher, set the modes to "auto", and creates a new DbxFirebaseCollectionChangeTriggerInstance.
1326
+ *
1327
+ * If no trigger function is provided it will default to resetting the store.
1328
+ *
1329
+ * NOTE: Don't forget to initialize the DbxFirebaseCollectionChangeTriggerInstance and handle other lifecycle changes.
1330
+ *
1331
+ * @param store
1332
+ * @param triggerFunction
1333
+ * @returns
1334
+ */
1335
+ declare function dbxFirebaseCollectionChangeTriggerForStore<S extends DbxFirebaseCollectionLoaderAccessor<any>>(store: S, triggerFunction?: Maybe<DbxFirebaseCollectionChangeTriggerFunction<S>>): DbxFirebaseCollectionChangeTriggerInstance<S>;
1336
+ declare function dbxFirebaseCollectionChangeTriggerForWatcher<S extends DbxFirebaseCollectionLoaderAccessor<any>>(watcher: DbxFirebaseCollectionChangeWatcher<S>, triggerFunction?: Maybe<DbxFirebaseCollectionChangeTriggerFunction<S>>): DbxFirebaseCollectionChangeTriggerInstance<S>;
1337
+ declare function dbxFirebaseCollectionChangeTrigger<S extends DbxFirebaseCollectionLoaderAccessor<any>>(config: DbxFirebaseCollectionChangeTriggerInstanceConfig<S>): DbxFirebaseCollectionChangeTriggerInstance<S>;
1338
+
1339
+ /**
1340
+ * The store mode.
1341
+ *
1342
+ * - query: The store will load documents from a query, using the given collection.
1343
+ * - references: The store will load documents from the input references (keys, refs, etc.).
1344
+ */
1345
+ type DbxFirebaseCollectionMode = 'query' | 'references';
1346
+ interface DbxFirebaseCollectionLoaderInstanceInitConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
1347
+ readonly collection?: Maybe<FirestoreCollectionLike<T, D>>;
1348
+ readonly collectionMode?: DbxFirebaseCollectionMode;
1349
+ readonly collectionKeys?: Maybe<FirestoreModelKey[]>;
1350
+ readonly collectionRefs?: Maybe<DocumentReference<T>[]>;
1351
+ readonly maxPages?: Maybe<number>;
1352
+ readonly itemsPerPage?: Maybe<number>;
1353
+ readonly constraints?: Maybe<ArrayOrValue<FirestoreQueryConstraint>>;
1354
+ /**
1355
+ * Whether or not to wait for non-null constraints before beginning the iteration.
1356
+ *
1357
+ * Defaults to true.
1358
+ */
1359
+ readonly waitForNonNullConstraints?: Maybe<boolean>;
1360
+ }
1361
+ type DbxFirebaseCollectionLoaderInstanceData<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = DbxFirebaseCollectionLoaderAccessor<T>;
1362
+ /**
1363
+ * DbxFirebaseModelLoader implementation within an instance.
1364
+ */
1365
+ declare class DbxFirebaseCollectionLoaderInstance<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>> implements DbxFirebaseCollectionLoaderWithAccumulator<T>, DbxFirebaseCollectionLoaderInstanceData<T, D>, Initialized, Destroyable {
1366
+ private readonly _maxPagesSub;
1367
+ protected readonly _collection: BehaviorSubject<Maybe<FirestoreCollectionLike<T, D, _dereekb_firebase.LimitedFirestoreDocumentAccessor<T, D>>>>;
1368
+ protected readonly _collectionMode: BehaviorSubject<DbxFirebaseCollectionMode>;
1369
+ protected readonly _collectionRefs: BehaviorSubject<Maybe<DocumentReference<T>[]>>;
1370
+ protected readonly _maxPages: BehaviorSubject<Maybe<number>>;
1371
+ protected readonly _itemsPerPage: BehaviorSubject<Maybe<number>>;
1372
+ protected readonly _constraints: BehaviorSubject<Maybe<ArrayOrValue<FirestoreQueryConstraint<unknown>>>>;
1373
+ protected readonly _waitForNonNullConstraints: BehaviorSubject<Maybe<boolean>>;
1374
+ protected readonly _restart: Subject<void>;
1375
+ readonly collection$: Observable<Maybe<FirestoreCollectionLike<T, D, _dereekb_firebase.LimitedFirestoreDocumentAccessor<T, D>>>>;
1376
+ readonly collectionMode$: Observable<DbxFirebaseCollectionMode>;
1377
+ readonly currentCollectionRefs$: Observable<Maybe<DocumentReference<T>[]>>;
1378
+ readonly collectionRefs$: Observable<DocumentReference<T>[]>;
1379
+ readonly collectionKeys$: Observable<string[]>;
1380
+ readonly currentConstraints$: Observable<Maybe<ArrayOrValue<FirestoreQueryConstraint<unknown>>>>;
1381
+ readonly constraints$: Observable<Maybe<ArrayOrValue<FirestoreQueryConstraint<unknown>>>>;
1382
+ readonly iteratorFilter$: Observable<FirestoreItemPageIteratorFilter>;
1383
+ readonly firestoreIteration$: Observable<FirestoreItemPageIterationInstance<T>>;
1384
+ readonly queryChangeWatcher$: Observable<IterationQueryDocChangeWatcher<T>>;
1385
+ readonly snapshotAccumulator$: Observable<FirebaseQuerySnapshotAccumulator<T>>;
1386
+ readonly hasNext$: Observable<boolean>;
1387
+ readonly canLoadMore$: Observable<boolean>;
1388
+ readonly hasNextAndCanLoadMore$: Observable<boolean>;
1389
+ readonly snapshotAccumulatorDocumentRefs$: Observable<DocumentReference<T>[][]>;
1390
+ readonly snapshotAccumulatorDocuments$: Observable<D[][]>;
1391
+ readonly accumulator$: Observable<FirebaseQueryItemAccumulator<T>>;
1392
+ readonly accumulatorPage$: Observable<PageNumber>;
1393
+ /**
1394
+ * Passthrough for currentAllItems$ from the accumulator.
1395
+ */
1396
+ readonly currentAccumulatorItems$: Observable<DocumentDataWithIdAndKey<T>[][]>;
1397
+ /**
1398
+ * Passthrough for allItems$ from the accumulator.
1399
+ */
1400
+ readonly accumulatorItems$: Observable<DocumentDataWithIdAndKey<T>[][]>;
1401
+ /**
1402
+ * Returns true if the first page result has one or more documents.
1403
+ */
1404
+ readonly hasDocuments$: Observable<boolean>;
1405
+ readonly allDocumentRefs$: Observable<DocumentReference<T>[]>;
1406
+ readonly allDocuments$: Observable<D[]>;
1407
+ readonly allDocumentData$: Observable<DocumentDataWithIdAndKey<T>[]>;
1408
+ readonly pageLoadingState$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
1409
+ constructor(initConfig?: DbxFirebaseCollectionLoaderInstanceInitConfig<T, D>);
1410
+ init(): void;
1411
+ destroy(): void;
1412
+ get collectionMode(): DbxFirebaseCollectionMode;
1413
+ set collectionMode(mode: DbxFirebaseCollectionMode);
1414
+ get collectionKeys(): Maybe<FirestoreModelKey[]>;
1415
+ set collectionKeys(keys: Maybe<FirestoreModelKey[]>);
1416
+ get collectionRefs(): Maybe<DocumentReference<T>[]>;
1417
+ set collectionRefs(refs: Maybe<DocumentReference<T>[]>);
1418
+ get maxPages(): Maybe<number>;
1419
+ set maxPages(maxPages: Maybe<number>);
1420
+ get itemsPerPage(): Maybe<number>;
1421
+ set itemsPerPage(itemsPerPage: Maybe<number>);
1422
+ get constraints(): Maybe<ArrayOrValue<FirestoreQueryConstraint>>;
1423
+ set constraints(constraints: Maybe<ArrayOrValue<FirestoreQueryConstraint>>);
1424
+ get waitForNonNullConstraints(): Maybe<boolean>;
1425
+ set waitForNonNullConstraints(waitForNonNullConstraints: Maybe<boolean>);
1426
+ get collection(): Maybe<FirestoreCollectionLike<T, D>>;
1427
+ set collection(collection: Maybe<FirestoreCollectionLike<T, D>>);
1428
+ next(): void;
1429
+ restart(): void;
1430
+ setCollectionMode(mode: DbxFirebaseCollectionMode): void;
1431
+ setCollectionKeys(keys: Maybe<FirestoreModelKey[]>): void;
1432
+ setCollectionRefs(refs: Maybe<DocumentReference<T>[]>): void;
1433
+ setMaxPages(maxPages: Maybe<number>): void;
1434
+ setItemsPerPage(itemsPerPage: Maybe<number>): void;
1435
+ setConstraints(constraints: Maybe<ArrayOrValue<FirestoreQueryConstraint>>): void;
1436
+ setWaitForNonNullConstraints(waitForNonNullConstraints: Maybe<boolean>): void;
1437
+ setCollection(firestoreCollection: Maybe<FirestoreCollectionLike<T, D>>): void;
1438
+ loadPagesUntilResultsCount(maxResultsLimit: GetterOrValue<number>, countResultsFunction?: FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction<T> | undefined): Observable<ItemAccumulatorNextPageUntilResultsCountResult>;
1439
+ loadToPage(page: PageNumber): Observable<PageNumber>;
1440
+ loadAllResults(): Observable<PageNumber>;
1441
+ }
1442
+ declare function dbxFirebaseCollectionLoaderInstance<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: DbxFirebaseCollectionLoaderInstanceInitConfig<T, D>): DbxFirebaseCollectionLoaderInstance<T, D>;
1443
+ declare function dbxFirebaseCollectionLoaderInstanceWithCollection<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(collection: Maybe<FirestoreCollectionLike<T, D>>): DbxFirebaseCollectionLoaderInstance<T, D>;
1444
+
1445
+ /**
1446
+ * Abstract type that loads document snapshots from keys, refs, or documents.
1447
+ */
1448
+ interface DbxLimitedFirebaseDocumentLoader<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
1449
+ /**
1450
+ * Keys of the documents
1451
+ */
1452
+ readonly keys$: Observable<FirestoreModelKey[]>;
1453
+ /**
1454
+ * Refs of the documents
1455
+ */
1456
+ readonly refs$: Observable<DocumentReference<T>[]>;
1457
+ /**
1458
+ * Ids of the documents
1459
+ */
1460
+ readonly ids$: Observable<FirestoreModelId[]>;
1461
+ /**
1462
+ * Documents to load.
1463
+ */
1464
+ readonly documents$: Observable<D[]>;
1465
+ /**
1466
+ * Snapshots of the documents
1467
+ */
1468
+ readonly snapshots$: Observable<DocumentSnapshot<T>[]>;
1469
+ /**
1470
+ * Data from the documents.
1471
+ */
1472
+ readonly data$: Observable<DocumentDataWithIdAndKey<T>[]>;
1473
+ /**
1474
+ * Snapshot stream of the documents
1475
+ */
1476
+ readonly snapshotsStream$: Observable<DocumentSnapshot<T>[]>;
1477
+ /**
1478
+ * Data stream of the documents.
1479
+ */
1480
+ readonly dataStream$: Observable<DocumentDataWithIdAndKey<T>[]>;
1481
+ /**
1482
+ * Loading state for the document data.
1483
+ */
1484
+ readonly pageLoadingState$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
1485
+ /**
1486
+ * Loading state for the streamed document data.
1487
+ */
1488
+ readonly pageLoadingStateStream$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
1489
+ /**
1490
+ * Sets the keys of the models to load.
1491
+ *
1492
+ * @param constraints
1493
+ */
1494
+ setKeys(keys: Maybe<ObservableOrValue<ArrayOrValue<FirestoreModelKey>>>): void;
1495
+ /**
1496
+ * Sets the document references to load.
1497
+ *
1498
+ * @param constraints
1499
+ */
1500
+ setRefs(refs: Maybe<ObservableOrValue<ArrayOrValue<DocumentReference<T>>>>): void;
1501
+ /**
1502
+ * Sets the documents to load from.
1503
+ *
1504
+ * @param constraints
1505
+ */
1506
+ setDocuments(docs: Maybe<ObservableOrValue<ArrayOrValue<D>>>): void;
1507
+ }
1508
+ interface DbxFirebaseDocumentLoader<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends DbxLimitedFirebaseDocumentLoader<T, D> {
1509
+ /**
1510
+ * Sets the ids of the models to load.
1511
+ *
1512
+ * @param constraints
1513
+ */
1514
+ setIds(ids: Maybe<ObservableOrValue<ArrayOrValue<FirestoreModelId>>>): void;
1515
+ }
1516
+
1517
+ interface DbxFirebaseDocumentLoaderInstanceInitConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
1518
+ readonly accessor: A;
1519
+ }
1520
+ /**
1521
+ * DbxLimitedFirebaseDocumentLoader implementation within an instance.
1522
+ */
1523
+ declare class DbxLimitedFirebaseDocumentLoaderInstance<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> implements DbxLimitedFirebaseDocumentLoader<T>, Destroyable {
1524
+ readonly accessor: A;
1525
+ protected readonly _documents: BehaviorSubject<Maybe<D[]>>;
1526
+ protected readonly _restart: Subject<void>;
1527
+ protected readonly _sub: SubscriptionObject<rxjs.Unsubscribable>;
1528
+ readonly documents$: Observable<D[]>;
1529
+ readonly keys$: Observable<string[]>;
1530
+ readonly ids$: Observable<string[]>;
1531
+ readonly refs$: Observable<DocumentReference<unknown>[]>;
1532
+ readonly snapshots$: Observable<DocumentSnapshot<T>[]>;
1533
+ readonly data$: Observable<DocumentDataWithIdAndKey<T>[]>;
1534
+ /**
1535
+ * Snapshot stream of the documents
1536
+ */
1537
+ readonly snapshotsStream$: Observable<DocumentSnapshot<T>[]>;
1538
+ /**
1539
+ * Data streamd of the documents.
1540
+ */
1541
+ readonly dataStream$: Observable<DocumentDataWithIdAndKey<T>[]>;
1542
+ readonly pageLoadingState$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
1543
+ readonly pageLoadingStateStream$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
1544
+ constructor(initConfig: DbxFirebaseDocumentLoaderInstanceInitConfig<T, D, A>);
1545
+ destroy(): void;
1546
+ restart(): void;
1547
+ setKeys(keys: Maybe<ObservableOrValue<ArrayOrValue<FirestoreModelKey>>>): void;
1548
+ setRefs(refs: Maybe<ObservableOrValue<ArrayOrValue<DocumentReference<T>>>>): void;
1549
+ setDocuments(docs: Maybe<ObservableOrValue<ArrayOrValue<D>>>): void;
1550
+ }
1551
+ declare function dbxLimitedFirebaseDocumentLoaderInstance<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>>(config: DbxFirebaseDocumentLoaderInstanceInitConfig<T, D, A>): DbxLimitedFirebaseDocumentLoaderInstance<T, D, A>;
1552
+ declare function dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>>(accessor: A): DbxLimitedFirebaseDocumentLoaderInstance<T, D, A>;
1553
+ declare class DbxFirebaseDocumentLoaderInstance<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends FirestoreDocumentAccessor<T, D> = FirestoreDocumentAccessor<T, D>> extends DbxLimitedFirebaseDocumentLoaderInstance<T, D, A> implements DbxFirebaseDocumentLoader<T>, Destroyable {
1554
+ setIds(ids: Maybe<ObservableOrValue<ArrayOrValue<FirestoreModelKey>>>): void;
1555
+ }
1556
+ declare function dbxFirebaseDocumentLoaderInstance<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends FirestoreDocumentAccessor<T, D> = FirestoreDocumentAccessor<T, D>>(config: DbxFirebaseDocumentLoaderInstanceInitConfig<T, D, A>): DbxFirebaseDocumentLoaderInstance<T, D, A>;
1557
+ declare function dbxFirebaseDocumentLoaderInstanceWithAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends FirestoreDocumentAccessor<T, D> = FirestoreDocumentAccessor<T, D>>(accessor: A): DbxFirebaseDocumentLoaderInstance<T, D, A>;
1558
+
1559
+ /**
1560
+ * Service instance that exposes roles for a specific model.
1561
+ */
1562
+ interface DbxFirebaseInContextFirebaseModelRolesServiceInstance<R extends GrantedRole = GrantedRole> {
1563
+ readonly key$: Observable<FirestoreModelKey>;
1564
+ readonly roleReader$: Observable<GrantedRoleMapReader<R>>;
1565
+ readonly roleMap$: Observable<GrantedRoleMap<R>>;
1566
+ readonly hasNoAccess$: Observable<boolean>;
1567
+ truthMap<M extends GrantedRoleTruthMapObject<any, R>>(input: M): Observable<GrantedRoleTruthMap<M>>;
1568
+ hasAnyRoles(roles: IterableOrValue<R>): Observable<boolean>;
1569
+ hasAllRoles(roles: IterableOrValue<R>): Observable<boolean>;
1570
+ hasRoles(setIncludes: SetIncludesMode, roles: IterableOrValue<R>): Observable<boolean>;
1571
+ containsAnyRoles(roles: IterableOrValue<R>): Observable<boolean>;
1572
+ containsAllRoles(roles: IterableOrValue<R>): Observable<boolean>;
1573
+ containsRoles(setIncludes: SetIncludesMode, roles: IterableOrValue<R>): Observable<boolean>;
1574
+ }
1575
+ /**
1576
+ * DbxFirebaseInContextFirebaseModelRolesServiceInstance extension that provides access to the underlying model.
1577
+ */
1578
+ interface DbxFirebaseInContextFirebaseModelInfoServiceInstance<D extends FirestoreDocument<any>, R extends GrantedRole = GrantedRole> extends DbxFirebaseInContextFirebaseModelRolesServiceInstance<R> {
1579
+ readonly modelType$: Observable<FirestoreModelType>;
1580
+ readonly model$: Observable<D>;
1581
+ /**
1582
+ * Reads the data from the model once and returns the current state without streaming, if it exists or can be retrieved.
1583
+ */
1584
+ readonly snapshotData$: Observable<Maybe<FirestoreDocumentData<D>>>;
1585
+ snapshotStream(mode: FirestoreAccessorStreamMode): Observable<DocumentSnapshot<FirestoreDocumentData<D>>>;
1586
+ snapshotDataStream(mode: FirestoreAccessorStreamMode, options?: SnapshotOptions): Observable<FirestoreDocumentData<D>>;
1587
+ }
1588
+
1589
+ type DbxFirebaseInContextFirebaseModelServiceInstanceFactory<S extends InContextFirebaseModelsService<any>, C extends FirebasePermissionErrorContext = FirebasePermissionErrorContext> = <D extends FirestoreDocument<any>, R extends GrantedRole = GrantedRole>(type: S extends InContextFirebaseModelsService<infer Y> ? (Y extends FirebaseModelsService<infer X, infer C> ? keyof X : never) : never, keyObs: ObservableOrValue<ModelKey>) => DbxFirebaseInContextFirebaseModelServiceInstance<D, R, C>;
1590
+ declare function dbxFirebaseInContextFirebaseModelServiceInstanceFactory<S extends InContextFirebaseModelsService<any>, C extends FirebasePermissionErrorContext = FirebasePermissionErrorContext>(context$: Observable<S>): DbxFirebaseInContextFirebaseModelServiceInstanceFactory<S, C>;
1591
+ interface DbxFirebaseInContextFirebaseModelServiceInstance<D extends FirestoreDocument<any>, R extends GrantedRole = GrantedRole, C extends FirebasePermissionErrorContext = FirebasePermissionErrorContext> extends DbxFirebaseInContextFirebaseModelInfoServiceInstance<D, R> {
1592
+ readonly modelService$: Observable<InModelContextFirebaseModelService<C, FirestoreDocumentData<D>, D, R>>;
1593
+ }
1594
+ /**
1595
+ * Creates a new DbxFirebaseInContextFirebaseModelServiceInstance.
1596
+ *
1597
+ * Wraps an InModelContextFirebaseModelService observable and provides different piped observables.
1598
+ */
1599
+ declare function dbxFirebaseInContextFirebaseModelServiceInstance<D extends FirestoreDocument<any>, R extends GrantedRole = GrantedRole, C extends FirebasePermissionErrorContext = FirebasePermissionErrorContext>(modelService$: Observable<InModelContextFirebaseModelService<C, FirestoreDocumentData<D>, D, R>>): DbxFirebaseInContextFirebaseModelServiceInstance<D, R, C>;
1600
+
1601
+ /**
1602
+ * Used for retrieving contexts for a specific model type/identity.
1603
+ */
1604
+ declare abstract class DbxFirebaseModelContextService {
1605
+ /**
1606
+ * Creates a new DbxFirebaseInContextFirebaseModelInfoServiceInstance for the input model key.
1607
+ *
1608
+ * @param key$
1609
+ */
1610
+ abstract modelInfoInstance<D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole>(keyObs: ObservableOrValue<FirestoreModelKey>): Observable<DbxFirebaseInContextFirebaseModelInfoServiceInstance<D, R>>;
1611
+ }
1612
+ type DbxFirebaseModelContextServiceInfoInstanceFactory = <D extends FirestoreDocument<any>, R extends GrantedRole = GrantedRole>(keyObs: ObservableOrValue<FirestoreModelKey>) => Observable<DbxFirebaseInContextFirebaseModelInfoServiceInstance<D, R>>;
1613
+ interface DbxFirebaseModelContextServiceInfoInstanceFactoryConfig<S extends InContextFirebaseModelsService<any>, C extends FirebasePermissionErrorContext = FirebasePermissionErrorContext> {
1614
+ readonly modelService: DbxFirebaseInContextFirebaseModelServiceInstanceFactory<S, C>;
1615
+ readonly entityMap$: Observable<FirestoreModelIdentityTypeMap>;
1616
+ }
1617
+ declare function dbxFirebaseModelContextServiceInfoInstanceFactory<S extends InContextFirebaseModelsService<any>, C extends FirebasePermissionErrorContext = FirebasePermissionErrorContext>(config: DbxFirebaseModelContextServiceInfoInstanceFactoryConfig<S, C>): DbxFirebaseModelContextServiceInfoInstanceFactory;
1618
+ /**
1619
+ * Operator function that builds a FirestoreModelIdentityTypeMap from the input context and shares the replay.
1620
+ *
1621
+ * Since the output won't change with different contexts, the map is built once and then shared.
1622
+ *
1623
+ * @returns
1624
+ */
1625
+ declare function firebaseContextServiceEntityMap<T extends InContextFirebaseModelsService<any>>(): OperatorFunction<T, FirestoreModelIdentityTypeMap>;
1626
+
1627
+ /**
1628
+ * Factory function for creating a DbxFirebaseModelContextService instance.
1629
+ */
1630
+ type DbxFirebaseModelContextServiceFactory<T extends DbxFirebaseModelContextService> = (injector: Injector) => T;
1631
+ interface ProvideDbxFirebaseModelContextServiceConfig<T extends DbxFirebaseModelContextService> {
1632
+ readonly dbxFirebaseModelContextServiceClass: ClassType<T>;
1633
+ readonly dbxFirebaseModelContextServiceFactory?: DbxFirebaseModelContextServiceFactory<T>;
1634
+ }
1635
+ /**
1636
+ * Creates EnvironmentProviders that provides a DbxFirebaseModelContextService and the configured class instance.
1637
+ *
1638
+ * @param config Configuration
1639
+ * @returns EnvironmentProviders
1640
+ */
1641
+ declare function provideDbxFirebaseModelContextService<T extends DbxFirebaseModelContextService>(config: ProvideDbxFirebaseModelContextServiceConfig<T>): EnvironmentProviders;
1642
+
1643
+ /**
1644
+ * Configuration provided in the root module for configuring entries.
1645
+ */
1646
+ declare abstract class DbxFirebaseModelTypesServiceConfig {
1647
+ /**
1648
+ * Entries to register.
1649
+ */
1650
+ abstract entries: DbxFirebaseModelTypesServiceEntry[];
1651
+ }
1652
+ interface DbxFirebaseModelTypesServiceEntry<T = unknown> extends Omit<DbxModelTypeInfo, 'canSegueToView' | 'modelType'> {
1653
+ /**
1654
+ * Identity of the item being registered.
1655
+ */
1656
+ readonly identity: FirestoreModelIdentity;
1657
+ /**
1658
+ * Creates the DbxFirebaseModelDisplayInfo for the input data.
1659
+ *
1660
+ * If no icon is provided, it uses the default icon configured in this entry.
1661
+ *
1662
+ * @param value
1663
+ * @returns
1664
+ */
1665
+ readonly displayInfoFactory: FactoryWithRequiredInput<DbxFirebaseModelDisplayInfo, T>;
1666
+ }
1667
+ type DbxFirebaseModelDisplayInfo = IconAndTitle;
1668
+ interface DbxFirebaseModelTypeInfo<T = unknown> extends DbxModelTypeInfo, Pick<DbxFirebaseModelTypesServiceEntry<T>, 'identity' | 'displayInfoFactory'> {
1669
+ }
1670
+ type DbxFirebaseModelTypesMap = DbxModelTypesMap<DbxFirebaseModelTypeInfo>;
1671
+ /**
1672
+ * Provides model type information about models registered within Firebase.
1673
+ *
1674
+ * Automatically configures the DbxModelTypesService.
1675
+ */
1676
+ declare class DbxFirebaseModelTypesService {
1677
+ readonly dbxFirebaseModelContextService: DbxFirebaseModelContextService;
1678
+ readonly dbxModelTypesService: DbxModelTypesService<any>;
1679
+ constructor(initialConfig: DbxFirebaseModelTypesServiceConfig);
1680
+ getDisplayInfo<T>(typeInfo: DbxFirebaseModelTypeInfo<T>, data: T): DbxFirebaseModelDisplayInfo;
1681
+ getDefaultDisplayInfo<T = unknown>(typeInfo: DbxFirebaseModelTypeInfo<T>): {
1682
+ title: string;
1683
+ icon: string;
1684
+ };
1685
+ register(entries: ArrayOrValue<DbxFirebaseModelTypesServiceEntry>): void;
1686
+ currentInfoForType(type: FirestoreCollectionType): Observable<Maybe<DbxFirebaseModelTypeInfo>>;
1687
+ infoForType(type: FirestoreCollectionType): Observable<DbxFirebaseModelTypeInfo>;
1688
+ instanceForKey<D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole>(key$: ObservableOrValue<FirestoreModelKey>): DbxFirebaseModelTypesServiceInstance<D, R>;
1689
+ instancePairsForKeys(keys: ArrayOrValue<ObservableOrValue<FirestoreModelKey>>): Observable<DbxFirebaseModelTypesServiceInstancePair<any, string>[]>;
1690
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypesService, never>;
1691
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseModelTypesService>;
1692
+ }
1693
+ /**
1694
+ * Information pair for an instance.
1695
+ */
1696
+ interface DbxFirebaseModelTypesServiceInstancePair<D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole> {
1697
+ readonly key: FirestoreModelKey;
1698
+ readonly instance: DbxFirebaseModelTypesServiceInstance<D, R>;
1699
+ readonly displayInfo: DbxFirebaseModelDisplayInfo;
1700
+ readonly segueRef: Maybe<ClickableAnchorLinkSegueRef>;
1701
+ }
1702
+ type DbxFirebaseModelTypesServiceInstancePairForKeysFactory = (keys: ArrayOrValue<ObservableOrValue<FirestoreModelKey>>) => Observable<DbxFirebaseModelTypesServiceInstancePair[]>;
1703
+ declare function dbxFirebaseModelTypesServiceInstancePairForKeysFactory(service: DbxFirebaseModelTypesService): DbxFirebaseModelTypesServiceInstancePairForKeysFactory;
1704
+ /**
1705
+ * DbxFirebaseModelTypesService instance
1706
+ */
1707
+ interface DbxFirebaseModelTypesServiceInstance<D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole> {
1708
+ readonly modelInfoInstance$: Observable<DbxFirebaseInContextFirebaseModelInfoServiceInstance<D, R>>;
1709
+ readonly dbxFirebaseModelTypesService: DbxFirebaseModelTypesService;
1710
+ readonly key$: Observable<string>;
1711
+ readonly modelType$: Observable<string>;
1712
+ readonly snapshotData$: Observable<Maybe<FirestoreDocumentData<D>>>;
1713
+ readonly safeTypeInfo$: Observable<Maybe<DbxFirebaseModelTypeInfo<unknown>>>;
1714
+ readonly typeInfo$: Observable<DbxFirebaseModelTypeInfo<unknown>>;
1715
+ readonly identity$: Observable<FirestoreModelIdentity>;
1716
+ readonly segueRef$: Observable<Maybe<SegueRef>>;
1717
+ readonly displayInfo$: Observable<DbxFirebaseModelDisplayInfo>;
1718
+ readonly clickableSegueRef$: Observable<Maybe<ClickableAnchorLinkSegueRef>>;
1719
+ readonly safeInstancePair$: Observable<Maybe<DbxFirebaseModelTypesServiceInstancePair>>;
1720
+ readonly instancePair$: Observable<DbxFirebaseModelTypesServiceInstancePair>;
1721
+ }
1722
+ declare function dbxFirebaseModelTypesServiceInstance<D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole>(modelInfoInstance$: Observable<DbxFirebaseInContextFirebaseModelInfoServiceInstance<D, R>>, dbxFirebaseModelTypesService: DbxFirebaseModelTypesService): DbxFirebaseModelTypesServiceInstance<D, R>;
1723
+
1724
+ interface DbxFirebaseModelTrackerFilterItem {
1725
+ readonly instancePair: DbxFirebaseModelTypesServiceInstancePair;
1726
+ readonly identity: FirestoreModelIdentity;
1727
+ }
1728
+ interface DbxFirebaseModelTrackerHistoryFilter {
1729
+ /**
1730
+ * Whether or not to exclude the values instead of include them.
1731
+ */
1732
+ readonly invertFilter?: boolean;
1733
+ /**
1734
+ * Identity types to filter on.
1735
+ */
1736
+ readonly identity?: Maybe<ArrayOrValue<FirestoreModelIdentity>>;
1737
+ /**
1738
+ * Arbitrary filter function to filter individual items.
1739
+ */
1740
+ readonly filterItem?: ObservableDecisionFunction<DbxFirebaseModelTrackerFilterItem>;
1741
+ }
1742
+ declare class DbxFirebaseModelTrackerService {
1743
+ readonly dbxModelTrackerService: DbxModelTrackerService;
1744
+ readonly dbxFirebaseModelTypesService: DbxFirebaseModelTypesService;
1745
+ readonly historyKeys$: Observable<string[]>;
1746
+ readonly historyPairs$: Observable<DbxFirebaseModelTypesServiceInstancePair<any, string>[]>;
1747
+ readonly filterItemHistoryPairs$: Observable<DbxFirebaseModelTrackerFilterItem[]>;
1748
+ /**
1749
+ * Filters from historyPairs$ using the input filter configuration, if it is provided.
1750
+ *
1751
+ * @param filter
1752
+ * @returns
1753
+ */
1754
+ filterHistoryPairs(filter?: Maybe<DbxFirebaseModelTrackerHistoryFilter>): Observable<DbxFirebaseModelTypesServiceInstancePair[]>;
1755
+ loadHistoryKeys(): Observable<string[]>;
1756
+ loadHistoryPairs(): Observable<DbxFirebaseModelTypesServiceInstancePair[]>;
1757
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTrackerService, never>;
1758
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseModelTrackerService>;
1759
+ }
1760
+
1761
+ declare class DbxFirebaseModelHistoryComponent {
1762
+ readonly dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService;
1763
+ readonly anchorForItem: i0.InputSignal<Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair<any, string>>>>;
1764
+ readonly historyFilter: i0.InputSignal<Maybe<DbxFirebaseModelTrackerHistoryFilter>>;
1765
+ readonly historyPairs$: Observable<DbxFirebaseModelTypesServiceInstancePair<any, string>[]>;
1766
+ readonly state: Observable<ListLoadingState<DbxFirebaseModelTypesServiceInstancePair>>;
1767
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryComponent, never>;
1768
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryComponent, "dbx-firebase-model-history", never, { "anchorForItem": { "alias": "anchorForItem"; "required": false; "isSignal": true; }; "historyFilter": { "alias": "historyFilter"; "required": false; "isSignal": true; }; }, {}, never, ["[empty]"], true, never>;
1769
+ }
1770
+
1771
+ interface DbxFirebaseModelHistoryPopoverConfig {
1772
+ /**
1773
+ * Custom icon
1774
+ *
1775
+ * Defaults to "history"
1776
+ */
1777
+ readonly icon?: string;
1778
+ /**
1779
+ * Custom header text
1780
+ *
1781
+ * Defaults to "History"
1782
+ */
1783
+ readonly header?: string;
1784
+ /**
1785
+ * Custom empty text when no items exist.
1786
+ */
1787
+ readonly emptyText?: string;
1788
+ /**
1789
+ * Origin to add the popover to.
1790
+ */
1791
+ readonly origin: ElementRef;
1792
+ /**
1793
+ * Optional config to pass to the DbxFirebaseHistoryComponent
1794
+ */
1795
+ readonly historyFilter?: Maybe<DbxFirebaseModelTrackerHistoryFilter>;
1796
+ /**
1797
+ * Anchor
1798
+ */
1799
+ readonly anchorForItem?: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair>>;
1800
+ }
1801
+ type DbxFirebaseModelHistoryPopoverConfigWithoutOrigin = Omit<DbxFirebaseModelHistoryPopoverConfig, 'origin'>;
1802
+ declare const DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY = "history";
1803
+ declare class DbxFirebaseModelHistoryPopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseModelHistoryPopoverConfig> {
1804
+ static openPopover(popupService: DbxPopoverService, { origin, header, icon, emptyText, historyFilter, anchorForItem }: DbxFirebaseModelHistoryPopoverConfig, popoverKey?: DbxPopoverKey): NgPopoverRef;
1805
+ get config(): DbxFirebaseModelHistoryPopoverConfig;
1806
+ readonly icon: string;
1807
+ readonly header: string;
1808
+ readonly emptyText: string;
1809
+ readonly historyFilter: Maybe<DbxFirebaseModelTrackerHistoryFilter>;
1810
+ readonly anchorForItem: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair<any, string>>>;
1811
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryPopoverComponent, never>;
1812
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryPopoverComponent, "ng-component", never, {}, {}, never, never, true, never>;
1813
+ }
1814
+
1815
+ type DbxFirebaseModelHistoryPopoverButtonConfig = DbxFirebaseModelHistoryPopoverConfigWithoutOrigin;
1816
+ declare class DbxFirebaseModelHistoryPopoverButtonComponent extends AbstractPopoverRefDirective<unknown, unknown> {
1817
+ private readonly _dbxPopoverService;
1818
+ readonly buttonElement: i0.Signal<ElementRef<any>>;
1819
+ readonly config: i0.InputSignal<DbxFirebaseModelHistoryPopoverConfigWithoutOrigin | undefined>;
1820
+ protected _makePopoverRef(origin?: Maybe<ElementRef>): NgPopoverRef<unknown, unknown>;
1821
+ showHistoryPopover(): void;
1822
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryPopoverButtonComponent, never>;
1823
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryPopoverButtonComponent, "dbx-firebase-model-history-popover-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1824
+ }
1825
+
1826
+ interface DbxFirebaseSourceSelectLoadSourceConfig<M, D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole> extends Pick<DbxFirebaseModelTrackerHistoryFilter, 'filterItem'> {
1827
+ /**
1828
+ * Source label. Defaults to "History".
1829
+ */
1830
+ readonly label?: string;
1831
+ /**
1832
+ * Type of model to pull from the history.
1833
+ */
1834
+ readonly identity: FirestoreModelIdentity;
1835
+ /**
1836
+ * Maps a result instance to the target meta type
1837
+ */
1838
+ readonly mapToMeta: MapFunction<DbxFirebaseModelTypesServiceInstancePair<D, R>, Observable<M>>;
1839
+ /**
1840
+ * Tracker service to load history values from.
1841
+ */
1842
+ readonly dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService;
1843
+ }
1844
+ /**
1845
+ * Configures a SourceSelectLoadSource using the DbxFirebaseModelTrackerService to load models of a specific identity.
1846
+ *
1847
+ * @param config
1848
+ * @returns
1849
+ */
1850
+ declare function dbxFirebaseSourceSelectLoadSource<M>(config: DbxFirebaseSourceSelectLoadSourceConfig<M>): SourceSelectLoadSource<M>;
1851
+
1852
+ /**
1853
+ * Provides read-only accessors to a single model/document.
1854
+ */
1855
+ interface DbxFirebaseDocumentReadOnlyStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
1856
+ /**
1857
+ * String used to identify the store. Typically only for debugging UI purposes.
1858
+ */
1859
+ readonly storeName$: Observable<Maybe<string>>;
1860
+ readonly firestoreCollectionLike$: Observable<FirestoreCollectionLike<T, D>>;
1861
+ readonly firestoreCollection$: Observable<FirestoreCollection<T, D>>;
1862
+ readonly currentInputId$: Observable<Maybe<FirestoreModelId>>;
1863
+ readonly inputId$: Observable<FirestoreModelId>;
1864
+ readonly currentInputKey$: Observable<Maybe<FirestoreModelKey>>;
1865
+ readonly inputKey$: Observable<FirestoreModelKey>;
1866
+ readonly currentInputRef$: Observable<Maybe<DocumentReference<T>>>;
1867
+ readonly inputRef$: Observable<DocumentReference<T>>;
1868
+ readonly streamMode$: Observable<FirestoreAccessorStreamMode>;
1869
+ readonly currentDocument$: Observable<Maybe<D>>;
1870
+ readonly document$: Observable<D>;
1871
+ readonly currentId$: Observable<Maybe<FirestoreModelId>>;
1872
+ readonly currentKey$: Observable<Maybe<FirestoreModelKey>>;
1873
+ readonly id$: Observable<FirestoreModelId>;
1874
+ readonly key$: Observable<FirestoreModelKey>;
1875
+ readonly ref$: Observable<DocumentReference<T>>;
1876
+ readonly hasRef$: Observable<boolean>;
1877
+ readonly flatKey$: Observable<FlatFirestoreModelKey>;
1878
+ readonly twoWayFlatKey$: Observable<TwoWayFlatFirestoreModelKey>;
1879
+ readonly keyModelIds$: Observable<FirestoreModelId[]>;
1880
+ readonly keyPairs$: Observable<FirestoreModelCollectionAndIdPair[]>;
1881
+ readonly keyPairObject$: Observable<FirestoreModelCollectionAndIdPairObject>;
1882
+ readonly documentLoadingState$: Observable<LoadingState<D>>;
1883
+ readonly snapshot$: Observable<DocumentSnapshot<T>>;
1884
+ readonly snapshotLoadingState$: Observable<LoadingState<DocumentSnapshot<T>>>;
1885
+ readonly currentData$: Observable<Maybe<DocumentDataWithIdAndKey<T>>>;
1886
+ readonly data$: Observable<DocumentDataWithIdAndKey<T>>;
1887
+ readonly dataLoadingState$: Observable<LoadingState<DocumentDataWithIdAndKey<T>>>;
1888
+ readonly isLoadingData$: Observable<boolean>;
1889
+ readonly currentExists$: Observable<boolean>;
1890
+ readonly exists$: Observable<boolean>;
1891
+ readonly modelIdentity$: Observable<FirestoreModelIdentity>;
1892
+ }
1893
+ /**
1894
+ * Provides accessors to a single model/document.
1895
+ */
1896
+ interface DbxFirebaseDocumentStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends DbxFirebaseDocumentReadOnlyStore<T, D>, LockSetComponent {
1897
+ /**
1898
+ * Sets the name of the store.
1899
+ */
1900
+ readonly setStoreName: (observableOrValue: ObservableOrValue<Maybe<string>>) => Subscription;
1901
+ /**
1902
+ * Sets the id of the document to load.
1903
+ */
1904
+ readonly setId: (observableOrValue: ObservableOrValue<Maybe<FirestoreModelId>>) => Subscription;
1905
+ /**
1906
+ * Sets the key of the document to load.
1907
+ */
1908
+ readonly setKey: (observableOrValue: ObservableOrValue<Maybe<FirestoreModelKey>>) => Subscription;
1909
+ /**
1910
+ * Sets the key of the document to load using a TwoWayFlatFirestoreModelKey.
1911
+ */
1912
+ readonly setFlatKey: (observableOrValue: ObservableOrValue<Maybe<TwoWayFlatFirestoreModelKey>>) => Subscription;
1913
+ /**
1914
+ * Sets the ref of the document to load.
1915
+ */
1916
+ readonly setRef: (observableOrValue: ObservableOrValue<Maybe<DocumentReference<T>>>) => Subscription;
1917
+ /**
1918
+ * Clears the key/id/ref and current document from the store.
1919
+ */
1920
+ readonly clearRefs: () => void;
1921
+ /**
1922
+ * Sets the stream mode.
1923
+ */
1924
+ readonly setStreamMode: (observableOrValue: ObservableOrValue<FirestoreAccessorStreamMode>) => Subscription;
1925
+ /**
1926
+ * Sets the FirestoreCollection to retrieve documents from.
1927
+ */
1928
+ readonly setFirestoreCollection: (() => void) | ((observableOrValue: ObservableOrValue<Maybe<FirestoreCollection<T, D>>>) => Subscription);
1929
+ /**
1930
+ * Sets the FirestoreCollectionLike to retrieve documents from.
1931
+ */
1932
+ readonly setFirestoreCollectionLike: (() => void) | ((observableOrValue: ObservableOrValue<Maybe<FirestoreCollectionLike<T, D>>>) => Subscription);
1933
+ }
1934
+
1935
+ /**
1936
+ * Provides a source of entities.
1937
+ */
1938
+ declare abstract class DbxFirebaseModelEntitiesSource {
1939
+ /**
1940
+ * Observable of a LoadingState of entity values.
1941
+ */
1942
+ abstract readonly entities$: Observable<LoadingState<DbxFirebaseModelEntity[]>>;
1943
+ }
1944
+ /**
1945
+ * A model entity.
1946
+ */
1947
+ interface DbxFirebaseModelEntity {
1948
+ /**
1949
+ * Model identity for the entity.
1950
+ *
1951
+ * Used for sorting/grouping by expected entity type.
1952
+ */
1953
+ readonly modelIdentity: FirestoreModelIdentity;
1954
+ /**
1955
+ * Optional name for
1956
+ */
1957
+ readonly name?: Maybe<string>;
1958
+ /**
1959
+ * An associated store for the document, if it is available.
1960
+ */
1961
+ readonly store?: Maybe<DbxFirebaseDocumentReadOnlyStore<any, any>>;
1962
+ }
1963
+ interface DbxFirebaseModelEntityWithStore<T = any, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends DbxFirebaseModelEntity {
1964
+ /**
1965
+ * An associated store for the document, if it is available.
1966
+ */
1967
+ readonly store: DbxFirebaseDocumentReadOnlyStore<T, D>;
1968
+ }
1969
+ /**
1970
+ * Returns true if the input entity has a defined store.
1971
+ *
1972
+ * @param entity
1973
+ * @returns
1974
+ */
1975
+ declare function isDbxFirebaseModelEntityWithStore<T = any, D extends FirestoreDocument<T> = FirestoreDocument<T>>(entity: DbxFirebaseModelEntity): entity is DbxFirebaseModelEntityWithStore<T, D>;
1976
+ /**
1977
+ * An entity that has a key.
1978
+ */
1979
+ interface DbxFirebaseModelEntityWithKey extends DbxFirebaseModelEntity {
1980
+ /**
1981
+ * The key of the target document.
1982
+ */
1983
+ readonly key: ModelKey;
1984
+ }
1985
+ /**
1986
+ * An entity that has a key and a store.
1987
+ */
1988
+ interface DbxFirebaseModelEntityWithKeyAndStore<T = any, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends Omit<DbxFirebaseModelEntityWithKey, 'store'>, DbxFirebaseModelEntityWithStore<T, D> {
1989
+ }
1990
+
1991
+ interface DbxFirebaseModelEntitiesWidgetEntry {
1992
+ /**
1993
+ * Widget type to respond to.
1994
+ */
1995
+ readonly identity: FirestoreModelIdentity;
1996
+ /**
1997
+ * The priority to use when sorting the entities.
1998
+ *
1999
+ * Higher values are displayed first in the list.
2000
+ */
2001
+ readonly sortPriority?: Maybe<number>;
2002
+ /**
2003
+ * Widget component that is specific to this entity.
2004
+ */
2005
+ readonly entityComponentClass?: Maybe<Type<unknown>>;
2006
+ /**
2007
+ * Overrides the "common" widget component used for all entities.
2008
+ */
2009
+ readonly commonComponentClass?: Maybe<Type<unknown>>;
2010
+ /**
2011
+ * Optional widget component that is specific to this entity that provides additional debug information, and is displayed after the common widget.
2012
+ */
2013
+ readonly debugComponentClass?: Maybe<Type<unknown>>;
2014
+ }
2015
+ /**
2016
+ * Configuration provided in the root module for configuring entries.
2017
+ */
2018
+ declare abstract class DbxFirebaseModelEntitiesWidgetServiceConfig {
2019
+ /**
2020
+ * Entries to register.
2021
+ */
2022
+ abstract entries: DbxFirebaseModelEntitiesWidgetEntry[];
2023
+ /**
2024
+ * The default "common" widget component used for all entities.
2025
+ */
2026
+ abstract commonComponentClass?: Maybe<Type<unknown>>;
2027
+ /**
2028
+ * The default "debug" widget component used for all entities.
2029
+ */
2030
+ abstract debugComponentClass?: Maybe<Type<unknown>>;
2031
+ }
2032
+ /**
2033
+ * Service used to register widgets used for model entities.
2034
+ */
2035
+ declare class DbxFirebaseModelEntitiesWidgetService {
2036
+ private _commonComponentClass;
2037
+ private _debugComponentClass;
2038
+ private readonly _entries;
2039
+ private readonly _sortPriorityMap;
2040
+ constructor();
2041
+ getCommonComponentClass(): Maybe<Type<unknown>>;
2042
+ setCommonComponentClass(componentClass: Maybe<Type<unknown>>): void;
2043
+ getDebugComponentClass(): Maybe<Type<unknown>>;
2044
+ setDebugComponentClass(componentClass: Maybe<Type<unknown>>): void;
2045
+ /**
2046
+ * Used to register one or more entries.
2047
+ *
2048
+ * If an entry with the same identity is already registered, this will override it by default.
2049
+ *
2050
+ * @param entries The entries to register
2051
+ * @param override Whether to override existing entries (default: true)
2052
+ */
2053
+ register(entries: ArrayOrValue<DbxFirebaseModelEntitiesWidgetEntry>, override?: boolean): void;
2054
+ getAllRegisteredWidgetIdentities(): FirestoreModelIdentity[];
2055
+ getWidgetEntry(identity: FirestoreModelIdentity): DbxFirebaseModelEntitiesWidgetEntry;
2056
+ getWidgetEntries(identities: Iterable<FirestoreModelIdentity>): DbxFirebaseModelEntitiesWidgetEntry[];
2057
+ getSortPriorityMap(): Map<FirestoreModelIdentity, number>;
2058
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelEntitiesWidgetService, never>;
2059
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseModelEntitiesWidgetService>;
2060
+ }
2061
+
2062
+ interface DbxFirebaseModelEntitiesComponentAllEntities {
2063
+ readonly entities: DbxFirebaseModelEntityWithKeyAndStore[];
2064
+ readonly registeredEntities: DbxFirebaseModelEntityWithKeyAndStore[];
2065
+ readonly unregisteredEntities: DbxFirebaseModelEntityWithKeyAndStore[];
2066
+ readonly onlyShowRegisteredTypes?: Maybe<boolean>;
2067
+ }
2068
+ declare class DbxFirebaseModelEntitiesComponent {
2069
+ readonly entitiesWidgetService: DbxFirebaseModelEntitiesWidgetService;
2070
+ /**
2071
+ * Whether the accordion should allow multiple expanded panels.
2072
+ */
2073
+ readonly multi: i0.InputSignal<boolean>;
2074
+ /**
2075
+ * If true, will only show entities that have a registered widget entry.
2076
+ *
2077
+ * Defaults to true.
2078
+ */
2079
+ readonly onlyShowRegisteredTypes: i0.InputSignal<Maybe<boolean>>;
2080
+ /**
2081
+ * If true, will show unregistered entities, even if onlyShowRegisteredTypes is true.
2082
+ */
2083
+ readonly showUnregisteredTypesSignal: i0.WritableSignal<Maybe<boolean>>;
2084
+ readonly onlyShowRegisteredTypesSignal: i0.Signal<Maybe<boolean>>;
2085
+ readonly onlyShowRegisteredTypes$: Observable<Maybe<boolean>>;
2086
+ readonly entities: i0.InputSignal<Observable<LoadingState<DbxFirebaseModelEntity[]>> | undefined>;
2087
+ readonly entities$: Observable<LoadingState<DbxFirebaseModelEntity[]>>;
2088
+ readonly allEntitiesState$: Observable<LoadingState<DbxFirebaseModelEntitiesComponentAllEntities>>;
2089
+ readonly allEntities$: Observable<Maybe<DbxFirebaseModelEntitiesComponentAllEntities>>;
2090
+ readonly allEntitiesSignal: i0.Signal<Maybe<DbxFirebaseModelEntitiesComponentAllEntities>>;
2091
+ readonly entitiesWithKeysSignal: i0.Signal<DbxFirebaseModelEntityWithKeyAndStore<any, _dereekb_firebase.FirestoreDocument<any, _dereekb_firebase.FirestoreModelIdentity>>[] | undefined>;
2092
+ readonly unregisteredEntitiesCountSignal: i0.Signal<number>;
2093
+ readonly showViewUnregisteredEntitiesButtonSignal: i0.Signal<boolean | _dereekb_util.MaybeNot>;
2094
+ readonly hasNoEntitiesSignal: i0.Signal<boolean>;
2095
+ readonly context: _dereekb_rxjs.MutableLoadingStateContext<unknown, LoadingState<DbxFirebaseModelEntitiesComponentAllEntities>, _dereekb_rxjs.LoadingContextEvent & LoadingState<DbxFirebaseModelEntitiesComponentAllEntities>>;
2096
+ clickShowUnregisteredEntities(): void;
2097
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelEntitiesComponent, never>;
2098
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelEntitiesComponent, "dbx-firebase-model-entities", never, { "multi": { "alias": "multi"; "required": false; "isSignal": true; }; "onlyShowRegisteredTypes": { "alias": "onlyShowRegisteredTypes"; "required": false; "isSignal": true; }; "entities": { "alias": "entities"; "required": false; "isSignal": true; }; }, {}, never, ["[empty]"], true, never>;
2099
+ }
2100
+
2101
+ interface DbxFirebaseModelEntitiesPopoverConfig {
2102
+ /**
2103
+ * Custom icon
2104
+ *
2105
+ * Defaults to "history"
2106
+ */
2107
+ readonly icon?: string;
2108
+ /**
2109
+ * Custom header text
2110
+ *
2111
+ * Defaults to "Entities"
2112
+ */
2113
+ readonly header?: string;
2114
+ /**
2115
+ * Custom empty text when no entities exist.
2116
+ */
2117
+ readonly emptyText?: string;
2118
+ /**
2119
+ * Origin to add the popover to.
2120
+ */
2121
+ readonly origin: ElementRef;
2122
+ /**
2123
+ * Observable of entities to display.
2124
+ */
2125
+ readonly entities$: Observable<LoadingState<DbxFirebaseModelEntity[]>>;
2126
+ /**
2127
+ * Whether or not to only show entities that have a registered widget entry.
2128
+ */
2129
+ readonly onlyShowRegisteredTypes?: Maybe<boolean>;
2130
+ /**
2131
+ * Additional popover configuration.
2132
+ */
2133
+ readonly popoverSizingConfig?: Maybe<DbxPopoverConfigSizing>;
2134
+ /**
2135
+ * Injector to use for the popover.
2136
+ */
2137
+ readonly injector?: Maybe<Injector>;
2138
+ }
2139
+ type DbxFirebaseModelEntitiesPopoverConfigWithoutOrigin = Omit<DbxFirebaseModelEntitiesPopoverConfig, 'origin' | 'entities$'>;
2140
+ declare const DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY = "entities";
2141
+ declare class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseModelEntitiesPopoverConfig> {
2142
+ readonly entities$: Observable<LoadingState<DbxFirebaseModelEntity[]>> | undefined;
2143
+ static openPopover(popupService: DbxPopoverService, config: DbxFirebaseModelEntitiesPopoverConfig, popoverKey?: DbxPopoverKey): NgPopoverRef;
2144
+ get config(): DbxFirebaseModelEntitiesPopoverConfig;
2145
+ readonly icon: string;
2146
+ readonly header: string;
2147
+ readonly emptyText: string;
2148
+ readonly onlyShowRegisteredTypes: Maybe<boolean>;
2149
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelEntitiesPopoverComponent, never>;
2150
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelEntitiesPopoverComponent, "ng-component", never, {}, {}, never, never, true, never>;
2151
+ }
2152
+
2153
+ interface DbxFirebaseModelEntitiesPopoverButtonConfig extends DbxFirebaseModelEntitiesPopoverConfigWithoutOrigin {
2154
+ /**
2155
+ * The display configuration for the button.
2156
+ */
2157
+ readonly buttonDisplay?: Maybe<DbxButtonDisplay>;
2158
+ /**
2159
+ * The style configuration for the button.
2160
+ */
2161
+ readonly buttonStyle?: Maybe<DbxButtonStyle>;
2162
+ }
2163
+ declare class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefDirective<unknown, unknown> {
2164
+ private readonly _dbxPopoverService;
2165
+ readonly entitiesSource: DbxFirebaseModelEntitiesSource;
2166
+ readonly buttonElement: i0.Signal<ElementRef<any>>;
2167
+ readonly config: i0.InputSignal<DbxFirebaseModelEntitiesPopoverButtonConfig | undefined>;
2168
+ readonly buttonDisplaySignal: i0.Signal<DbxButtonDisplay>;
2169
+ readonly buttonStyleSignal: i0.Signal<Maybe<DbxButtonStyle>>;
2170
+ protected _makePopoverRef(origin?: Maybe<ElementRef>): NgPopoverRef<unknown, unknown>;
2171
+ showEntitiesPopover(): void;
2172
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelEntitiesPopoverButtonComponent, never>;
2173
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelEntitiesPopoverButtonComponent, "dbx-firebase-model-entities-popover-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2174
+ }
2175
+
2176
+ /**
2177
+ * Factory for DbxFirebaseModelEntitiesWidgetServiceConfig.
2178
+ */
2179
+ type DbxFirebaseModelEntitiesWidgetServiceConfigFactory = (injector: Injector) => DbxFirebaseModelEntitiesWidgetServiceConfig;
2180
+ /**
2181
+ * Configuration for provideDbxFirebaseModelEntitiesWidgetService().
2182
+ */
2183
+ interface ProvideDbxFirebaseModelEntitiesWidgetServiceConfig {
2184
+ /**
2185
+ * Factory for DbxFirebaseModelEntitiesWidgetServiceConfig.
2186
+ */
2187
+ readonly dbxFirebaseModelEntitiesWidgetServiceConfigFactory: DbxFirebaseModelEntitiesWidgetServiceConfigFactory;
2188
+ }
2189
+ /**
2190
+ * Creates EnvironmentProviders for DbxFirebaseModelEntitiesWidgetService.
2191
+ *
2192
+ * @param config Configuration
2193
+ * @returns EnvironmentProviders
2194
+ */
2195
+ declare function provideDbxFirebaseModelEntitiesWidgetService(config: ProvideDbxFirebaseModelEntitiesWidgetServiceConfig): EnvironmentProviders;
2196
+
2197
+ /**
2198
+ * A unique number for a store entry.
2199
+ */
2200
+ type DbxFirebaseDocumentStoreContextStoreEntryNumber = number;
2201
+ /**
2202
+ * A specifiy entry in the store.
2203
+ *
2204
+ * Used for caching information about a specific store.
2205
+ */
2206
+ interface DbxFirebaseDocumentStoreContextStoreEntry {
2207
+ /**
2208
+ * The number the entry was assigned when added to the store.
2209
+ */
2210
+ readonly entryNumber: DbxFirebaseDocumentStoreContextStoreEntryNumber;
2211
+ /**
2212
+ * The referenced document store.
2213
+ */
2214
+ readonly store: DbxFirebaseDocumentStore<unknown>;
2215
+ readonly modelIdentity?: Maybe<FirestoreModelIdentity>;
2216
+ }
2217
+ interface DbxFirebaseDocumentStoreContextStoreEntryWithIdentity extends Omit<DbxFirebaseDocumentStoreContextStoreEntry, 'modelIdentity'> {
2218
+ readonly modelIdentity: FirestoreModelIdentity;
2219
+ }
2220
+ interface DbxFirebaseDocumentStoreContextStoreState {
2221
+ /**
2222
+ * The next entry number to use for a new store.
2223
+ */
2224
+ readonly nextEntryNumber: DbxFirebaseDocumentStoreContextStoreEntryNumber;
2225
+ /**
2226
+ * The current number of entries
2227
+ */
2228
+ readonly currentEntryCount: number;
2229
+ /**
2230
+ * The map of all current stores.
2231
+ *
2232
+ * The map uses the store as the key for it's corresponding entry that contains additional information about the store.
2233
+ */
2234
+ readonly stores: Map<DbxFirebaseDocumentStore<unknown>, DbxFirebaseDocumentStoreContextStoreEntry>;
2235
+ /**
2236
+ * The last time the stores map was changed.
2237
+ */
2238
+ readonly lastStoresChangeAt: Date;
2239
+ }
2240
+ declare class DbxFirebaseDocumentStoreContextStore extends ComponentStore<DbxFirebaseDocumentStoreContextStoreState> {
2241
+ constructor();
2242
+ readonly stores$: Observable<Map<DbxFirebaseDocumentStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, FirestoreModelIdentity>>, DbxFirebaseDocumentStoreContextStoreEntry>>;
2243
+ readonly lastStoresChangeAt$: Observable<Maybe<Date>>;
2244
+ readonly entriesGroupedByIdentity$: Observable<DbxFirebaseDocumentStoreContextStoreEntryWithIdentity[]>;
2245
+ readonly addStore: (observableOrValue: DbxFirebaseDocumentStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, FirestoreModelIdentity>> | Observable<DbxFirebaseDocumentStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, FirestoreModelIdentity>>>) => rxjs.Subscription;
2246
+ readonly removeStore: (observableOrValue: DbxFirebaseDocumentStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, FirestoreModelIdentity>> | Observable<DbxFirebaseDocumentStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, FirestoreModelIdentity>>>) => rxjs.Subscription;
2247
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreContextStore, never>;
2248
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseDocumentStoreContextStore>;
2249
+ }
2250
+
2251
+ declare const dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory: (storeContextStore: DbxFirebaseDocumentStoreContextStore) => DbxFirebaseModelEntitiesSource;
2252
+ declare class DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective {
2253
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, never>;
2254
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, "[dbxFirebaseDocumentStoreContextModelEntitiesSource]", never, {}, {}, never, never, true, never>;
2255
+ }
2256
+
2257
+ /**
2258
+ * An abstract DbxFirebase widget component that injects the entity data and provides some common accessors.
2259
+ */
2260
+ declare abstract class AbstractDbxFirebaseModelEntityWidgetDirective<T = any, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
2261
+ readonly entityData: DbxFirebaseModelEntityWithStore<T, D>;
2262
+ readonly store: _dereekb_dbx_firebase.DbxFirebaseDocumentReadOnlyStore<T, D>;
2263
+ readonly data$: rxjs.Observable<_dereekb_firebase.DocumentDataWithIdAndKey<T>>;
2264
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseModelEntityWidgetDirective<any, any>, never>;
2265
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxFirebaseModelEntityWidgetDirective<any, any>, never, never, {}, {}, never, never, true, never>;
2266
+ }
2267
+
2268
+ /**
2269
+ * A debug widget component that displays entity data and metadata.
2270
+ */
2271
+ declare class DbxFirebaseModelEntitiesDebugWidgetComponent extends AbstractDbxFirebaseModelEntityWidgetDirective {
2272
+ readonly currentKey: Signal<Maybe<string>>;
2273
+ readonly currentData: Signal<any>;
2274
+ readonly contentSignal: Signal<Maybe<DownloadTextContent>>;
2275
+ readonly context: _dereekb_rxjs.MutableLoadingStateContext<unknown, _dereekb_rxjs.LoadingState<any>, _dereekb_rxjs.LoadingContextEvent & _dereekb_rxjs.LoadingState<any>>;
2276
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelEntitiesDebugWidgetComponent, never>;
2277
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelEntitiesDebugWidgetComponent, "dbx-firebase-model-entities-debug-widget", never, {}, {}, never, never, true, never>;
2278
+ }
2279
+
2280
+ /**
2281
+ * Injection token for providing DbxFirebaseModelEntityWithStore context to dynamically loaded widgets.
2282
+ */
2283
+ declare const DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN: InjectionToken<DbxFirebaseModelEntityWithStore<any, any>>;
2284
+ /**
2285
+ * Contains the DbxInjectionComponentConfig for the different injected components a DbxFirebaseModelEntity
2286
+ */
2287
+ interface DbxFirebaseModelEntitiesWidgetInjectionConfig {
2288
+ readonly entry: DbxFirebaseModelEntitiesWidgetEntry;
2289
+ readonly entity: DbxFirebaseModelEntityWithStore;
2290
+ readonly entityComponentConfig?: Maybe<DbxInjectionComponentConfig<unknown>>;
2291
+ readonly commonComponentConfig?: Maybe<DbxInjectionComponentConfig<unknown>>;
2292
+ readonly debugComponentConfig?: Maybe<DbxInjectionComponentConfig<unknown>>;
2293
+ }
2294
+ /**
2295
+ * Factory function used to create a DbxFirebaseModelEntitiesWidgetInjectionConfig given the input.
2296
+ */
2297
+ type DbxFirebaseModelEntitiesWidgetInjectionConfigFactory = (entry: DbxFirebaseModelEntitiesWidgetEntry, entity: DbxFirebaseModelEntityWithStore) => DbxFirebaseModelEntitiesWidgetInjectionConfig;
2298
+ /**
2299
+ * Creates a DbxFirebaseModelEntitiesWidgetInjectionConfigFactory.
2300
+ *
2301
+ * @param injector Optional injector to use for the components.
2302
+ * @returns
2303
+ */
2304
+ declare function dbxFirebaseModelEntityWidgetInjectionConfigFactory(injector?: Maybe<Injector>): DbxFirebaseModelEntitiesWidgetInjectionConfigFactory;
2305
+
2306
+ /**
2307
+ * An interactive display for a FirestoreModelKey.
2308
+ */
2309
+ declare class DbxFirebaseModelKeyComponent {
2310
+ readonly dbxFirebaseModelTypesService: DbxFirebaseModelTypesService;
2311
+ readonly modelKey: i0.InputSignal<string | undefined>;
2312
+ readonly modelKeyIdSignal: i0.Signal<string | undefined>;
2313
+ readonly oneWayFlatModelKeySignal: i0.Signal<string | undefined>;
2314
+ readonly twoWayFlatModelKeySignal: i0.Signal<string | undefined>;
2315
+ readonly modelKey$: rxjs.Observable<string | undefined>;
2316
+ readonly modelTypeInstance$: rxjs.Observable<DbxFirebaseModelTypesServiceInstance<any, string> | undefined>;
2317
+ readonly modelIdentity$: rxjs.Observable<_dereekb_firebase.FirestoreModelIdentity | undefined>;
2318
+ readonly typeInfo$: rxjs.Observable<Maybe<_dereekb_dbx_firebase.DbxFirebaseModelTypeInfo<unknown>>>;
2319
+ readonly modelTypeInstanceSignal: i0.Signal<DbxFirebaseModelTypesServiceInstance<any, string> | undefined>;
2320
+ readonly modelIdentitySignal: i0.Signal<_dereekb_firebase.FirestoreModelIdentity | undefined>;
2321
+ readonly typeInfoSignal: i0.Signal<Maybe<_dereekb_dbx_firebase.DbxFirebaseModelTypeInfo<unknown>>>;
2322
+ readonly typeCanSegueToView: i0.Signal<boolean>;
2323
+ readonly sref$: rxjs.Observable<Maybe<dist_packages_dbx_core_types_dereekb_dbx_core.SegueRef<object>>>;
2324
+ readonly srefSignal: i0.Signal<Maybe<dist_packages_dbx_core_types_dereekb_dbx_core.SegueRef<object>>>;
2325
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelKeyComponent, never>;
2326
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelKeyComponent, "dbx-firebase-model-key", never, { "modelKey": { "alias": "modelKey"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2327
+ }
2328
+
2329
+ type DbxFirebaseModelTypeInstanceListItem = DbxValueAsListItem<DbxFirebaseModelTypesServiceInstancePair>;
2330
+ /**
2331
+ * Renders an item as configured from the DbxFirebaseModelTypesServiceInstancePair.
2332
+ */
2333
+ declare class DbxFirebaseModelTypeInstanceListComponent extends AbstractDbxSelectionListWrapperDirective<DbxFirebaseModelTypesServiceInstancePair> {
2334
+ constructor();
2335
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceListComponent, never>;
2336
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceListComponent, "dbx-firebase-model-type-instance-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]", "[end]"], true, never>;
2337
+ }
2338
+ declare class DbxFirebaseModelTypeInstanceListViewComponent extends AbstractDbxSelectionListViewDirective<DbxFirebaseModelTypesServiceInstancePair> {
2339
+ readonly config: DbxSelectionValueListViewConfig<DbxFirebaseModelTypeInstanceListItem>;
2340
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceListViewComponent, never>;
2341
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceListViewComponent, "dbx-firebase-model-type-instance-list-view", never, {}, {}, never, never, true, never>;
2342
+ }
2343
+ declare class DbxFirebaseModelTypeInstanceListViewItemComponent extends AbstractDbxValueListViewItemComponent<DbxFirebaseModelTypesServiceInstancePair> {
2344
+ readonly title: string;
2345
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceListViewItemComponent, never>;
2346
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceListViewItemComponent, "dbx-firebase-model-type-instance-list-view-item", never, {}, {}, never, never, true, never>;
2347
+ }
2348
+
2349
+ declare abstract class DbxFirebaseDocumentStoreTwoWayKeyProvider {
2350
+ abstract readonly twoWayFlatKey$: Observable<TwoWayFlatFirestoreModelKey>;
2351
+ }
2352
+ /**
2353
+ * Configures Providers for a DbxFirebaseDocumentStoreTwoWayKeyProvider.
2354
+ */
2355
+ declare function provideDbxFirebaseDocumentStoreTwoWayKeyProvider<S extends DbxFirebaseDocumentStoreTwoWayKeyProvider>(sourceType: Type<S>): Provider[];
2356
+
2357
+ /**
2358
+ * Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
2359
+ */
2360
+ declare abstract class DbxFirebaseDocumentStoreDirective<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>, S extends DbxFirebaseDocumentStore<T, D> = DbxFirebaseDocumentStore<T, D>> implements DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxRouteModelIdDirectiveDelegate, DbxRouteModelKeyDirectiveDelegate {
2361
+ readonly storeName: i0.ModelSignal<Maybe<string>>;
2362
+ readonly documentId: i0.ModelSignal<Maybe<string>>;
2363
+ readonly key: i0.ModelSignal<Maybe<string>>;
2364
+ readonly flatKey: i0.ModelSignal<Maybe<string>>;
2365
+ readonly ref: i0.ModelSignal<Maybe<DocumentReference<T>>>;
2366
+ readonly streamMode: i0.ModelSignal<FirestoreAccessorStreamMode>;
2367
+ private readonly _storeName$;
2368
+ private readonly _documentId$;
2369
+ private readonly _key$;
2370
+ private readonly _flatKey$;
2371
+ private readonly _ref$;
2372
+ private readonly _streamMode$;
2373
+ private readonly _store;
2374
+ readonly store$: Observable<S>;
2375
+ readonly exists$: Observable<boolean>;
2376
+ readonly document$: Observable<D>;
2377
+ readonly documentLoadingState$: Observable<_dereekb_rxjs.LoadingState<D>>;
2378
+ readonly id$: Observable<string>;
2379
+ readonly key$: Observable<string>;
2380
+ readonly twoWayFlatKey$: Observable<string>;
2381
+ readonly ref$: Observable<DocumentReference<T>>;
2382
+ readonly snapshot$: Observable<_dereekb_firebase.DocumentSnapshot<T>>;
2383
+ readonly snapshotLoadingState$: Observable<_dereekb_rxjs.LoadingState<_dereekb_firebase.DocumentSnapshot<T>>>;
2384
+ readonly modelIdentity$: Observable<_dereekb_firebase.FirestoreModelIdentity>;
2385
+ readonly data$: Observable<_dereekb_firebase.DocumentDataWithIdAndKey<T>>;
2386
+ readonly loadingState$: Observable<_dereekb_rxjs.LoadingState<_dereekb_firebase.DocumentDataWithIdAndKey<T>>>;
2387
+ constructor(store: S);
2388
+ get store(): S;
2389
+ setStoreName(storeName: Maybe<string>): void;
2390
+ setDocumentId(documentId: Maybe<FirestoreModelId>): void;
2391
+ setKey(key: Maybe<FirestoreModelKey>): void;
2392
+ setFlatKey(flatKey: Maybe<TwoWayFlatFirestoreModelKey>): void;
2393
+ setRef(ref: Maybe<DocumentReference<T>>): void;
2394
+ setStreamMode(streamMode: FirestoreAccessorStreamMode): void;
2395
+ /**
2396
+ * Replaces the internal store.
2397
+ */
2398
+ replaceStore(store: S): void;
2399
+ useRouteModelIdParamsObservable(idFromParams: Observable<Maybe<ModelKey>>): Subscription;
2400
+ useRouteModelKeyParamsObservable(keyFromParams: Observable<Maybe<TwoWayFlatFirestoreModelKey>>): Subscription;
2401
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreDirective<any, any, any>, never>;
2402
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreDirective<any, any, any>, never, never, { "storeName": { "alias": "storeName"; "required": false; "isSignal": true; }; "documentId": { "alias": "documentId"; "required": false; "isSignal": true; }; "key": { "alias": "key"; "required": false; "isSignal": true; }; "flatKey": { "alias": "flatKey"; "required": false; "isSignal": true; }; "ref": { "alias": "ref"; "required": false; "isSignal": true; }; "streamMode": { "alias": "streamMode"; "required": false; "isSignal": true; }; }, { "storeName": "storeNameChange"; "documentId": "documentIdChange"; "key": "keyChange"; "flatKey": "flatKeyChange"; "ref": "refChange"; "streamMode": "streamModeChange"; }, never, never, true, never>;
2403
+ }
2404
+ /**
2405
+ * Configures providers for a DbxFirebaseDocumentStoreDirective.
2406
+ *
2407
+ * Can optionally also provide the actual store type to include in the providers array so it is instantiated by Angular.
2408
+ *
2409
+ * @param sourceType
2410
+ */
2411
+ declare function provideDbxFirebaseDocumentStoreDirective<S extends DbxFirebaseDocumentStoreDirective<any, any, any>>(sourceType: Type<S>): Provider[];
2412
+ declare function provideDbxFirebaseDocumentStoreDirective<S extends DbxFirebaseDocumentStore<any, any>, C extends DbxFirebaseDocumentStoreDirective<any, any, S> = DbxFirebaseDocumentStoreDirective<any, any, S>>(sourceType: Type<C>, storeType: Type<S>): Provider[];
2413
+
2414
+ /**
2415
+ * Used with a DbxFirebaseDocumentStoreDirective to emit model viewed events.
2416
+ */
2417
+ declare class DbxFirebaseModelViewedEventDirective {
2418
+ readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<unknown, _dereekb_firebase.FirestoreDocument<unknown, _dereekb_firebase.FirestoreModelIdentity>, _dereekb_dbx_firebase.DbxFirebaseDocumentStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, _dereekb_firebase.FirestoreModelIdentity>>>;
2419
+ readonly dbxModelObjectStateService: DbxModelObjectStateService;
2420
+ readonly dbxFirebaseModelTypesService: DbxFirebaseModelTypesService;
2421
+ readonly modelViewContext: i0.InputSignal<Maybe<string>>;
2422
+ constructor();
2423
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelViewedEventDirective, never>;
2424
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseModelViewedEventDirective, "[dbxFirebaseModelViewedEvent]", never, { "modelViewContext": { "alias": "dbxFirebaseModelViewedEvent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2425
+ }
2426
+
2427
+ interface DbxFirebaseCollectionStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends DbxFirebaseCollectionLoaderAccessorWithAccumulator<T>, DbxFirebaseCollectionLoaderInstanceData<T, D> {
2428
+ /**
2429
+ * The current collection that documents are loaded from.
2430
+ */
2431
+ readonly firestoreCollection$: Observable<Maybe<FirestoreCollectionLike<T, D>>>;
2432
+ /**
2433
+ * The current store mode.
2434
+ */
2435
+ readonly collectionMode$: Observable<DbxFirebaseCollectionMode>;
2436
+ /**
2437
+ * The loader instance.
2438
+ */
2439
+ readonly loader$: Observable<DbxFirebaseCollectionLoaderInstance<T, D>>;
2440
+ /**
2441
+ * Whether or not the iterator has more pages to load.
2442
+ */
2443
+ readonly hasNext$: Observable<boolean>;
2444
+ /**
2445
+ * Whether or not the iterator can load more pages.
2446
+ */
2447
+ readonly canLoadMore$: Observable<boolean>;
2448
+ /**
2449
+ * Whether or not the iterator has more pages to load and can load more pages.
2450
+ */
2451
+ readonly hasNextAndCanLoadMore$: Observable<boolean>;
2452
+ /**
2453
+ * Returns true if the collection has documents.
2454
+ */
2455
+ readonly hasDocuments$: Observable<boolean>;
2456
+ /**
2457
+ * Returns all document references loaded by the accumulator.
2458
+ */
2459
+ readonly allDocumentRefs$: Observable<DocumentReference<T>[]>;
2460
+ /**
2461
+ * Returns all documents loaded by the accomulator.
2462
+ */
2463
+ readonly allDocuments$: Observable<D[]>;
2464
+ /**
2465
+ * Returns all documents data loaded by the accumulator.
2466
+ */
2467
+ readonly allDocumentData$: Observable<DocumentDataWithIdAndKey<T>[]>;
2468
+ setCollectionMode(observableOrValue: ObservableOrValue<DbxFirebaseCollectionMode>): Subscription;
2469
+ setCollectionKeys(observableOrValue: ObservableOrValue<Maybe<FirestoreModelKey[]>>): Subscription;
2470
+ setCollectionRefs(observableOrValue: ObservableOrValue<Maybe<DocumentReference<T>[]>>): Subscription;
2471
+ setMaxPages(observableOrValue: ObservableOrValue<Maybe<number>>): Subscription;
2472
+ setItemsPerPage(observableOrValue: ObservableOrValue<Maybe<number>>): Subscription;
2473
+ setConstraints(observableOrValue: ObservableOrValue<Maybe<ArrayOrValue<FirestoreQueryConstraint>>>): Subscription;
2474
+ setWaitForNonNullConstraints(observableOrValue: ObservableOrValue<Maybe<boolean>>): Subscription;
2475
+ next(observableOrValue: ObservableOrValue<void>): void;
2476
+ restart(observableOrValue: ObservableOrValue<void>): void;
2477
+ readonly setFirestoreCollection: (() => void) | ((observableOrValue: ObservableOrValue<Maybe<FirestoreCollectionLike<T, D>>>) => Subscription);
2478
+ }
2479
+ interface DbxFirebaseCollectionStoreContextState<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends Omit<DbxFirebaseCollectionLoaderInstanceInitConfig<T, D>, 'collection'> {
2480
+ readonly firestoreCollection?: Maybe<FirestoreCollectionLike<T, D>>;
2481
+ }
2482
+ declare class AbstractDbxFirebaseCollectionStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C extends DbxFirebaseCollectionStoreContextState<T, D> = DbxFirebaseCollectionStoreContextState<T, D>> extends LockSetComponentStore<C> implements DbxFirebaseCollectionStore<T, D> {
2483
+ readonly setCollectionMode: (observableOrValue: DbxFirebaseCollectionMode | Observable<DbxFirebaseCollectionMode>) => Subscription;
2484
+ readonly setCollectionKeys: (observableOrValue: Maybe<string[]> | Observable<Maybe<string[]>>) => Subscription;
2485
+ readonly setCollectionRefs: (observableOrValue: Maybe<DocumentReference<T>[]> | Observable<Maybe<DocumentReference<T>[]>>) => Subscription;
2486
+ readonly setMaxPages: (observableOrValue: Maybe<number> | Observable<Maybe<number>>) => Subscription;
2487
+ readonly setItemsPerPage: (observableOrValue: Maybe<number> | Observable<Maybe<number>>) => Subscription;
2488
+ readonly setConstraints: (observableOrValue: Maybe<ArrayOrValue<FirestoreQueryConstraint<unknown>>> | Observable<Maybe<ArrayOrValue<FirestoreQueryConstraint<unknown>>>>) => Subscription;
2489
+ readonly setWaitForNonNullConstraints: (observableOrValue: Maybe<boolean> | Observable<Maybe<boolean>>) => Subscription;
2490
+ readonly next: (observableOrValue?: void | Observable<void> | undefined) => Subscription;
2491
+ readonly restart: (observableOrValue?: void | Observable<void> | undefined) => Subscription;
2492
+ readonly currentFirestoreCollection$: Observable<Maybe<FirestoreCollectionLike<T, D>>>;
2493
+ readonly firestoreCollection$: Observable<FirestoreCollectionLike<T, D>>;
2494
+ readonly loader$: Observable<DbxFirebaseCollectionLoaderInstance<T, D>>;
2495
+ readonly collectionMode$: Observable<DbxFirebaseCollectionMode>;
2496
+ readonly constraints$: Observable<Maybe<ArrayOrValue<FirestoreQueryConstraint>>>;
2497
+ readonly firestoreIteration$: Observable<FirestoreItemPageIterationInstance<T>>;
2498
+ readonly queryChangeWatcher$: Observable<IterationQueryDocChangeWatcher<T>>;
2499
+ readonly pageLoadingState$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
2500
+ readonly snapshotAccumulator$: Observable<FirebaseQuerySnapshotAccumulator<T>>;
2501
+ readonly accumulator$: Observable<FirebaseQueryItemAccumulator<T>>;
2502
+ readonly hasNext$: Observable<boolean>;
2503
+ readonly canLoadMore$: Observable<boolean>;
2504
+ readonly hasNextAndCanLoadMore$: Observable<boolean>;
2505
+ readonly hasDocuments$: Observable<boolean>;
2506
+ readonly allDocumentRefs$: Observable<DocumentReference<T>[]>;
2507
+ readonly allDocuments$: Observable<D[]>;
2508
+ readonly allDocumentData$: Observable<DocumentDataWithIdAndKey<T>[]>;
2509
+ readonly setFirestoreCollection: (() => void) | ((observableOrValue: FirestoreCollectionLike<T, D, _dereekb_firebase.LimitedFirestoreDocumentAccessor<T, D>> | Observable<FirestoreCollectionLike<T, D, _dereekb_firebase.LimitedFirestoreDocumentAccessor<T, D>> | null | undefined> | null | undefined) => Subscription);
2510
+ loadToPage(page: PageNumber): Observable<PageNumber>;
2511
+ loadPagesUntilResultsCount(maxResultsCount: number, countFunction?: FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction<T> | undefined): Observable<ItemAccumulatorNextPageUntilResultsCountResult>;
2512
+ loadAllResults(): Observable<PageNumber>;
2513
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseCollectionStore<any, any, any>, never>;
2514
+ static ɵprov: i0.ɵɵInjectableDeclaration<AbstractDbxFirebaseCollectionStore<any, any, any>>;
2515
+ }
2516
+
2517
+ /**
2518
+ * Abstract directive that contains a DbxFirebaseCollectionStore and provides an interface for communicating with other directives.
2519
+ */
2520
+ declare abstract class DbxFirebaseCollectionStoreDirective<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>, S extends DbxFirebaseCollectionStore<T, D> = DbxFirebaseCollectionStore<T, D>> {
2521
+ readonly collectionMode: i0.ModelSignal<DbxFirebaseCollectionMode>;
2522
+ readonly collectionKeys: i0.ModelSignal<Maybe<string[]>>;
2523
+ readonly collectionRefs: i0.ModelSignal<Maybe<DocumentReference<T>[]>>;
2524
+ readonly maxPages: i0.ModelSignal<Maybe<number>>;
2525
+ readonly itemsPerPage: i0.ModelSignal<Maybe<number>>;
2526
+ readonly constraints: i0.ModelSignal<Maybe<ArrayOrValue<FirestoreQueryConstraint<unknown>>>>;
2527
+ readonly waitForNonNullConstraints: i0.ModelSignal<Maybe<boolean>>;
2528
+ private readonly _collectionMode;
2529
+ private readonly _collectionKeys;
2530
+ private readonly _collectionRefs;
2531
+ private readonly _maxPages;
2532
+ private readonly _itemsPerPage;
2533
+ private readonly _constraints;
2534
+ private readonly _waitForNonNullConstraints;
2535
+ private readonly _store;
2536
+ readonly store$: rxjs.Observable<S>;
2537
+ readonly pageLoadingState$: rxjs.Observable<_dereekb_rxjs.PageListLoadingState<_dereekb_firebase.DocumentDataWithIdAndKey<T>>>;
2538
+ constructor(store: S);
2539
+ get store(): S;
2540
+ /**
2541
+ * Replaces the internal store.
2542
+ */
2543
+ replaceStore(store: S): void;
2544
+ setCollectionMode(collectionMode: DbxFirebaseCollectionMode): void;
2545
+ setCollectionKeys(collectionKeys: Maybe<FirestoreModelKey[]>): void;
2546
+ setCollectionRefs(collectionRefs: Maybe<DocumentReference<T>[]>): void;
2547
+ setMaxPages(maxPages: Maybe<number>): void;
2548
+ setItemsPerPage(itemsPerPage: Maybe<number>): void;
2549
+ setConstraints(constraints: Maybe<ArrayOrValue<FirestoreQueryConstraint>>): void;
2550
+ setWaitForNonNullConstraints(waitForNonNullConstraints: Maybe<boolean>): void;
2551
+ next(): void;
2552
+ restart(): void;
2553
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseCollectionStoreDirective<any, any, any>, never>;
2554
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseCollectionStoreDirective<any, any, any>, never, never, { "collectionMode": { "alias": "collectionMode"; "required": false; "isSignal": true; }; "collectionKeys": { "alias": "collectionKeys"; "required": false; "isSignal": true; }; "collectionRefs": { "alias": "collectionRefs"; "required": false; "isSignal": true; }; "maxPages": { "alias": "maxPages"; "required": false; "isSignal": true; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; "isSignal": true; }; "constraints": { "alias": "constraints"; "required": false; "isSignal": true; }; "waitForNonNullConstraints": { "alias": "waitForNonNullConstraints"; "required": false; "isSignal": true; }; }, { "collectionMode": "collectionModeChange"; "collectionKeys": "collectionKeysChange"; "collectionRefs": "collectionRefsChange"; "maxPages": "maxPagesChange"; "itemsPerPage": "itemsPerPageChange"; "constraints": "constraintsChange"; "waitForNonNullConstraints": "waitForNonNullConstraintsChange"; }, never, never, true, never>;
2555
+ }
2556
+ /**
2557
+ * Configures providers for a DbxFirebaseCollectionStoreDirective.
2558
+ *
2559
+ * Can optionally also provide the actual store type to include in the providers array so it is instantiated by Angular.
2560
+ *
2561
+ * @param sourceType
2562
+ */
2563
+ declare function provideDbxFirebaseCollectionStoreDirective<S extends DbxFirebaseCollectionStoreDirective<any, any, any>>(sourceType: Type<S>): Provider[];
2564
+ declare function provideDbxFirebaseCollectionStoreDirective<S extends DbxFirebaseCollectionStore<any, any>, C extends DbxFirebaseCollectionStoreDirective<any, any, S> = DbxFirebaseCollectionStoreDirective<any, any, S>>(sourceType: Type<C>, storeType?: Type<S>): Provider[];
2565
+
2566
+ /**
2567
+ * Directive that connects a host DbxListView to a DbxFirebaseCollectionStoreDirective to pass data for rendering items from a collection and query parameters.
2568
+ */
2569
+ declare class DbxFirebaseCollectionListDirective<T> {
2570
+ readonly dbxFirebaseCollectionStoreDirective: DbxFirebaseCollectionStoreDirective<T, _dereekb_firebase.FirestoreDocument<T, _dereekb_firebase.FirestoreModelIdentity>, _dereekb_dbx_firebase.DbxFirebaseCollectionStore<T, _dereekb_firebase.FirestoreDocument<T, _dereekb_firebase.FirestoreModelIdentity>>>;
2571
+ readonly dbxListViewWrapper: DbxListViewWrapper<any, any>;
2572
+ constructor();
2573
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseCollectionListDirective<any>, never>;
2574
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseCollectionListDirective<any>, "[dbxFirebaseCollectionList]", never, {}, {}, never, never, true, never>;
2575
+ }
2576
+
2577
+ /**
2578
+ * Used to watch query doc changes and respond to them accordingly.
2579
+ */
2580
+ declare class DbxFirebaseCollectionChangeDirective<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>, S extends DbxFirebaseCollectionStore<T, D> = DbxFirebaseCollectionStore<T, D>> implements DbxFirebaseCollectionChangeWatcher<S> {
2581
+ readonly dbxFirebaseCollectionStoreDirective: DbxFirebaseCollectionStoreDirective<T, D, S>;
2582
+ readonly mode: i0.InputSignalWithTransform<DbxFirebaseCollectionChangeWatcherTriggerMode, "" | DbxFirebaseCollectionChangeWatcherTriggerMode>;
2583
+ private readonly _watcher;
2584
+ private readonly _trigger;
2585
+ readonly mode$: Observable<DbxFirebaseCollectionChangeWatcherTriggerMode>;
2586
+ readonly event$: Observable<DbxFirebaseCollectionChangeWatcherEvent>;
2587
+ readonly hasChangeAvailable$: Observable<boolean>;
2588
+ readonly triggered$: Observable<boolean>;
2589
+ readonly trigger$: Observable<void>;
2590
+ protected readonly modeEffect: i0.EffectRef;
2591
+ get store(): S;
2592
+ constructor();
2593
+ restart(): void;
2594
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseCollectionChangeDirective<any, any, any>, never>;
2595
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseCollectionChangeDirective<any, any, any>, "[dbxFirebaseCollectionChange]", never, { "mode": { "alias": "dbxFirebaseCollectionChange"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2596
+ }
2597
+
2598
+ type DbxFirebaseCollectionHasChangeDirectiveMode = 'all' | IterationQueryDocChangeWatcherChangeType;
2599
+ /**
2600
+ * Structural directive that displays the content when the target change is detected.
2601
+ *
2602
+ * Can specify which changes to appear on.
2603
+ */
2604
+ declare class DbxFirebaseCollectionHasChangeDirective extends AbstractIfDirective {
2605
+ readonly directive: DbxFirebaseCollectionChangeDirective<unknown, _dereekb_firebase.FirestoreDocument<unknown, _dereekb_firebase.FirestoreModelIdentity>, _dereekb_dbx_firebase.DbxFirebaseCollectionStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, _dereekb_firebase.FirestoreModelIdentity>>>;
2606
+ readonly mode: i0.InputSignalWithTransform<DbxFirebaseCollectionHasChangeDirectiveMode, "" | DbxFirebaseCollectionHasChangeDirectiveMode>;
2607
+ readonly show$: Observable<boolean>;
2608
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseCollectionHasChangeDirective, never>;
2609
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseCollectionHasChangeDirective, "[dbxFirebaseCollectionHasChange]", never, { "mode": { "alias": "dbxFirebaseCollectionHasChange"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2610
+ }
2611
+
2612
+ /**
2613
+ * Directive that implements DbxFirebaseDocumentStoreTwoWayKeyProvider and passes the twoWayFlatKey from a host DbxFirebaseDocumentStoreDirective.
2614
+ */
2615
+ declare class DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective implements DbxFirebaseDocumentStoreTwoWayKeyProvider {
2616
+ readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<unknown, _dereekb_firebase.FirestoreDocument<unknown, _dereekb_firebase.FirestoreModelIdentity>, _dereekb_dbx_firebase.DbxFirebaseDocumentStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, _dereekb_firebase.FirestoreModelIdentity>>>;
2617
+ readonly twoWayFlatKey$: Observable<string>;
2618
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, never>;
2619
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, "[dbxFirebaseDocumentStoreTwoWayModelKeySource]", never, {}, {}, never, never, true, never>;
2620
+ }
2621
+
2622
+ /**
2623
+ * Used for providing an id from the twoWayFlatKey$ from a DbxFirebaseDocumentStoreTwoWayKeyProvider.
2624
+ */
2625
+ declare class DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective {
2626
+ readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<unknown, _dereekb_firebase.FirestoreDocument<unknown, _dereekb_firebase.FirestoreModelIdentity>, _dereekb_dbx_firebase.DbxFirebaseDocumentStore<unknown, _dereekb_firebase.FirestoreDocument<unknown, _dereekb_firebase.FirestoreModelIdentity>>>;
2627
+ readonly dbxFirebaseDocumentStoreTwoWayKeyProvider: DbxFirebaseDocumentStoreTwoWayKeyProvider;
2628
+ constructor();
2629
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, never>;
2630
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, "[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]", never, {}, {}, never, never, true, never>;
2631
+ }
2632
+
2633
+ declare class DbxFirebaseModelStoreModule {
2634
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelStoreModule, never>;
2635
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelStoreModule, never, [typeof DbxFirebaseCollectionListDirective, typeof DbxFirebaseCollectionChangeDirective, typeof DbxFirebaseCollectionHasChangeDirective, typeof DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, typeof DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective], [typeof DbxFirebaseCollectionListDirective, typeof DbxFirebaseCollectionChangeDirective, typeof DbxFirebaseCollectionHasChangeDirective, typeof DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, typeof DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective]>;
2636
+ static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModelStoreModule>;
2637
+ }
2638
+
2639
+ type DbxFirebaseCollectionStoreCreateFunction<I, O extends OnCallCreateModelResult = OnCallCreateModelResult> = (params: I) => Observable<LoadingState<O>>;
2640
+ /**
2641
+ * Creates a function for a store that DbxFirebaseDocumentStore captures the ModelFirebaseCreateFunction result and sets the key of the created value.
2642
+ *
2643
+ * @param store
2644
+ * @param fn
2645
+ * @returns
2646
+ */
2647
+ declare function firebaseCollectionStoreCreateFunction<I, O extends OnCallCreateModelResult = OnCallCreateModelResult>(store: DbxFirebaseCollectionStore<any, any>, fn: ModelFirebaseCreateFunction<I, O>): DbxFirebaseCollectionStoreCreateFunction<I, O>;
2648
+ type DbxFirebaseCollectionStoreCrudFunction<I, O = void> = (input: I) => Observable<LoadingState<O>>;
2649
+ /**
2650
+ * Creates a DbxfirebaseDocumentStoreCrudFunction from the input ModelFirebaseCrudFunction.
2651
+ *
2652
+ * @param fn
2653
+ * @returns
2654
+ */
2655
+ declare function firebaseCollectionStoreCrudFunction<I, O = void>(fn: ModelFirebaseCrudFunction<I, O>): DbxFirebaseCollectionStoreCrudFunction<I, O>;
2656
+
2657
+ declare class AbstractDbxFirebaseDocumentStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C extends DbxFirebaseDocumentStoreContextState<T, D> = DbxFirebaseDocumentStoreContextState<T, D>> extends LockSetComponentStore<C> implements DbxFirebaseDocumentStore<T, D> {
2658
+ protected constructor(initialState?: C);
2659
+ readonly storeName$: Observable<Maybe<string>>;
2660
+ readonly currentFirestoreCollectionLike$: Observable<Maybe<FirestoreCollectionLike<T, D>>>;
2661
+ readonly currentFirestoreCollection$: Observable<Maybe<FirestoreCollection<T, D>>>;
2662
+ readonly firestoreCollectionLike$: Observable<FirestoreCollectionLike<T, D>>;
2663
+ readonly firestoreCollection$: Observable<FirestoreCollection<T, D>>;
2664
+ readonly currentInputId$: Observable<Maybe<FirestoreModelId>>;
2665
+ readonly inputId$: Observable<FirestoreModelId>;
2666
+ readonly currentInputKey$: Observable<Maybe<FirestoreModelKey>>;
2667
+ readonly inputKey$: Observable<FirestoreModelKey>;
2668
+ readonly currentInputRef$: Observable<Maybe<DocumentReference<T>>>;
2669
+ readonly inputRef$: Observable<DocumentReference<T>>;
2670
+ readonly streamMode$: Observable<FirestoreAccessorStreamMode>;
2671
+ readonly currentDocument$: Observable<Maybe<D>>;
2672
+ /**
2673
+ * Whether or not an id/ref/key has been input and currentDocument is not null.
2674
+ */
2675
+ readonly hasRef$: Observable<boolean>;
2676
+ readonly document$: Observable<D>;
2677
+ readonly documentLoadingState$: Observable<LoadingState<D>>;
2678
+ readonly currentId$: Observable<Maybe<FirestoreModelId>>;
2679
+ readonly currentKey$: Observable<Maybe<FirestoreModelKey>>;
2680
+ readonly id$: Observable<FirestoreModelId>;
2681
+ readonly key$: Observable<FirestoreModelKey>;
2682
+ readonly keyModelIds$: Observable<FirestoreModelId[]>;
2683
+ readonly keyPairs$: Observable<FirestoreModelCollectionAndIdPair[]>;
2684
+ readonly keyPairObject$: Observable<FirestoreModelCollectionAndIdPairObject>;
2685
+ readonly ref$: Observable<DocumentReference<T>>;
2686
+ readonly flatKey$: Observable<FlatFirestoreModelKey>;
2687
+ readonly twoWayFlatKey$: Observable<FlatFirestoreModelKey>;
2688
+ readonly snapshot$: Observable<DocumentSnapshot<T>>;
2689
+ readonly snapshotLoadingState$: Observable<LoadingState<DocumentSnapshot<T>>>;
2690
+ readonly dataLoadingState$: Observable<LoadingState<DocumentDataWithIdAndKey<T>>>;
2691
+ readonly currentData$: Observable<Maybe<DocumentDataWithIdAndKey<T>>>;
2692
+ readonly data$: Observable<DocumentDataWithIdAndKey<T>>;
2693
+ readonly isLoadingData$: Observable<boolean>;
2694
+ /**
2695
+ * Returns false while hasRef$ is false, and then returns exists$.
2696
+ */
2697
+ readonly currentExists$: Observable<boolean>;
2698
+ readonly exists$: Observable<boolean>;
2699
+ readonly doesNotExist$: Observable<boolean>;
2700
+ readonly modelIdentity$: Observable<FirestoreModelIdentity>;
2701
+ readonly setStoreName: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
2702
+ readonly setId: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
2703
+ readonly setKey: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
2704
+ readonly setFlatKey: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
2705
+ readonly setRef: (observableOrValue: Maybe<DocumentReference<T>> | Observable<Maybe<DocumentReference<T>>>) => Subscription;
2706
+ readonly setStreamMode: (observableOrValue: FirestoreAccessorStreamMode | Observable<FirestoreAccessorStreamMode>) => Subscription;
2707
+ readonly clearRefs: () => void;
2708
+ readonly setFirestoreCollection: (() => void) | ((observableOrValue: Maybe<FirestoreCollection<T, D>> | Observable<Maybe<FirestoreCollection<T, D>>>) => Subscription);
2709
+ readonly setFirestoreCollectionLike: (() => void) | ((observableOrValue: Maybe<FirestoreCollectionLike<T, D, _dereekb_firebase.LimitedFirestoreDocumentAccessor<T, D>>> | Observable<Maybe<FirestoreCollectionLike<T, D, _dereekb_firebase.LimitedFirestoreDocumentAccessor<T, D>>>>) => Subscription);
2710
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseDocumentStore<any, any, any>, [{ optional: true; }]>;
2711
+ static ɵprov: i0.ɵɵInjectableDeclaration<AbstractDbxFirebaseDocumentStore<any, any, any>>;
2712
+ }
2713
+ /**
2714
+ * AbstractDbxFirebaseDocumentWithParentStore extension for use with RootSingleItemFirestoreCollection.
2715
+ */
2716
+ declare class AbstractRootSingleItemDbxFirebaseDocument<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C extends DbxFirebaseDocumentStoreContextState<T, D> = DbxFirebaseDocumentStoreContextState<T, D>> extends AbstractDbxFirebaseDocumentStore<T, D, C> {
2717
+ protected constructor(initialState?: C);
2718
+ /**
2719
+ * Sets the SingleItemFirestoreCollection to use.
2720
+ */
2721
+ readonly setFirestoreCollection: (() => void) | ((observableOrValue: Maybe<FirestoreCollection<T, D>> | Observable<Maybe<FirestoreCollection<T, D>>>) => Subscription);
2722
+ /**
2723
+ * Does nothing on a AbstractRootSingleItemDbxFirebaseDocument.
2724
+ *
2725
+ * Ref is set with the FirestoreCollection
2726
+ */
2727
+ readonly setId: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
2728
+ /**
2729
+ * Does nothing on a AbstractRootSingleItemDbxFirebaseDocument.
2730
+ *
2731
+ * Ref is set with the FirestoreCollection
2732
+ */
2733
+ readonly setKey: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
2734
+ /**
2735
+ * Does nothing on a AbstractRootSingleItemDbxFirebaseDocument.
2736
+ *
2737
+ * Ref is set with the FirestoreCollection
2738
+ */
2739
+ readonly setRef: (observableOrValue: Maybe<DocumentReference<T>> | Observable<Maybe<DocumentReference<T>>>) => Subscription;
2740
+ readonly clearRefs: () => void;
2741
+ }
2742
+ interface DbxFirebaseDocumentStoreContextState<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
2743
+ readonly storeName?: Maybe<string>;
2744
+ readonly firestoreCollectionLike?: Maybe<FirestoreCollectionLike<T, D>>;
2745
+ readonly firestoreCollection?: Maybe<FirestoreCollection<T, D>>;
2746
+ readonly streamMode?: FirestoreAccessorStreamMode;
2747
+ readonly id?: Maybe<FirestoreModelId>;
2748
+ readonly key?: Maybe<FirestoreModelKey>;
2749
+ readonly ref?: Maybe<DocumentReference<T>>;
2750
+ }
2751
+
2752
+ type DbxFirebaseDocumentStoreCreateFunction<I, O extends OnCallCreateModelResult = OnCallCreateModelResult> = (params: I) => Observable<LoadingState<O>>;
2753
+ /**
2754
+ * Creates a function for a store that DbxFirebaseDocumentStore captures the ModelFirebaseCreateFunction result and sets the key of the created value.
2755
+ *
2756
+ * @param store
2757
+ * @param fn
2758
+ * @returns
2759
+ */
2760
+ declare function firebaseDocumentStoreCreateFunction<I, O extends OnCallCreateModelResult = OnCallCreateModelResult>(store: DbxFirebaseDocumentStore<any, any>, fn: ModelFirebaseCreateFunction<I, O>): DbxFirebaseDocumentStoreCreateFunction<I, O>;
2761
+ type DbxFirebaseDocumentStoreCrudFunction<I, O = void> = (input: I) => Observable<LoadingState<O>>;
2762
+ /**
2763
+ * Creates a DbxfirebaseDocumentStoreCrudFunction from the input ModelFirebaseCrudFunction.
2764
+ *
2765
+ * @param fn
2766
+ * @returns
2767
+ */
2768
+ declare function firebaseDocumentStoreCrudFunction<I, O = void>(fn: ModelFirebaseCrudFunction<I, O>): DbxFirebaseDocumentStoreCrudFunction<I, O>;
2769
+ /**
2770
+ * A parameter that refers to a specific key.
2771
+ */
2772
+ type DbxFirebaseDocumentStoreFunctionParams = TargetModelParams | InferredTargetModelParams;
2773
+ /**
2774
+ * Used for the input to related functions
2775
+ */
2776
+ type DbxFirebaseDocumentStoreFunctionParamsInput<I extends DbxFirebaseDocumentStoreFunctionParams> = PartialOnKeys<I, 'key'>;
2777
+ type DbxFirebaseDocumentStoreFunction<I extends DbxFirebaseDocumentStoreFunctionParams, O = void> = DbxFirebaseDocumentStoreCrudFunction<DbxFirebaseDocumentStoreFunctionParamsInput<I>, O>;
2778
+ /**
2779
+ * Creates a DbxfirebaseDocumentStoreCrudFunction for read.
2780
+ *
2781
+ * The store's current key is always injected into the params of the request.
2782
+ *
2783
+ * For functions that do not require the store's current key, use firebaseDocumentStoreCrudFunction() instead.
2784
+ *
2785
+ * @param store
2786
+ * @param fn
2787
+ * @returns
2788
+ */
2789
+ declare function firebaseDocumentStoreReadFunction<I extends DbxFirebaseDocumentStoreFunctionParams, O>(store: DbxFirebaseDocumentStore<any, any>, fn: ModelFirebaseReadFunction<I, O>): DbxFirebaseDocumentStoreFunction<I, O>;
2790
+ /**
2791
+ * Creates a DbxFirebaseDocumentStoreFunction for update.
2792
+ *
2793
+ * The store's current key is always injected into the params of the request.
2794
+ *
2795
+ * @param store
2796
+ * @param fn
2797
+ * @returns
2798
+ */
2799
+ declare function firebaseDocumentStoreUpdateFunction<I extends DbxFirebaseDocumentStoreFunctionParams, O = void>(store: DbxFirebaseDocumentStore<any, any>, fn: ModelFirebaseUpdateFunction<I, O>): DbxFirebaseDocumentStoreFunction<I, O>;
2800
+ /**
2801
+ * Creates a DbxFirebaseDocumentStoreFunction for delete.
2802
+ *
2803
+ * The store's current key is always injected into the params of the request.
2804
+ *
2805
+ * @param store
2806
+ * @param fn
2807
+ * @returns
2808
+ */
2809
+ declare function firebaseDocumentStoreDeleteFunction<I extends DbxFirebaseDocumentStoreFunctionParams, O = void>(store: DbxFirebaseDocumentStore<any, any>, fn: ModelFirebaseDeleteFunction<I, O>): DbxFirebaseDocumentStoreFunction<I, O>;
2810
+
2811
+ interface DbxFirebaseComponentStoreWithParentContextState<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> {
2812
+ readonly parent?: Maybe<PD>;
2813
+ readonly collectionFactory?: Maybe<FirestoreCollectionWithParentFactory<T, PT, D, PD>>;
2814
+ }
2815
+ type DbxFirebaseComponentStoreSetParentEffectFunction<PD> = (parent: Observable<Maybe<PD>>) => Subscription;
2816
+ type DbxFirebaseComponentStoreWithParentSetParentEffectFunction<PD> = (observableOrValue: ObservableOrValue<Maybe<PD>>) => Subscription;
2817
+ type DbxFirebaseComponentStoreWithParentSetParentStoreEffectFunction<PT, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> = (observableOrValue: ObservableOrValue<DbxFirebaseDocumentStore<PT, PD>>) => Subscription;
2818
+ interface DbxFirebaseComponentStoreWithParent<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>, A extends FirestoreCollectionLike<T, D> = FirestoreCollectionLike<T, D>> extends LockSetComponentStore<object>, Pick<ComponentStore<DbxFirebaseComponentStoreWithParentContextState<T, PT, D, PD>>, 'effect'> {
2819
+ readonly currentParent$: Observable<Maybe<PD>>;
2820
+ readonly parent$: Observable<PD>;
2821
+ readonly currentCollectionFactory$: Observable<Maybe<FirestoreCollectionWithParentFactory<T, PT, D, PD>>>;
2822
+ readonly collectionFactory$: Observable<FirestoreCollectionWithParentFactory<T, PT, D, PD>>;
2823
+ readonly _setParent: DbxFirebaseComponentStoreSetParentEffectFunction<PD>;
2824
+ readonly _setParentDocument: (() => void) | ((observableOrValue: ObservableOrValue<Maybe<PD>>) => Subscription);
2825
+ readonly setFirestoreCollection: (() => void) | ((observableOrValue: ObservableOrValue<Maybe<A>>) => Subscription);
2826
+ }
2827
+ declare function setParentStoreEffect<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>, A extends FirestoreCollectionLike<T, D> = FirestoreCollectionLike<T, D>>(store: DbxFirebaseComponentStoreWithParent<T, PT, D, PD, A>): DbxFirebaseComponentStoreWithParentSetParentStoreEffectFunction<PT, PD>;
2828
+
2829
+ /**
2830
+ * Whether or not to load values from a parent or a group.
2831
+ */
2832
+ type DbxFirebaseComponentStoreWithParentSourceMode = 'parent' | 'group';
2833
+ interface DbxFirebaseCollectionWithParentStoreContextState<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends DbxFirebaseCollectionStoreContextState<T, D>, DbxFirebaseComponentStoreWithParentContextState<T, PT, D, PD> {
2834
+ readonly mode?: Maybe<DbxFirebaseComponentStoreWithParentSourceMode>;
2835
+ readonly collectionGroup?: Maybe<FirestoreCollectionGroup<T, D>>;
2836
+ }
2837
+ type DbxFirebaseComponentStoreWithParentSetParentSourceModeFunction = (observableOrValue: ObservableOrValue<Maybe<DbxFirebaseComponentStoreWithParentSourceMode>>) => Subscription;
2838
+ interface DbxFirebaseCollectionWithParentStore<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends DbxFirebaseCollectionStore<T, D>, DbxFirebaseComponentStoreWithParent<T, PT, D, PD> {
2839
+ readonly setSourceMode: DbxFirebaseComponentStoreWithParentSetParentSourceModeFunction;
2840
+ readonly setCollectionGroup: (observableOrValue: FirestoreCollectionGroup<T, D> | Observable<FirestoreCollectionGroup<T, D>>) => Subscription;
2841
+ readonly currentCollectionGroup$: Observable<Maybe<FirestoreCollectionGroup<T, D>>>;
2842
+ readonly collectionGroup$: Observable<FirestoreCollectionGroup<T, D>>;
2843
+ }
2844
+ /**
2845
+ * Abstract DbxFirebaseCollectionStore that has a parent document from which is derives it's FiresbaseCollection from.
2846
+ */
2847
+ declare class AbstractDbxFirebaseCollectionWithParentStore<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>, C extends DbxFirebaseCollectionWithParentStoreContextState<T, PT, D, PD> = DbxFirebaseCollectionWithParentStoreContextState<T, PT, D, PD>> extends AbstractDbxFirebaseCollectionStore<T, D, C> implements DbxFirebaseCollectionWithParentStore<T, PT, D, PD> {
2848
+ constructor(state: C, defaultSourceMode?: DbxFirebaseComponentStoreWithParentSourceMode);
2849
+ readonly setParentStore: DbxFirebaseComponentStoreWithParentSetParentStoreEffectFunction<PT, PD>;
2850
+ readonly setSourceMode: DbxFirebaseComponentStoreWithParentSetParentSourceModeFunction;
2851
+ readonly currentParent$: Observable<Maybe<PD>>;
2852
+ readonly parent$: Observable<PD>;
2853
+ readonly currentCollectionFactory$: Observable<Maybe<FirestoreCollectionWithParentFactory<T, PT, D, PD>>>;
2854
+ readonly collectionFactory$: Observable<FirestoreCollectionWithParentFactory<T, PT, D, PD>>;
2855
+ readonly currentCollectionGroup$: Observable<Maybe<FirestoreCollectionGroup<T, D>>>;
2856
+ readonly collectionGroup$: Observable<FirestoreCollectionGroup<T, D>>;
2857
+ /**
2858
+ * Sets the collection factory function to use.
2859
+ */
2860
+ readonly setCollectionFactory: (observableOrValue: FirestoreCollectionWithParentFactory<T, PT, D, PD> | Observable<FirestoreCollectionWithParentFactory<T, PT, D, PD>>) => Subscription;
2861
+ /**
2862
+ * Sets the collection group to use.
2863
+ */
2864
+ readonly setCollectionGroup: (observableOrValue: Maybe<FirestoreCollectionGroup<T, D>> | Observable<Maybe<FirestoreCollectionGroup<T, D>>>) => Subscription;
2865
+ /**
2866
+ * Sets the parent on the current state.
2867
+ */
2868
+ readonly _setParentDocument: (() => void) | ((observableOrValue: Maybe<PD> | Observable<Maybe<PD>>) => Subscription) | (PD extends void ? () => void : (observableOrValue: Maybe<PD> | Observable<Maybe<PD>>) => Subscription);
2869
+ readonly _setParent: DbxFirebaseComponentStoreSetParentEffectFunction<PD>;
2870
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseCollectionWithParentStore<any, any, any, any, any>, [{ optional: true; }, { optional: true; }]>;
2871
+ static ɵprov: i0.ɵɵInjectableDeclaration<AbstractDbxFirebaseCollectionWithParentStore<any, any, any, any, any>>;
2872
+ }
2873
+
2874
+ interface DbxFirebaseDocumentWithParentStoreContextState<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends DbxFirebaseDocumentStoreContextState<T, D>, DbxFirebaseComponentStoreWithParentContextState<T, PT, D, PD> {
2875
+ }
2876
+ interface DbxFirebaseDocumentWithParentStore<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends DbxFirebaseDocumentStore<T, D>, DbxFirebaseComponentStoreWithParent<T, PT, D, PD, FirestoreCollection<T, D>> {
2877
+ }
2878
+ /**
2879
+ * Abstract DbxFirebaseDocumentStore that has a parent document from which is derives it's FiresbaseCollection from.
2880
+ */
2881
+ declare class AbstractDbxFirebaseDocumentWithParentStore<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>, C extends DbxFirebaseDocumentWithParentStoreContextState<T, PT, D, PD> = DbxFirebaseDocumentWithParentStoreContextState<T, PT, D, PD>> extends AbstractDbxFirebaseDocumentStore<T, D, C> implements DbxFirebaseDocumentWithParentStore<T, PT, D, PD> {
2882
+ readonly setParentStore: DbxFirebaseComponentStoreWithParentSetParentStoreEffectFunction<PT, PD>;
2883
+ readonly setParent: DbxFirebaseComponentStoreWithParentSetParentEffectFunction<PD>;
2884
+ readonly _setParent: DbxFirebaseComponentStoreWithParentSetParentEffectFunction<PD>;
2885
+ /**
2886
+ * Returns the parent model key given the current key value.
2887
+ */
2888
+ readonly keyParentKey$: Observable<Maybe<string>>;
2889
+ readonly currentParent$: Observable<Maybe<PD>>;
2890
+ readonly currentParentKey$: Observable<Maybe<FirestoreModelKey>>;
2891
+ readonly parent$: Observable<PD>;
2892
+ readonly parentKey$: Observable<Maybe<FirestoreModelKey>>;
2893
+ readonly currentCollectionFactory$: Observable<Maybe<FirestoreCollectionWithParentFactory<T, PT, D, PD>>>;
2894
+ readonly collectionFactory$: Observable<FirestoreCollectionWithParentFactory<T, PT, D, PD>>;
2895
+ /**
2896
+ * Sets the collection factory function to use.
2897
+ */
2898
+ readonly setCollectionFactory: (observableOrValue: FirestoreCollectionWithParentFactory<T, PT, D, PD> | Observable<FirestoreCollectionWithParentFactory<T, PT, D, PD>>) => Subscription;
2899
+ /**
2900
+ * Sets the parent on the current state.
2901
+ */
2902
+ readonly _setParentDocument: (() => void) | ((observableOrValue: Maybe<PD> | Observable<Maybe<PD>>) => Subscription) | (PD extends void ? () => void : (observableOrValue: Maybe<PD> | Observable<Maybe<PD>>) => Subscription);
2903
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseDocumentWithParentStore<any, any, any, any, any>, never>;
2904
+ static ɵprov: i0.ɵɵInjectableDeclaration<AbstractDbxFirebaseDocumentWithParentStore<any, any, any, any, any>>;
2905
+ }
2906
+ /**
2907
+ * AbstractDbxFirebaseDocumentWithParentStore extension for use with SingleItemFirestoreCollection.
2908
+ */
2909
+ declare class AbstractSingleItemDbxFirebaseDocument<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>, C extends DbxFirebaseDocumentWithParentStoreContextState<T, PT, D, PD> = DbxFirebaseDocumentWithParentStoreContextState<T, PT, D, PD>> extends AbstractDbxFirebaseDocumentWithParentStore<T, PT, D, PD, C> {
2910
+ /**
2911
+ * Sets the SingleItemFirestoreCollection to use.
2912
+ */
2913
+ readonly setFirestoreCollection: (() => void) | ((observableOrValue: Maybe<FirestoreCollection<T, D>> | Observable<Maybe<FirestoreCollection<T, D>>>) => Subscription);
2914
+ /**
2915
+ * Does nothing on a AbstractSingleItemDbxFirebaseDocument.
2916
+ *
2917
+ * Ref is set with the FirestoreCollection
2918
+ */
2919
+ readonly setId: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
2920
+ /**
2921
+ * Does nothing on a AbstractSingleItemDbxFirebaseDocument.
2922
+ *
2923
+ * Ref is set with the FirestoreCollection
2924
+ */
2925
+ readonly setKey: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
2926
+ /**
2927
+ * Does nothing on a AbstractSingleItemDbxFirebaseDocument.
2928
+ *
2929
+ * Ref is set with the FirestoreCollection
2930
+ */
2931
+ readonly setRef: (observableOrValue: Maybe<DocumentReference<T>> | Observable<Maybe<DocumentReference<T>>>) => Subscription;
2932
+ readonly clearRefs: () => void;
2933
+ }
2934
+
2935
+ /**
2936
+ * Abstract directive that contains a DbxFirebaseCollectionWithParentStore and provides an interface for communicating with other directives.
2937
+ */
2938
+ declare abstract class DbxFirebaseCollectionWithParentStoreDirective<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>, S extends DbxFirebaseCollectionWithParentStore<T, PT, D, PD> = DbxFirebaseCollectionWithParentStore<T, PT, D, PD>> extends DbxFirebaseCollectionStoreDirective<T, D, S> {
2939
+ readonly sourceMode: i0.ModelSignal<Maybe<DbxFirebaseComponentStoreWithParentSourceMode>>;
2940
+ private readonly _sourceMode$;
2941
+ constructor(store: S);
2942
+ setSourceMode(sourceMode: Maybe<DbxFirebaseComponentStoreWithParentSourceMode>): void;
2943
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseCollectionWithParentStoreDirective<any, any, any, any, any>, never>;
2944
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseCollectionWithParentStoreDirective<any, any, any, any, any>, never, never, { "sourceMode": { "alias": "sourceMode"; "required": false; "isSignal": true; }; }, { "sourceMode": "sourceModeChange"; }, never, never, true, never>;
2945
+ }
2946
+ /**
2947
+ * Configures providers for a DbxFirebaseCollectionWithParentStoreDirective.
2948
+ *
2949
+ * Can optionally also provide the actual store type to include in the providers array so it is instantiated by Angular.
2950
+ *
2951
+ * @param sourceType
2952
+ */
2953
+ declare function provideDbxFirebaseCollectionWithParentStoreDirective<S extends DbxFirebaseCollectionWithParentStoreDirective<any, any, any, any, any>>(sourceType: Type<S>): Provider[];
2954
+ declare function provideDbxFirebaseCollectionWithParentStoreDirective<S extends DbxFirebaseCollectionWithParentStore<any, any, any, any>, C extends DbxFirebaseCollectionWithParentStoreDirective<any, any, any, any, S> = DbxFirebaseCollectionWithParentStoreDirective<any, any, any, any, S>>(sourceType: Type<C>, storeType?: Type<S>): Provider[];
2955
+
2956
+ /**
2957
+ * Injection token for DbxFirebaseDocumentStoreContextStore.
2958
+ */
2959
+ declare const DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN: InjectionToken<DbxFirebaseDocumentStoreContextStore[]>;
2960
+ /**
2961
+ * Provides the DbxFirebaseDocumentStoreContextStore.
2962
+ */
2963
+ declare function provideDbxFirebaseDocumentStoreContextStore(): Provider[];
2964
+ /**
2965
+ * Links a DbxFirebaseDocumentStore to parent DbxFirebaseDocumentStoreContextStore instances.
2966
+ *
2967
+ * This should be called in an Angular injection context.
2968
+ */
2969
+ declare function linkDocumentStoreToParentContextStores(store: DbxFirebaseDocumentStore<any, any>): void;
2970
+
2971
+ /**
2972
+ * Directive that provides a DbxFirebaseDocumentStoreContextStore.
2973
+ */
2974
+ declare class DbxFirebaseDocumentStoreContextStoreDirective {
2975
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreContextStoreDirective, never>;
2976
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreContextStoreDirective, "[dbxFirebaseDocumentStoreContextStore]", never, {}, {}, never, never, true, never>;
2977
+ }
2978
+
2979
+ declare class SystemStateCollectionStore extends AbstractDbxFirebaseCollectionStore<SystemState, SystemStateDocument> {
2980
+ constructor();
2981
+ static ɵfac: i0.ɵɵFactoryDeclaration<SystemStateCollectionStore, never>;
2982
+ static ɵprov: i0.ɵɵInjectableDeclaration<SystemStateCollectionStore>;
2983
+ }
2984
+
2985
+ declare class DbxFirebaseSystemStateCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective<SystemState, SystemStateDocument, SystemStateCollectionStore> {
2986
+ constructor();
2987
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseSystemStateCollectionStoreDirective, never>;
2988
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseSystemStateCollectionStoreDirective, "[dbxFirebaseSystemStateCollection]", never, {}, {}, never, never, true, never>;
2989
+ }
2990
+
2991
+ declare class SystemStateDocumentStore<T extends SystemStateStoredData = SystemStateStoredData> extends AbstractDbxFirebaseDocumentStore<SystemState<T>, SystemStateDocument<T>> {
2992
+ constructor();
2993
+ static ɵfac: i0.ɵɵFactoryDeclaration<SystemStateDocumentStore<any>, never>;
2994
+ static ɵprov: i0.ɵɵInjectableDeclaration<SystemStateDocumentStore<any>>;
2995
+ }
2996
+
2997
+ /**
2998
+ * Abstract class used for accessing a SystemStateDocumentStore's data.
2999
+ */
3000
+ declare abstract class AbstractSystemStateDocumentStoreAccessor<T extends SystemStateStoredData = SystemStateStoredData> {
3001
+ readonly systemStateDocumentStore: SystemStateDocumentStore<T>;
3002
+ readonly documentData$: Observable<_dereekb_firebase.DocumentDataWithIdAndKey<SystemState<T>>>;
3003
+ readonly data$: Observable<T>;
3004
+ readonly dataState$: Observable<LoadingState<T>>;
3005
+ readonly exists$: Observable<boolean>;
3006
+ readonly doesNotExist$: Observable<boolean>;
3007
+ readonly type$: Observable<SystemStateTypeIdentifier>;
3008
+ constructor(type: SystemStateTypeIdentifier);
3009
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSystemStateDocumentStoreAccessor<any>, [{ optional: true; }]>;
3010
+ static ɵprov: i0.ɵɵInjectableDeclaration<AbstractSystemStateDocumentStoreAccessor<any>>;
3011
+ }
3012
+
3013
+ declare class DbxFirebaseSystemStateDocumentStoreDirective<T extends SystemStateStoredData = SystemStateStoredData> extends DbxFirebaseDocumentStoreDirective<SystemState<T>, SystemStateDocument<T>, SystemStateDocumentStore<T>> {
3014
+ constructor();
3015
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseSystemStateDocumentStoreDirective<any>, never>;
3016
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseSystemStateDocumentStoreDirective<any>, "[dbxFirebaseSystemStateDocument]", never, {}, {}, never, never, true, never>;
3017
+ }
3018
+
3019
+ declare const DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR = "DOES_NOT_EXIST";
3020
+ declare function modelDoesNotExistError(): _dereekb_util.ReadableErrorWithCode<_dereekb_util.ReadableError>;
3021
+
3022
+ declare class DbxFirebaseModelModule {
3023
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelModule, never>;
3024
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelModule, never, never, [typeof DbxFirebaseModelStoreModule]>;
3025
+ static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModelModule>;
3026
+ }
3027
+
3028
+ /**
3029
+ * Client-side service used for retrieving notification templates.
3030
+ */
3031
+ declare class DbxFirebaseNotificationTemplateService {
3032
+ readonly appNotificationTemplateTypeInfoRecordService: AppNotificationTemplateTypeInfoRecordService;
3033
+ notificationItemSubjectMessagePairForNotificationSummaryItem<D extends NotificationItemMetadata = {}>(item: NotificationItem<D>): NotificationItemSubjectMessagePair<D>;
3034
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationTemplateService, never>;
3035
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseNotificationTemplateService>;
3036
+ }
3037
+
3038
+ type NotificationItemWithSelection = DbxValueAsListItem<NotificationItem>;
3039
+ declare class DbxFirebaseNotificationItemListComponent extends AbstractDbxSelectionListWrapperDirective<NotificationItem> {
3040
+ constructor();
3041
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListComponent, never>;
3042
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListComponent, "dbx-firebase-notificationitem-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]", "[end]"], true, never>;
3043
+ }
3044
+ declare class DbxFirebaseNotificationItemListViewComponent extends AbstractDbxSelectionListViewDirective<NotificationItem> {
3045
+ readonly config: DbxSelectionValueListViewConfig<NotificationItemWithSelection>;
3046
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewComponent, never>;
3047
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewComponent, "dbx-firebase-notificationitem-list-view", never, {}, {}, never, never, true, never>;
3048
+ }
3049
+ declare class DbxFirebaseNotificationItemListViewItemComponent extends AbstractDbxValueListViewItemComponent<NotificationItem> {
3050
+ readonly dbxFirebaseNotificationTemplateService: DbxFirebaseNotificationTemplateService;
3051
+ readonly pairGetter: _dereekb_util.CachedFactoryWithInput<_dereekb_firebase.NotificationItemSubjectMessagePair<{}>, unknown>;
3052
+ get subject(): string;
3053
+ get message(): string;
3054
+ get date(): Date;
3055
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewItemComponent, never>;
3056
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewItemComponent, "ng-component", never, {}, {}, never, never, true, never>;
3057
+ }
3058
+
3059
+ declare class DbxFirebaseNotificationItemContentComponent {
3060
+ readonly subject: i0.InputSignal<Maybe<string>>;
3061
+ readonly message: i0.InputSignal<Maybe<string>>;
3062
+ readonly date: i0.InputSignal<Maybe<Date>>;
3063
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemContentComponent, never>;
3064
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemContentComponent, "dbx-firebase-notificationitem-content", never, { "subject": { "alias": "subject"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; }, {}, never, ["[header]", "[premessage]", "*"], true, never>;
3065
+ }
3066
+
3067
+ declare class DbxFirebaseNotificationItemViewComponent<D extends NotificationItemMetadata = {}> {
3068
+ readonly item: i0.InputSignal<Maybe<NotificationItem<D>>>;
3069
+ readonly configSignal: i0.Signal<DbxWidgetViewComponentConfig<unknown> | undefined>;
3070
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemViewComponent<any>, never>;
3071
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemViewComponent<any>, "dbx-firebase-notificationitem-view", never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3072
+ }
3073
+
3074
+ declare abstract class AbstractDbxFirebaseNotificationItemWidgetComponent<D extends NotificationItemMetadata = {}> extends AbstractDbxWidgetComponent<NotificationItem<D>> {
3075
+ get notificationItem(): NotificationItem<D>;
3076
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseNotificationItemWidgetComponent<any>, never>;
3077
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxFirebaseNotificationItemWidgetComponent<any>, never, never, {}, {}, never, never, true, never>;
3078
+ }
3079
+
3080
+ declare class DbxFirebaseNotificationItemDefaultViewComponent extends AbstractDbxFirebaseNotificationItemWidgetComponent {
3081
+ get subject(): _dereekb_util.Maybe<string>;
3082
+ get message(): _dereekb_util.Maybe<string>;
3083
+ get date(): Date;
3084
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, never>;
3085
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, "dbx-firebase-notificationitem-view-default", never, {}, {}, never, never, true, never>;
3086
+ }
3087
+
3088
+ interface DbxFirebaseNotificationItemStorePopoverParams {
3089
+ /**
3090
+ * Custom icon
3091
+ *
3092
+ * Defaults to "history"
3093
+ */
3094
+ readonly icon?: string;
3095
+ /**
3096
+ * Custom header text
3097
+ *
3098
+ * Defaults to "History"
3099
+ */
3100
+ readonly header?: string;
3101
+ /**
3102
+ * Custom empty text when no items exist.
3103
+ */
3104
+ readonly emptyText?: string;
3105
+ /**
3106
+ * Origin to add the popover to.
3107
+ */
3108
+ readonly origin: ElementRef;
3109
+ /**
3110
+ * Items loading state.
3111
+ */
3112
+ readonly notificationItemsLoadingState$: Observable<LoadingState<NotificationItem[]>>;
3113
+ /**
3114
+ * Anchor
3115
+ */
3116
+ readonly makeNotificationItemAnchor?: Maybe<AnchorForValueFunction<NotificationItem>>;
3117
+ }
3118
+ declare const DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY = "notification-item-store-notifications";
3119
+ declare class DbxFirebaseNotificationItemStorePopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseNotificationItemStorePopoverParams> {
3120
+ static openPopover(popupService: DbxPopoverService, { origin, header, icon, emptyText, makeNotificationItemAnchor, notificationItemsLoadingState$ }: DbxFirebaseNotificationItemStorePopoverParams, popoverKey?: DbxPopoverKey): NgPopoverRef;
3121
+ readonly params: DbxFirebaseNotificationItemStorePopoverParams;
3122
+ readonly icon: string;
3123
+ readonly header: string;
3124
+ readonly emptyText: string;
3125
+ readonly makeNotificationItemAnchor: Maybe<AnchorForValueFunction<NotificationItem<{}>>>;
3126
+ readonly notificationItemsLoadingState$: Observable<LoadingState<NotificationItem<{}>[]>>;
3127
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStorePopoverComponent, never>;
3128
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemStorePopoverComponent, "ng-component", never, {}, {}, never, never, true, never>;
3129
+ }
3130
+
3131
+ type DbxFirebaseNotificationItemStorePopoverButtonConfig = DbxFirebaseNotificationItemStorePopoverParams;
3132
+ declare class DbxFirebaseNotificationItemStorePopoverButtonComponent extends AbstractPopoverRefDirective<unknown, unknown> {
3133
+ private readonly _dbxPopoverService;
3134
+ private readonly _dbxFirebaseNotificationItemStore;
3135
+ readonly buttonElement: i0.Signal<Maybe<ElementRef<any>>>;
3136
+ readonly config: i0.InputSignal<Maybe<Partial<DbxFirebaseNotificationItemStorePopoverParams>>>;
3137
+ showNotificationsPopover(): void;
3138
+ protected _makePopoverRef(origin?: ElementRef): NgPopoverRef<unknown, unknown>;
3139
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStorePopoverButtonComponent, never>;
3140
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemStorePopoverButtonComponent, "dbx-firebase-notification-item-store-popover-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3141
+ }
3142
+
3143
+ interface DbxFirebaseNotificationItemStoreState {
3144
+ /**
3145
+ * The NotificationSummary to pull items from
3146
+ */
3147
+ readonly items: NotificationItem[];
3148
+ /**
3149
+ * The currently selected id
3150
+ */
3151
+ readonly selectedId: Maybe<NotificationId>;
3152
+ }
3153
+ /**
3154
+ * Store used for selecting a specific NotificationItem from a list of notification items.
3155
+ */
3156
+ declare class DbxFirebaseNotificationItemStore extends ComponentStore<DbxFirebaseNotificationItemStoreState> {
3157
+ constructor();
3158
+ readonly items$: rxjs.Observable<NotificationItem<{}>[]>;
3159
+ readonly selectedId$: rxjs.Observable<Maybe<string>>;
3160
+ readonly selectedItem$: rxjs.Observable<NotificationItem<{}> | undefined>;
3161
+ readonly setItems: (observableOrValue: NotificationItem<{}>[] | rxjs.Observable<NotificationItem<{}>[]>) => rxjs.Subscription;
3162
+ readonly setSelectedId: (() => void) | ((observableOrValue: Maybe<string> | rxjs.Observable<Maybe<string>>) => rxjs.Subscription);
3163
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemStore, never>;
3164
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseNotificationItemStore>;
3165
+ }
3166
+
3167
+ declare class NotificationDocumentStore extends AbstractDbxFirebaseDocumentWithParentStore<Notification, NotificationBox, NotificationDocument, NotificationBoxDocument> {
3168
+ readonly notificationFunctions: NotificationFunctions;
3169
+ constructor();
3170
+ readonly createdAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
3171
+ readonly nextSendAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
3172
+ readonly sendType$: rxjs.Observable<_dereekb_firebase.NotificationSendType>;
3173
+ readonly sendAttemptsCount$: rxjs.Observable<number>;
3174
+ readonly isUnique$: rxjs.Observable<_dereekb_util.Maybe<boolean>>;
3175
+ readonly sendNotification: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.SendNotificationParams, _dereekb_firebase.SendNotificationResult>;
3176
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationDocumentStore, never>;
3177
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationDocumentStore>;
3178
+ }
3179
+
3180
+ declare class DbxFirebaseNotificationDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<Notification, NotificationDocument, NotificationDocumentStore> {
3181
+ constructor();
3182
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationDocumentStoreDirective, never>;
3183
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationDocumentStoreDirective, "[dbxFirebaseNotificationDocument]", never, {}, {}, never, never, true, never>;
3184
+ }
3185
+
3186
+ declare class NotificationBoxDocumentStore extends AbstractDbxFirebaseDocumentStore<NotificationBox, NotificationBoxDocument> {
3187
+ readonly notificationFunctions: NotificationFunctions;
3188
+ constructor();
3189
+ readonly createdAt$: rxjs.Observable<_dereekb_util.Maybe<Date>>;
3190
+ readonly recipients$: rxjs.Observable<_dereekb_firebase.NotificationBoxRecipient[]>;
3191
+ readonly updateNotificationBox: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateNotificationBoxParams, void>;
3192
+ readonly updateNotificationBoxRecipient: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateNotificationBoxRecipientParams, void>;
3193
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationBoxDocumentStore, never>;
3194
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationBoxDocumentStore>;
3195
+ }
3196
+
3197
+ declare class NotificationCollectionStore extends AbstractDbxFirebaseCollectionWithParentStore<Notification, NotificationBox, NotificationDocument, NotificationBoxDocument> {
3198
+ constructor(parent: NotificationBoxDocumentStore);
3199
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationCollectionStore, [{ optional: true; }]>;
3200
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationCollectionStore>;
3201
+ }
3202
+
3203
+ declare class DbxFirebaseNotificationCollectionStoreDirective extends DbxFirebaseCollectionWithParentStoreDirective<Notification, NotificationBox, NotificationDocument, NotificationBoxDocument, NotificationCollectionStore> {
3204
+ constructor();
3205
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationCollectionStoreDirective, never>;
3206
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationCollectionStoreDirective, "[dbxFirebaseNotificationCollection]", never, {}, {}, never, never, true, never>;
3207
+ }
3208
+
3209
+ declare class DbxFirebaseNotificationBoxDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<NotificationBox, NotificationBoxDocument, NotificationBoxDocumentStore> {
3210
+ constructor();
3211
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationBoxDocumentStoreDirective, never>;
3212
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationBoxDocumentStoreDirective, "[dbxFirebaseNotificationBoxDocument]", never, {}, {}, never, never, true, never>;
3213
+ }
3214
+
3215
+ declare class NotificationBoxCollectionStore extends AbstractDbxFirebaseCollectionStore<NotificationBox, NotificationBoxDocument> {
3216
+ constructor();
3217
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationBoxCollectionStore, never>;
3218
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationBoxCollectionStore>;
3219
+ }
3220
+
3221
+ declare class DbxFirebaseNotificationBoxCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective<NotificationBox, NotificationBoxDocument, NotificationBoxCollectionStore> {
3222
+ constructor();
3223
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationBoxCollectionStoreDirective, never>;
3224
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationBoxCollectionStoreDirective, "[dbxFirebaseNotificationBoxCollection]", never, {}, {}, never, never, true, never>;
3225
+ }
3226
+
3227
+ declare class NotificationSummaryCollectionStore extends AbstractDbxFirebaseCollectionStore<NotificationSummary, NotificationSummaryDocument> {
3228
+ constructor();
3229
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationSummaryCollectionStore, never>;
3230
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationSummaryCollectionStore>;
3231
+ }
3232
+
3233
+ declare class DbxFirebaseNotificationSummaryCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective<NotificationSummary, NotificationSummaryDocument, NotificationSummaryCollectionStore> {
3234
+ constructor();
3235
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationSummaryCollectionStoreDirective, never>;
3236
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationSummaryCollectionStoreDirective, "[dbxFirebaseNotificationSummaryCollection]", never, {}, {}, never, never, true, never>;
3237
+ }
3238
+
3239
+ declare class NotificationSummaryDocumentStore extends AbstractDbxFirebaseDocumentStore<NotificationSummary, NotificationSummaryDocument> {
3240
+ readonly notificationFunctions: NotificationFunctions;
3241
+ constructor();
3242
+ readonly notificationItemsLoadingState$: Observable<LoadingState<NotificationItem<any>[]>>;
3243
+ readonly createdAt$: Observable<Maybe<Date>>;
3244
+ readonly lastReadAt$: Observable<Maybe<Date>>;
3245
+ readonly lastUpdateAt$: Observable<Maybe<Date>>;
3246
+ readonly notificationItems$: Observable<NotificationItem<{}>[]>;
3247
+ readonly needsSync$: Observable<Maybe<boolean>>;
3248
+ notificationItemsLoadingState<D extends NotificationItemMetadata = {}>(): Observable<LoadingState<NotificationItem<D>[]>>;
3249
+ unreadNotificationItems<D extends NotificationItemMetadata = {}>(checkLastReadIfCreatedBeforeObs?: ObservableOrValue<Maybe<Date>>): Observable<UnreadNotificationItemsResult<D>>;
3250
+ readonly updateNotificationSummary: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateNotificationSummaryParams, void>;
3251
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationSummaryDocumentStore, never>;
3252
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationSummaryDocumentStore>;
3253
+ }
3254
+
3255
+ declare class DbxFirebaseNotificationSummaryDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<NotificationSummary, NotificationSummaryDocument, NotificationSummaryDocumentStore> {
3256
+ constructor();
3257
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationSummaryDocumentStoreDirective, never>;
3258
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationSummaryDocumentStoreDirective, "[dbxFirebaseNotificationSummaryDocument]", never, {}, {}, never, never, true, never>;
3259
+ }
3260
+
3261
+ declare class NotificationUserCollectionStore extends AbstractDbxFirebaseCollectionStore<NotificationUser, NotificationUserDocument> {
3262
+ constructor();
3263
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationUserCollectionStore, never>;
3264
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationUserCollectionStore>;
3265
+ }
3266
+
3267
+ declare class DbxFirebaseNotificationUserCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective<NotificationUser, NotificationUserDocument, NotificationUserCollectionStore> {
3268
+ constructor();
3269
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationUserCollectionStoreDirective, never>;
3270
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationUserCollectionStoreDirective, "[dbxFirebaseNotificationUserCollection]", never, {}, {}, never, never, true, never>;
3271
+ }
3272
+
3273
+ declare class NotificationUserDocumentStore extends AbstractDbxFirebaseDocumentStore<NotificationUser, NotificationUserDocument> {
3274
+ readonly notificationFunctions: NotificationFunctions;
3275
+ constructor();
3276
+ readonly updateNotificationUser: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateNotificationUserParams, void>;
3277
+ readonly resyncNotificationUser: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.ResyncNotificationUserParams, _dereekb_firebase.ResyncNotificationUserResult>;
3278
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationUserDocumentStore, never>;
3279
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationUserDocumentStore>;
3280
+ }
3281
+
3282
+ declare class DbxFirebaseNotificationUserDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<NotificationUser, NotificationUserDocument, NotificationUserDocumentStore> {
3283
+ constructor();
3284
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationUserDocumentStoreDirective, never>;
3285
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseNotificationUserDocumentStoreDirective, "[dbxFirebaseNotificationUserDocument]", never, {}, {}, never, never, true, never>;
3286
+ }
3287
+
3288
+ /**
3289
+ * Prefix used by all widgets.
3290
+ *
3291
+ * Does not include the "-" between the prefix and the template type returned by dbxWidgetTypeForNotificationTemplateType().
3292
+ */
3293
+ declare const FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX: string;
3294
+ declare const DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE: DbxWidgetType;
3295
+ declare function dbxWidgetTypeForNotificationTemplateType(notificationTemplateType: NotificationTemplateType): DbxWidgetType;
3296
+ /**
3297
+ * Used for registering a DbxFirebaseNotificationItemWidgetEntry.
3298
+ *
3299
+ * The notificationTemplateType should be known by the app, otherwise a warning may be thrown.
3300
+ */
3301
+ interface DbxFirebaseNotificationItemWidgetEntryRegistration extends Omit<DbxWidgetEntry, 'type'> {
3302
+ readonly notificationTemplateType: NotificationTemplateType;
3303
+ }
3304
+ /**
3305
+ * A widget used for DbxFirebaseNotificationItem views.
3306
+ */
3307
+ interface DbxFirebaseNotificationItemWidgetEntry {
3308
+ readonly notificationTemplateType: NotificationTemplateType;
3309
+ readonly notificationTemplateTypeInfo: NotificationTemplateTypeInfo;
3310
+ readonly widget: DbxWidgetEntry;
3311
+ }
3312
+
3313
+ /**
3314
+ * Service used for registering widgets used for notification items.
3315
+ */
3316
+ declare class DbxFirebaseNotificationItemWidgetService {
3317
+ readonly dbxWidgetService: DbxWidgetService;
3318
+ readonly dbxFirebaseNotificationTemplateService: DbxFirebaseNotificationTemplateService;
3319
+ private readonly _entries;
3320
+ /**
3321
+ * Used to register a item widget. If widget for the given type is already registered, this will override it by default.
3322
+ *
3323
+ * @param provider
3324
+ * @param override
3325
+ */
3326
+ register(provider: DbxFirebaseNotificationItemWidgetEntryRegistration, override?: boolean): boolean;
3327
+ registerDefaultWidget(entry: Omit<DbxWidgetEntry, 'type'>, override?: boolean): boolean;
3328
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemWidgetService, never>;
3329
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseNotificationItemWidgetService>;
3330
+ }
3331
+
3332
+ /**
3333
+ * Configuration for DbxFirebaseNotificationModule.
3334
+ */
3335
+ interface ProvideDbxFirebaseNotificationsConfig {
3336
+ readonly appNotificationTemplateTypeInfoRecordService: AppNotificationTemplateTypeInfoRecordService;
3337
+ /**
3338
+ * The default notification item widget to register with the DbxFirebaseNotificationItemWidgetService.
3339
+ *
3340
+ * If not defined, will automatically register the default widget.
3341
+ *
3342
+ * If false, will not register anything.
3343
+ */
3344
+ readonly defaultNotificationItemWidget?: DbxWidgetEntry['componentClass'] | false;
3345
+ }
3346
+ /**
3347
+ * Creates EnvironmentProviders that provides a DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationItemWidgetService and AppNotificationTemplateTypeInfoRecordService.
3348
+ *
3349
+ * @param config Configuration
3350
+ * @returns EnvironmentProviders
3351
+ */
3352
+ declare function provideDbxFirebaseNotifications(config: ProvideDbxFirebaseNotificationsConfig): EnvironmentProviders;
3353
+
3354
+ interface DbxFirebaseStorageFileDownloadUrlPair {
3355
+ readonly id: StorageFileId;
3356
+ readonly downloadUrl: StorageFileSignedDownloadUrl;
3357
+ /**
3358
+ * Mime type, if available.
3359
+ */
3360
+ readonly mimeType?: Maybe<ContentTypeMimeType>;
3361
+ /**
3362
+ * Expiration in seconds since epoch.
3363
+ */
3364
+ readonly expiresAt: UnixDateTimeSecondsNumber;
3365
+ }
3366
+ type DbxFirebaseStorageFileDownloadUrlPairString = `${UnixDateTimeSecondsNumber}_${StorageFileSignedDownloadUrl}`;
3367
+ type DbxFirebaseStorageFileDownloadUrlPairsRecord = Record<StorageFileId, DbxFirebaseStorageFileDownloadUrlPairString>;
3368
+ interface DbxFirebaseStorageFileDownloadUserCache {
3369
+ readonly uid: FirebaseAuthUserId;
3370
+ readonly pairs: DbxFirebaseStorageFileDownloadUrlPairsRecord;
3371
+ }
3372
+ /**
3373
+ * Token that corresponds to a StorageAccessor<DbxFirebaseStorageFileDownloadUserCache> that is used by DbxModelViewTrackerStorage.
3374
+ */
3375
+ declare const DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN: InjectionToken<unknown>;
3376
+ /**
3377
+ * Used for managing DbxModelViewTrackerEvent storage.
3378
+ */
3379
+ declare class DbxFirebaseStorageFileDownloadStorage {
3380
+ static readonly DEFAULT_MAX_DOWNLOAD_URLS = 100;
3381
+ readonly authService: DbxFirebaseAuthService;
3382
+ readonly storageAccessor: StorageAccessor<DbxFirebaseStorageFileDownloadUserCache>;
3383
+ addDownloadUrl({ id, downloadUrl, expiresAt, mimeType }: DbxFirebaseStorageFileDownloadUrlPair): Observable<void>;
3384
+ /**
3385
+ * Returns the cached download URL pair for the given key.
3386
+ *
3387
+ * The pair may be expired.
3388
+ *
3389
+ * @param key
3390
+ * @returns
3391
+ */
3392
+ getDownloadUrlPair(input: FirestoreModelIdInput): Observable<DbxFirebaseStorageFileDownloadUrlPair | undefined>;
3393
+ getAllDownloadUrlPairsRecord(uid: FirebaseAuthUserId): Observable<DbxFirebaseStorageFileDownloadUrlPairsRecord>;
3394
+ getCurrentUserDownloadCache(): Observable<DbxFirebaseStorageFileDownloadUserCache>;
3395
+ getUserDownloadCache(uid: FirebaseAuthUserId): Observable<DbxFirebaseStorageFileDownloadUserCache>;
3396
+ clearCurrentUserDownloadCache(): Observable<void>;
3397
+ clearUserDownloadCache(uid: FirebaseAuthUserId): Observable<void>;
3398
+ private _getUserDownloadCacheForStorageKey;
3399
+ getStorageKeyForUid(uid: FirebaseAuthUserId): string;
3400
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileDownloadStorage, never>;
3401
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseStorageFileDownloadStorage>;
3402
+ }
3403
+
3404
+ type DbxFirebaseStorageFileDownloadServiceCustomSourceDownloadFunction = (params: DownloadStorageFileParams, storageFileId: StorageFileId) => Promise<DownloadStorageFileResult>;
3405
+ /**
3406
+ * Used as a custom source for downloading StorageFiles.
3407
+ */
3408
+ interface DbxFirebaseStorageFileDownloadServiceCustomSource {
3409
+ /**
3410
+ * Retrieves the download result for the StorageFile using the input parameters.
3411
+ *
3412
+ * @param storageFileId
3413
+ * @returns
3414
+ */
3415
+ downloadStorageFileResult: DbxFirebaseStorageFileDownloadServiceCustomSourceDownloadFunction;
3416
+ }
3417
+ declare function dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs(obsForInput: (params: DownloadStorageFileParams, storageFileId: StorageFileId) => Observable<LoadingState<DownloadStorageFileResult>>): DbxFirebaseStorageFileDownloadServiceCustomSource;
3418
+ /**
3419
+ * Service used for retrieving download links for StorageFiles.
3420
+ */
3421
+ declare class DbxFirebaseStorageFileDownloadService {
3422
+ /**
3423
+ * Expiration duration for cached download URLs.
3424
+ */
3425
+ protected _expiresAfterTime: Milliseconds;
3426
+ /**
3427
+ * When reading cached values, this buffer is added to the expiration time to prevent the URL from expiring while it is being used.
3428
+ */
3429
+ protected _expiresAfterTimeBuffer: Seconds;
3430
+ readonly storageFileFunctions: StorageFileFunctions;
3431
+ readonly storageFileDownloadStorage: DbxFirebaseStorageFileDownloadStorage;
3432
+ getExpiresAfterTime(): number;
3433
+ setExpiresAfterTime(expiresAfter: number): void;
3434
+ /**
3435
+ * Returns an observable that returns the cached download URL pair for the StorageFile, and emits null once it expires.
3436
+ *
3437
+ * @param storageFileIdOrKey
3438
+ * @returns
3439
+ */
3440
+ getCachedDownloadPairForStorageFile(storageFileIdOrKey: StorageFileId | StorageFileKey): Observable<Maybe<DbxFirebaseStorageFileDownloadUrlPair>>;
3441
+ /**
3442
+ * Retrieves the download URL for the StorageFile using the default parameters.
3443
+ *
3444
+ * These URLs are cached locally to prevent extra/redundant calls to the server.
3445
+ *
3446
+ * @param storageFileIdOrKey
3447
+ * @returns
3448
+ */
3449
+ downloadPairForStorageFile(storageFileIdOrKey: StorageFileId | StorageFileKey): Observable<DbxFirebaseStorageFileDownloadUrlPair>;
3450
+ /**
3451
+ * Retrieves the download URL for the StorageFile using the default parameters and pulled from the input source, if applicable.
3452
+ *
3453
+ * If no source is provided, uses the default internal source.
3454
+ *
3455
+ * These URLs are cached locally to prevent extra/redundant calls to the server.
3456
+ *
3457
+ * @param storageFileIdOrKey
3458
+ * @returns
3459
+ */
3460
+ downloadPairForStorageFileUsingSource(storageFileIdOrKey: StorageFileId | StorageFileKey, source: Maybe<DbxFirebaseStorageFileDownloadServiceCustomSource>): Observable<DbxFirebaseStorageFileDownloadUrlPair>;
3461
+ /**
3462
+ * Adds the given download URL pair to the cache.
3463
+ */
3464
+ addPairForStorageFileToCache(downloadUrlPair: DbxFirebaseStorageFileDownloadUrlPair): void;
3465
+ /**
3466
+ * Creates a new download URL for the StorageFile.
3467
+ *
3468
+ * @param storageFileIdOrKey
3469
+ * @param inputParams
3470
+ * @returns
3471
+ */
3472
+ createDownloadPairForStorageFile(storageFileIdOrKey: StorageFileId | StorageFileKey, inputParams?: Omit<DownloadStorageFileParams, 'key'>): Promise<DbxFirebaseStorageFileDownloadUrlPair>;
3473
+ private _createDownloadPairForStorageFileUsingSource;
3474
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileDownloadService, never>;
3475
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseStorageFileDownloadService>;
3476
+ }
3477
+
3478
+ interface DbxFirebaseStorageFileDownloadDetails {
3479
+ readonly downloadUrl: StorageFileDownloadUrl;
3480
+ readonly mimeType?: Maybe<ContentTypeMimeType>;
3481
+ readonly expiresAt?: Maybe<Date>;
3482
+ }
3483
+ /**
3484
+ * Source configuration for the DbxFirebaseStorageFileDownloadButtonComponent.
3485
+ */
3486
+ interface DbxFirebaseStorageFileDownloadButtonSource {
3487
+ /**
3488
+ * A static StorageFileKey to use.
3489
+ */
3490
+ readonly storageFileKey?: MaybeObservableOrValue<StorageFileKey>;
3491
+ /**
3492
+ * Whether or not to pre-load the download url from the source.
3493
+ *
3494
+ * Defaults to false.
3495
+ */
3496
+ readonly preload?: Maybe<boolean>;
3497
+ /**
3498
+ * The expected mime type of the StorageFile to use when previewing.
3499
+ */
3500
+ readonly storageFileEmbedMimeType?: MaybeObservableOrValue<ContentTypeMimeType | string>;
3501
+ /**
3502
+ * Custom source to use with the DbxFirebaseStorageFileDownloadService. A more simple alternative to using handleGetDownloadUrl().
3503
+ */
3504
+ readonly customSource?: Maybe<DbxFirebaseStorageFileDownloadServiceCustomSource>;
3505
+ /**
3506
+ * Optional custom work to use to get the download URL.
3507
+ *
3508
+ * If provided, customSource is ignored.
3509
+ */
3510
+ readonly handleGetDownloadUrl?: Maybe<WorkUsingContext<StorageFileKey, DbxFirebaseStorageFileDownloadUrlPair>>;
3511
+ /**
3512
+ * Optional custom success handler for the download URL.
3513
+ */
3514
+ readonly handleGetDownloadUrlSuccess?: (value: DbxFirebaseStorageFileDownloadUrlPair) => void;
3515
+ /**
3516
+ * Optional custom error handler for the download URL.
3517
+ */
3518
+ readonly handleGetDownloadUrlError?: (error: unknown) => void;
3519
+ /**
3520
+ * Called when the download details change.
3521
+ */
3522
+ readonly downloadDetailsChangeCallback?: Maybe<(downloadDetails: Maybe<DbxFirebaseStorageFileDownloadDetails>) => void>;
3523
+ }
3524
+ /**
3525
+ * Configuration for the DbxFirebaseStorageFileDownloadButtonComponent.
3526
+ */
3527
+ interface DbxFirebaseStorageFileDownloadButtonConfig {
3528
+ readonly buttonStyle?: Maybe<DbxButtonStyle>;
3529
+ readonly previewButtonStyle?: Maybe<DbxButtonStyle>;
3530
+ /**
3531
+ * Whether or not to show a preview button.
3532
+ *
3533
+ * Defaults to true.
3534
+ */
3535
+ readonly showPreviewButton?: Maybe<boolean>;
3536
+ readonly icon?: Maybe<string>;
3537
+ readonly text?: Maybe<string>;
3538
+ readonly downloadReadyIcon?: Maybe<string>;
3539
+ readonly downloadReadyText?: Maybe<string>;
3540
+ readonly previewIcon?: Maybe<string>;
3541
+ readonly previewText?: Maybe<string>;
3542
+ /**
3543
+ * Optional custom function to open a preview dialog. If not provided, the default preview dialog provided by the DbxWebFilePreviewService will be used.
3544
+ *
3545
+ * The function can return undefined, in which case the default preview dialog will be used.
3546
+ */
3547
+ readonly openCustomPreview?: Maybe<(downloadUrl: StorageFileDownloadUrl, embedMimeType?: Maybe<string>) => Maybe<MatDialogRef<any>>>;
3548
+ /**
3549
+ * Whether or not to pre-load the download url from the source.
3550
+ *
3551
+ * Defaults to false.
3552
+ *
3553
+ * @deprecated use the preload property on the source/DbxFirebaseStorageFileDownloadButtonSource instead.
3554
+ */
3555
+ readonly preload?: Maybe<boolean>;
3556
+ }
3557
+ declare class DbxFirebaseStorageFileDownloadButtonComponent {
3558
+ readonly matDialog: MatDialog;
3559
+ readonly dbxWebFilePreviewService: DbxWebFilePreviewService;
3560
+ readonly dbxFirebaseStorageFileDownloadService: DbxFirebaseStorageFileDownloadService;
3561
+ /**
3562
+ * The StorageFileKey to set up the download button for.
3563
+ */
3564
+ readonly storageFileKey: i0.InputSignal<Maybe<string>>;
3565
+ /**
3566
+ * The download URL to use for the download button.
3567
+ */
3568
+ readonly storageFileDownloadUrl: i0.InputSignal<Maybe<string>>;
3569
+ /**
3570
+ * The MIME type to use the embed component.
3571
+ */
3572
+ readonly embedMimeType: i0.InputSignal<Maybe<string>>;
3573
+ /**
3574
+ * Whether or not to show a preview button.
3575
+ *
3576
+ * Defaults to true.
3577
+ */
3578
+ readonly showPreviewButton: i0.InputSignal<Maybe<boolean>>;
3579
+ /**
3580
+ * Whether or not to pre-load the download URL from the source.
3581
+ */
3582
+ readonly preload: i0.InputSignal<Maybe<boolean>>;
3583
+ /**
3584
+ * Output event emitted when the download details change.
3585
+ */
3586
+ readonly downloadDetailsChange: i0.OutputEmitterRef<Maybe<DbxFirebaseStorageFileDownloadDetails>>;
3587
+ readonly config: i0.InputSignal<Maybe<DbxFirebaseStorageFileDownloadButtonConfig>>;
3588
+ readonly source: i0.InputSignal<Maybe<DbxFirebaseStorageFileDownloadButtonSource>>;
3589
+ readonly source$: Observable<Maybe<DbxFirebaseStorageFileDownloadButtonSource>>;
3590
+ readonly configSignal: i0.Signal<DbxFirebaseStorageFileDownloadButtonConfig>;
3591
+ readonly preloadSignal: i0.Signal<boolean>;
3592
+ readonly downloadUrlSignal: i0.WritableSignal<Maybe<string>>;
3593
+ readonly downloadMimeTypeSignal: i0.WritableSignal<Maybe<string>>;
3594
+ readonly downloadUrlExpiresAtSignal: i0.WritableSignal<Maybe<DateOrUnixDateTimeSecondsNumber>>;
3595
+ readonly storageFileKeyFromInput$: Observable<Maybe<string>>;
3596
+ readonly storageFileKeyFromSource$: Observable<Maybe<StorageFileKey>>;
3597
+ readonly storageFileKey$: Observable<Maybe<StorageFileKey>>;
3598
+ readonly storageFileKeySignal: i0.Signal<Maybe<string>>;
3599
+ readonly hasDownloadUrlSignal: i0.Signal<boolean>;
3600
+ readonly buttonStyleSignal: i0.Signal<DbxButtonStyle>;
3601
+ readonly previewButtonStyleSignal: i0.Signal<DbxButtonStyle>;
3602
+ readonly iconSignal: i0.Signal<Maybe<string>>;
3603
+ readonly textSignal: i0.Signal<Maybe<string>>;
3604
+ readonly previewIconSignal: i0.Signal<Maybe<string>>;
3605
+ readonly previewTextSignal: i0.Signal<Maybe<string>>;
3606
+ readonly anchorSignal: i0.Signal<Maybe<ClickableAnchor>>;
3607
+ readonly storageFileDownloadUrlEffect: i0.EffectRef;
3608
+ readonly showPreviewButtonSignal: i0.Signal<boolean>;
3609
+ readonly openCustomPreviewSignal: i0.Signal<Maybe<(downloadUrl: StorageFileDownloadUrl, embedMimeType?: Maybe<string>) => Maybe<MatDialogRef<any>>>>;
3610
+ readonly handleOpenPreviewDialog: DbxActionDialogFunction;
3611
+ readonly cachedUrlForStorageFileKey$: Observable<Maybe<DbxFirebaseStorageFileDownloadUrlPair>>;
3612
+ readonly cachedUrlForStorageFileKeySignal: i0.Signal<Maybe<DbxFirebaseStorageFileDownloadUrlPair>>;
3613
+ readonly cachedUrlEffect: i0.EffectRef;
3614
+ readonly downloadUrlExpiresAtDate$: Observable<Maybe<Date>>;
3615
+ readonly downloadUrlExpiresAtDateSignal: i0.Signal<Maybe<Date>>;
3616
+ readonly downloadUrlHasExpired$: Observable<boolean>;
3617
+ readonly downloadUrlHasExpiredSignal: i0.Signal<boolean | undefined>;
3618
+ readonly downloadUrlHasExpiredEffect: i0.EffectRef;
3619
+ readonly downloadDetailsSignal: i0.Signal<DbxFirebaseStorageFileDownloadDetails | undefined>;
3620
+ readonly downloadDetailsChangedEffect: i0.EffectRef;
3621
+ readonly sourceDownloadDetailsChangeCallbackEffect: i0.EffectRef;
3622
+ readonly handleGetDownloadUrl: WorkUsingContext<StorageFileKey, DbxFirebaseStorageFileDownloadUrlPair>;
3623
+ readonly handleGetDownloadUrlSuccess: (value: DbxFirebaseStorageFileDownloadUrlPair) => void;
3624
+ readonly handleGetDownloadUrlError: (error: unknown) => void;
3625
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileDownloadButtonComponent, never>;
3626
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseStorageFileDownloadButtonComponent, "dbx-firebase-storagefile-download-button", never, { "storageFileKey": { "alias": "storageFileKey"; "required": false; "isSignal": true; }; "storageFileDownloadUrl": { "alias": "storageFileDownloadUrl"; "required": false; "isSignal": true; }; "embedMimeType": { "alias": "embedMimeType"; "required": false; "isSignal": true; }; "showPreviewButton": { "alias": "showPreviewButton"; "required": false; "isSignal": true; }; "preload": { "alias": "preload"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "source": { "alias": "source"; "required": false; "isSignal": true; }; }, { "downloadDetailsChange": "downloadDetailsChange"; }, never, never, true, never>;
3627
+ }
3628
+
3629
+ /**
3630
+ * The stage of the upload process.
3631
+ *
3632
+ * - configuration: The initial stage where the upload store is being configured.
3633
+ * - files: The stage where the files are to be selected.
3634
+ * - uploading: The stage where the files are being uploaded.
3635
+ * - success: The stage where the files have been successfully uploaded.
3636
+ * - error: The stage where the upload has failed.
3637
+ */
3638
+ type DbxFirebaseStorageFileUploadStoreUploadStage = 'configuration' | 'files' | 'uploading' | 'success' | 'error';
3639
+ /**
3640
+ * The accepted file types for the upload.
3641
+ *
3642
+ * If unset, then all file types are accepted.
3643
+ */
3644
+ type DbxFirebaseStorageFileUploadStoreAllowedTypes = FileAcceptFilterTypeString[];
3645
+ /**
3646
+ * The progress of a file being uploaded.
3647
+ *
3648
+ * File progresses are automatically created for all files when one file's progress is
3649
+ */
3650
+ interface DbxFirebaseStorageFileUploadStoreFileProgress<T = unknown> {
3651
+ /**
3652
+ * The file being uploaded.
3653
+ */
3654
+ readonly file: File;
3655
+ /**
3656
+ * The accessor file for the file, if available.
3657
+ */
3658
+ readonly fileRef?: Maybe<FirebaseStorageAccessorFile>;
3659
+ /**
3660
+ * The upload reference info for the file, if available.
3661
+ */
3662
+ readonly uploadRef?: Maybe<T>;
3663
+ /**
3664
+ * The number of bytes that have been transferred for this file.
3665
+ */
3666
+ readonly bytesTransferred?: Maybe<number>;
3667
+ /**
3668
+ * The total number of bytes to be uploaded.
3669
+ */
3670
+ readonly totalBytes?: Maybe<number>;
3671
+ /**
3672
+ * The progress of the upload.
3673
+ *
3674
+ * If unset, then the file has not started uploading.
3675
+ */
3676
+ readonly progress?: Maybe<PercentDecimal>;
3677
+ /**
3678
+ * If true, the upload has failed for this file.
3679
+ */
3680
+ readonly failed?: boolean;
3681
+ /**
3682
+ * The error that occurred during the upload for this file.
3683
+ */
3684
+ readonly error?: unknown;
3685
+ }
3686
+ interface DbxFirebaseStorageFileUploadStoreState {
3687
+ /**
3688
+ * The default accepted file types for the upload.
3689
+ *
3690
+ * This may be set by the component.
3691
+ */
3692
+ readonly componentFileTypesAccepted?: Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes>;
3693
+ /**
3694
+ * If true, the component allows multiple files to be selected.
3695
+ *
3696
+ * Defaults to undefined.
3697
+ */
3698
+ readonly isComponentMultiUploadAllowed?: Maybe<boolean>;
3699
+ /**
3700
+ * The accepted file types for the upload.
3701
+ *
3702
+ * Is used to filter the files that can be selected for upload.
3703
+ *
3704
+ * Overrides the componentFileTypesAccepted value if set.
3705
+ */
3706
+ readonly fileTypesAccepted?: Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes>;
3707
+ /**
3708
+ * If true, allow selecting multiple files for upload.
3709
+ *
3710
+ * If isComponentMultiUploadAllowed is false, then this value is ignored.
3711
+ */
3712
+ readonly isMultiUploadAllowed?: Maybe<boolean>;
3713
+ /**
3714
+ * Path to upload the file(s) to.
3715
+ *
3716
+ * Must be set before uploading.
3717
+ */
3718
+ readonly uploadPath?: Maybe<StoragePathInput>;
3719
+ /**
3720
+ * The current file(s) to upload.
3721
+ */
3722
+ readonly files?: Maybe<File[]>;
3723
+ /**
3724
+ * The progress of the upload for each file.
3725
+ *
3726
+ * Only set while one or more files are being uploaded.
3727
+ */
3728
+ readonly latestProgressEvent?: Maybe<StorageFileUploadFilesEvent>;
3729
+ /**
3730
+ * If true, the upload handler is working.
3731
+ */
3732
+ readonly isUploadHandlerWorking?: Maybe<boolean>;
3733
+ /**
3734
+ * The final upload result for the files.
3735
+ *
3736
+ * Only set after the upload has completed.
3737
+ */
3738
+ readonly uploadResult?: Maybe<StorageFileUploadFilesFinalResult>;
3739
+ }
3740
+ /**
3741
+ * Store used for selecting a specific NotificationItem from a list of notification items.
3742
+ */
3743
+ declare class DbxFirebaseStorageFileUploadStore extends ComponentStore<DbxFirebaseStorageFileUploadStoreState> {
3744
+ constructor();
3745
+ readonly componentFileTypesAccepted$: rxjs.Observable<Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes>>;
3746
+ readonly isComponentMultiUploadAllowed$: rxjs.Observable<Maybe<boolean>>;
3747
+ readonly fileTypesAllowed$: rxjs.Observable<DbxFirebaseStorageFileUploadStoreAllowedTypes>;
3748
+ readonly fileTypesAcceptString$: rxjs.Observable<string>;
3749
+ readonly isMultiUploadAllowed$: rxjs.Observable<Maybe<boolean>>;
3750
+ readonly uploadPath$: rxjs.Observable<Maybe<StoragePathInput>>;
3751
+ readonly currentFiles$: rxjs.Observable<Maybe<File[]>>;
3752
+ readonly files$: rxjs.Observable<File[]>;
3753
+ readonly isUploadHandlerWorking$: rxjs.Observable<Maybe<boolean>>;
3754
+ readonly latestProgressEvent$: rxjs.Observable<Maybe<StorageFileUploadFilesEvent>>;
3755
+ readonly currentUploadResult$: rxjs.Observable<Maybe<StorageFileUploadFilesFinalResult>>;
3756
+ readonly uploadResult$: rxjs.Observable<StorageFileUploadFilesFinalResult>;
3757
+ readonly setComponentFileTypesAccepted: (() => void) | ((observableOrValue: Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes> | rxjs.Observable<Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes>>) => rxjs.Subscription);
3758
+ readonly setIsComponentMultiUploadAllowed: (() => void) | ((observableOrValue: Maybe<boolean> | rxjs.Observable<Maybe<boolean>>) => rxjs.Subscription);
3759
+ readonly setUploadPath: (() => void) | ((observableOrValue: Maybe<StoragePathInput> | rxjs.Observable<Maybe<StoragePathInput>>) => rxjs.Subscription);
3760
+ readonly setFileTypesAccepted: (() => void) | ((observableOrValue: Maybe<ArrayOrValue<string>> | rxjs.Observable<Maybe<ArrayOrValue<string>>>) => rxjs.Subscription);
3761
+ /**
3762
+ * Sets the file list to upload.
3763
+ *
3764
+ * If the upload handler is working, the file list cannot be changed.
3765
+ */
3766
+ readonly setFiles: (() => void) | ((observableOrValue: Maybe<File[]> | rxjs.Observable<Maybe<File[]>>) => rxjs.Subscription);
3767
+ readonly setIsMultiUploadAllowed: (() => void) | ((observableOrValue: Maybe<boolean> | rxjs.Observable<Maybe<boolean>>) => rxjs.Subscription);
3768
+ /**
3769
+ * Flags the upload handler to begin working.
3770
+ *
3771
+ * Once the upload handler is flagged, it cannot be unset until the upload handler has finished.
3772
+ */
3773
+ readonly setIsUploadHandlerWorking: (observableOrValue: boolean | rxjs.Observable<boolean>) => rxjs.Subscription;
3774
+ /**
3775
+ * Sets the latest progress event.
3776
+ */
3777
+ readonly setLatestProgressEvent: (() => void) | ((observableOrValue: Maybe<StorageFileUploadFilesEvent> | rxjs.Observable<Maybe<StorageFileUploadFilesEvent>>) => rxjs.Subscription);
3778
+ /**
3779
+ * Updates the upload progress for one or more files.
3780
+ */
3781
+ /**
3782
+ * Sets the upload result.
3783
+ */
3784
+ readonly setUploadResult: (() => void) | ((observableOrValue: Maybe<StorageFileUploadFilesFinalResult> | rxjs.Observable<Maybe<StorageFileUploadFilesFinalResult>>) => rxjs.Subscription);
3785
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileUploadStore, never>;
3786
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseStorageFileUploadStore>;
3787
+ }
3788
+
3789
+ declare class StorageFileCollectionStore extends AbstractDbxFirebaseCollectionStore<StorageFile, StorageFileDocument> {
3790
+ readonly storageFileFunctions: StorageFileFunctions;
3791
+ constructor();
3792
+ readonly initializeAllStorageFilesFromUpload: _dereekb_dbx_firebase.DbxFirebaseCollectionStoreCreateFunction<_dereekb_firebase.InitializeAllStorageFilesFromUploadsParams, _dereekb_firebase.InitializeAllStorageFilesFromUploadsResult>;
3793
+ static ɵfac: i0.ɵɵFactoryDeclaration<StorageFileCollectionStore, never>;
3794
+ static ɵprov: i0.ɵɵInjectableDeclaration<StorageFileCollectionStore>;
3795
+ }
3796
+
3797
+ declare class DbxFirebaseStorageFileCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective<StorageFile, StorageFileDocument, StorageFileCollectionStore> {
3798
+ constructor();
3799
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileCollectionStoreDirective, never>;
3800
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseStorageFileCollectionStoreDirective, "[dbxFirebaseStorageFileCollection]", never, {}, {}, never, never, true, never>;
3801
+ }
3802
+
3803
+ declare class StorageFileDocumentStore extends AbstractDbxFirebaseDocumentStore<StorageFile, StorageFileDocument> {
3804
+ readonly storageFileFunctions: StorageFileFunctions;
3805
+ constructor();
3806
+ readonly createStorageFileFromUpload: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreCreateFunction<_dereekb_firebase.CreateStorageFileParams, _dereekb_firebase.OnCallCreateModelResult>;
3807
+ readonly initializeStorageFileFromUpload: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreCreateFunction<_dereekb_firebase.InitializeStorageFileFromUploadParams, _dereekb_firebase.OnCallCreateModelResult>;
3808
+ readonly initializeAllStorageFilesFromUpload: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreCrudFunction<_dereekb_firebase.InitializeAllStorageFilesFromUploadsParams, _dereekb_firebase.InitializeAllStorageFilesFromUploadsResult>;
3809
+ readonly updateStorageFile: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateStorageFileParams, void>;
3810
+ readonly processStorageFile: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.ProcessStorageFileParams, _dereekb_firebase.ProcessStorageFileResult>;
3811
+ readonly deleteStorageFile: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.DeleteStorageFileParams, void>;
3812
+ readonly downloadStorageFile: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.DownloadStorageFileParams, _dereekb_firebase.DownloadStorageFileResult>;
3813
+ static ɵfac: i0.ɵɵFactoryDeclaration<StorageFileDocumentStore, never>;
3814
+ static ɵprov: i0.ɵɵInjectableDeclaration<StorageFileDocumentStore>;
3815
+ }
3816
+
3817
+ declare class DbxFirebaseStorageFileDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<StorageFile, StorageFileDocument, StorageFileDocumentStore> {
3818
+ constructor();
3819
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileDocumentStoreDirective, never>;
3820
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseStorageFileDocumentStoreDirective, "[dbxFirebaseStorageFileDocument]", never, {}, {}, never, never, true, never>;
3821
+ }
3822
+
3823
+ declare class StorageFileGroupDocumentStore extends AbstractDbxFirebaseDocumentStore<StorageFileGroup, StorageFileGroupDocument> {
3824
+ readonly storageFileFunctions: StorageFileFunctions;
3825
+ constructor();
3826
+ readonly updateStorageFileGroup: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreFunction<_dereekb_firebase.UpdateStorageFileGroupParams, void>;
3827
+ readonly regenerateStorageFileGroupContent: _dereekb_dbx_firebase.DbxFirebaseDocumentStoreCrudFunction<_dereekb_firebase.RegenerateStorageFileGroupContentParams, _dereekb_firebase.RegenerateStorageFileGroupContentResult>;
3828
+ static ɵfac: i0.ɵɵFactoryDeclaration<StorageFileGroupDocumentStore, never>;
3829
+ static ɵprov: i0.ɵɵInjectableDeclaration<StorageFileGroupDocumentStore>;
3830
+ }
3831
+
3832
+ declare class DbxFirebaseStorageFileGroupDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<StorageFileGroup, StorageFileGroupDocument, StorageFileGroupDocumentStore> {
3833
+ constructor();
3834
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileGroupDocumentStoreDirective, never>;
3835
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseStorageFileGroupDocumentStoreDirective, "[dbxFirebaseStorageFileGroupDocument]", never, {}, {}, never, never, true, never>;
3836
+ }
3837
+
3838
+ /**
3839
+ * Service that provides access to the app's FirebaseStorageContext.
3840
+ */
3841
+ declare class DbxFirebaseStorageService implements FirebaseStorageAccessor {
3842
+ readonly storageContext: FirebaseStorageContext<_dereekb_firebase.FirebaseStorage>;
3843
+ defaultBucket(): string;
3844
+ file(path: StoragePathInput): FirebaseStorageAccessorFile;
3845
+ folder(path: StoragePathInput): FirebaseStorageAccessorFolder;
3846
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageService, never>;
3847
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseStorageService>;
3848
+ }
3849
+
3850
+ /**
3851
+ * Creates a new observable for uploading a file.
3852
+ */
3853
+ type StorageFileUploadHandlerFunction = (file: File) => Promise<StorageFileUploadHandlerInstance>;
3854
+ interface StorageFileUploadHandlerInstance extends Pick<StorageUploadTask<FirebaseStorageAccessorFile>, 'taskRef' | 'pause' | 'resume' | 'cancel'> {
3855
+ /**
3856
+ * The upload observable.
3857
+ *
3858
+ * Must be subscribed to in order for the upload to begin.
3859
+ */
3860
+ readonly upload: Observable<DbxFirebaseStorageFileUploadStoreFileProgress>;
3861
+ }
3862
+ /**
3863
+ * Handles uploading files.
3864
+ */
3865
+ interface StorageFileUploadHandler {
3866
+ /**
3867
+ * Uploads a file, and returns the file progress as it is uploading.
3868
+ */
3869
+ readonly uploadFile: StorageFileUploadHandlerFunction;
3870
+ }
3871
+ /**
3872
+ * Configuration for a single file upload.
3873
+ */
3874
+ interface StorageFileUploadConfig {
3875
+ /**
3876
+ * Path for where to upload the file to
3877
+ */
3878
+ readonly storagePath: StoragePathInput;
3879
+ /**
3880
+ * Upload options for the file.
3881
+ *
3882
+ * Resumable is not supported.
3883
+ */
3884
+ readonly uploadOptions?: StorageFileUploadConfigOptions;
3885
+ /**
3886
+ * Custom metadata for the file.
3887
+ *
3888
+ * Is merged with uploadOptions's metadata.
3889
+ */
3890
+ readonly customMetadata?: StorageCustomMetadata;
3891
+ }
3892
+ /**
3893
+ * StorageFileUploadConfig upload options.
3894
+ */
3895
+ type StorageFileUploadConfigOptions = Omit<StorageUploadOptions, 'resumable'>;
3896
+ /**
3897
+ * Function used to generate file names for the uploaded files.
3898
+ *
3899
+ * If not set, the file name will be used as is.
3900
+ */
3901
+ type StorageFileUploadConfigFactory = (file: File) => PromiseOrValue<StorageFileUploadConfig>;
3902
+ /**
3903
+ * Configuration for StorageFileUploadHandler().
3904
+ */
3905
+ interface StorageFileUploadHandlerConfig {
3906
+ readonly storageService: DbxFirebaseStorageService;
3907
+ readonly storageFileUploadConfigFactory: StorageFileUploadConfigFactory;
3908
+ }
3909
+ /**
3910
+ * Default implementation of StorageFileUploadHandler.
3911
+ */
3912
+ declare function storageFileUploadHandler(config: StorageFileUploadHandlerConfig): StorageFileUploadHandler;
3913
+ interface StorageFileUploadFilesInput {
3914
+ readonly uploadHandler: StorageFileUploadHandler;
3915
+ /**
3916
+ * Files to upload
3917
+ */
3918
+ readonly files: File[];
3919
+ /**
3920
+ * The number of max parallel uploads to perform at a time.
3921
+ *
3922
+ * Defaults to 3
3923
+ */
3924
+ readonly maxParallelUploads?: number;
3925
+ }
3926
+ interface StorageFileUploadFilesInstance {
3927
+ /**
3928
+ * Cancels the upload of the remaining files.
3929
+ */
3930
+ cancel(): void;
3931
+ /**
3932
+ * The upload observable.
3933
+ *
3934
+ * Must be subscribed to in order for the upload to begin.
3935
+ */
3936
+ readonly upload: Observable<StorageFileUploadFilesEvent>;
3937
+ }
3938
+ interface StorageFileUploadFilesEvent {
3939
+ /**
3940
+ * All files being uploaded
3941
+ */
3942
+ readonly allFiles: File[];
3943
+ /**
3944
+ * Returns true if all files have been uploaded.
3945
+ *
3946
+ * The result value should be available.
3947
+ */
3948
+ readonly isComplete: boolean;
3949
+ /**
3950
+ * Returns true if the upload was canceled.
3951
+ */
3952
+ readonly isCanceled?: Maybe<boolean>;
3953
+ /**
3954
+ * The overall progress of all files being uploaded.
3955
+ */
3956
+ readonly overallProgress: PercentNumber;
3957
+ /**
3958
+ * The upload progress that triggered this event.
3959
+ */
3960
+ readonly uploadProgress?: Maybe<DbxFirebaseStorageFileUploadStoreFileProgress>;
3961
+ /**
3962
+ * The final result.
3963
+ *
3964
+ * Set when the final file has been uploaded or failed.
3965
+ */
3966
+ readonly result?: StorageFileUploadFilesFinalResult;
3967
+ /**
3968
+ * The number of files that are still uploading or queued for upload.
3969
+ */
3970
+ readonly incompleteFileCount: number;
3971
+ /**
3972
+ * The number of files that are active.
3973
+ */
3974
+ readonly activeFileCount: number;
3975
+ /**
3976
+ * The number of files that are done.
3977
+ */
3978
+ readonly doneFileCount: number;
3979
+ }
3980
+ interface StorageFileUploadFilesFinalResult {
3981
+ readonly startTime: Date;
3982
+ readonly endTime: Date;
3983
+ readonly fileResults: StorageFileUploadFilesFinalFileResult[];
3984
+ readonly successFileResults: StorageFileUploadFilesFinalFileResult[];
3985
+ readonly errorFileResults: StorageFileUploadFilesFinalFileResult[];
3986
+ }
3987
+ interface StorageFileUploadFilesFinalFileResult {
3988
+ /**
3989
+ * The start time of the file upload.
3990
+ */
3991
+ readonly startTime: Date;
3992
+ /**
3993
+ * The end time of the file upload, or when it failed or was canceled.
3994
+ */
3995
+ readonly endTime: Date;
3996
+ /**
3997
+ * The file that was uploaded.
3998
+ */
3999
+ readonly file: File;
4000
+ /**
4001
+ * The accessor file for the file, if available.
4002
+ *
4003
+ * Is generally available if success is true.
4004
+ */
4005
+ readonly fileRef?: Maybe<FirebaseStorageAccessorFile>;
4006
+ /**
4007
+ * True if the file was uploaded successfully.
4008
+ */
4009
+ readonly success: boolean;
4010
+ /**
4011
+ * Error if the file failed to upload.
4012
+ */
4013
+ readonly error?: Maybe<unknown>;
4014
+ /**
4015
+ * True if the file upload was cancelled.
4016
+ */
4017
+ readonly canceled?: Maybe<boolean>;
4018
+ }
4019
+ /**
4020
+ * Uploads files using the provided upload handler and files.
4021
+ *
4022
+ * An observable is returned that emits the latest file events from any file that is being uploaded.
4023
+ *
4024
+ * @param input
4025
+ * @returns
4026
+ */
4027
+ declare function storageFileUploadFiles(input: StorageFileUploadFilesInput): StorageFileUploadFilesInstance;
4028
+
4029
+ /**
4030
+ * Connects a DbxFirebaseStorageFileUploadStore to a DbxActionContext, and handles the upload action.
4031
+ */
4032
+ declare class DbxFirebaseStorageFileUploadActionHandlerDirective {
4033
+ readonly source: DbxActionContextStoreSourceInstance<File[], StorageFileUploadFilesFinalResult>;
4034
+ readonly uploadStore: DbxFirebaseStorageFileUploadStore;
4035
+ readonly _dbxActionHandlerInstance: DbxActionHandlerInstance<File[], StorageFileUploadFilesFinalResult>;
4036
+ /**
4037
+ * If true, the action will be triggered when files are set.
4038
+ *
4039
+ * Defaults to false.
4040
+ */
4041
+ readonly triggerOnFiles: i0.InputSignal<boolean>;
4042
+ readonly triggerOnFiles$: rxjs.Observable<boolean>;
4043
+ /**
4044
+ * Uploading of all/any files should be cancelled if any file fails to upload.
4045
+ *
4046
+ * Any file that was successfully uploaded will not be reverted.
4047
+ *
4048
+ * Defaults to false.
4049
+ */
4050
+ readonly cancelUploadsOnUploadError: i0.InputSignal<boolean>;
4051
+ /**
4052
+ * The upload should fail if any file fails to upload, rather than if all files fail to upload.
4053
+ *
4054
+ * Defaults to false.
4055
+ */
4056
+ readonly actionFailureOnUploadError: i0.InputSignal<boolean>;
4057
+ readonly uploadHandler: i0.InputSignal<Maybe<StorageFileUploadHandler>>;
4058
+ protected readonly _uploadHandlerEffect: i0.EffectRef;
4059
+ readonly files$: rxjs.Observable<File[]>;
4060
+ readonly uploadHandler$: rxjs.Observable<Maybe<StorageFileUploadHandler>>;
4061
+ constructor();
4062
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileUploadActionHandlerDirective, never>;
4063
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseStorageFileUploadActionHandlerDirective, "[dbxFirebaseStorageFileUploadActionHandler]", never, { "triggerOnFiles": { "alias": "triggerOnFiles"; "required": false; "isSignal": true; }; "cancelUploadsOnUploadError": { "alias": "cancelUploadsOnUploadError"; "required": false; "isSignal": true; }; "actionFailureOnUploadError": { "alias": "actionFailureOnUploadError"; "required": false; "isSignal": true; }; "uploadHandler": { "alias": "dbxFirebaseStorageFileUploadActionHandler"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
4064
+ }
4065
+
4066
+ /**
4067
+ * Error that is thrown when a single file fails to upload.
4068
+ */
4069
+ declare class StorageFileUploadFilesError extends BaseError {
4070
+ readonly result: StorageFileUploadFilesFinalResult;
4071
+ constructor(result: StorageFileUploadFilesFinalResult);
4072
+ }
4073
+
4074
+ /**
4075
+ * Directive that passes the upload result to a StorageFileDocumentStore to initialize the document immediately.
4076
+ *
4077
+ * Use with a DbxAction instance.
4078
+ */
4079
+ declare class DbxFirebaseStorageFileUploadInitializeDocumentDirective {
4080
+ readonly uploadStore: DbxFirebaseStorageFileUploadStore;
4081
+ readonly storageFileDocumentStore: StorageFileDocumentStore;
4082
+ readonly initializeWithExpediteProcessing: i0.InputSignal<Maybe<boolean>>;
4083
+ private readonly source;
4084
+ private readonly _dbxActionHandlerInstance;
4085
+ constructor();
4086
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileUploadInitializeDocumentDirective, never>;
4087
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseStorageFileUploadInitializeDocumentDirective, "[dbxFirebaseStorageFileUploadInitializeDocument]", ["dbxFirebaseStorageFileUploadInitializeDocument"], { "initializeWithExpediteProcessing": { "alias": "initializeWithExpediteProcessing"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4088
+ }
4089
+
4090
+ /**
4091
+ * Directive that provides a DbxFirebaseStorageFileUploadStore, and sync's the inputs to the store.
4092
+ */
4093
+ declare class DbxFirebaseStorageFileUploadStoreDirective {
4094
+ readonly uploadStore: DbxFirebaseStorageFileUploadStore;
4095
+ readonly multipleUpload: i0.InputSignal<Maybe<boolean>>;
4096
+ readonly fileTypesAccepted: i0.InputSignal<Maybe<ArrayOrValue<string>>>;
4097
+ readonly fileTypesAccepted$: rxjs.Observable<Maybe<ArrayOrValue<string>>>;
4098
+ readonly isMultiUploadAllowed$: rxjs.Observable<Maybe<boolean>>;
4099
+ constructor();
4100
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileUploadStoreDirective, never>;
4101
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseStorageFileUploadStoreDirective, "[dbxFirebaseStorageFileUploadStore]", ["dbxFirebaseStorageFileUploadStore"], { "multipleUpload": { "alias": "multipleUpload"; "required": false; "isSignal": true; }; "fileTypesAccepted": { "alias": "fileTypesAccepted"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4102
+ }
4103
+
4104
+ /**
4105
+ * Directive that syncs a DbxFirebaseStorageFileUploadStore's configuration to a DbxFileUploadComponent.
4106
+ */
4107
+ declare class DbxFirebaseStorageFileUploadSyncDirective {
4108
+ readonly uploadStore: DbxFirebaseStorageFileUploadStore;
4109
+ readonly uploadComponent: DbxFileUploadComponent;
4110
+ constructor();
4111
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileUploadSyncDirective, never>;
4112
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseStorageFileUploadSyncDirective, "[dbxFirebaseStorageFileUploadSync]", ["dbxFirebaseStorageFileUploadSync"], {}, {}, never, never, true, never>;
4113
+ }
4114
+
4115
+ declare const importsAndExports: (typeof DbxActionModule | typeof DbxLoadingComponent | typeof DbxActionSnackbarErrorDirective | typeof DbxFirebaseStorageFileCollectionStoreDirective | typeof DbxFirebaseStorageFileDocumentStoreDirective | typeof DbxFirebaseStorageFileUploadActionHandlerDirective | typeof DbxFirebaseStorageFileUploadInitializeDocumentDirective | typeof DbxFirebaseStorageFileUploadStoreDirective | typeof DbxFirebaseStorageFileUploadSyncDirective | typeof DbxFileUploadComponent | typeof DbxActionLoadingContextDirective | typeof DbxFileUploadActionSyncDirective)[];
4116
+ /**
4117
+ * Convenience module for importing various modules/components that are relevant to the storage file upload feature.
4118
+ *
4119
+ * - DbxActionModule
4120
+ * - DbxFileUploadComponent
4121
+ * - DbxFirebaseStorageFileUploadActionHandlerDirective
4122
+ * - DbxFirebaseStorageFileUploadStoreDirective
4123
+ * - DbxFirebaseStorageFileUploadSyncDirective
4124
+ * - DbxFirebaseStorageFileUploadInitializeDocumentDirective
4125
+ * - DbxFirebaseStorageFileUploadStore
4126
+ */
4127
+ declare class DbxFirebaseStorageFileUploadModule {
4128
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileUploadModule, never>;
4129
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseStorageFileUploadModule, never, [typeof i1.DbxActionModule, typeof i1.DbxLoadingComponent, typeof i1.DbxActionLoadingContextDirective, typeof i1.DbxActionSnackbarErrorDirective, typeof i1.DbxFileUploadComponent, typeof i1.DbxFileUploadActionSyncDirective, typeof DbxFirebaseStorageFileUploadActionHandlerDirective, typeof DbxFirebaseStorageFileUploadStoreDirective, typeof DbxFirebaseStorageFileUploadSyncDirective, typeof DbxFirebaseStorageFileUploadInitializeDocumentDirective, typeof DbxFirebaseStorageFileCollectionStoreDirective, typeof DbxFirebaseStorageFileDocumentStoreDirective], [typeof i1.DbxActionModule, typeof i1.DbxLoadingComponent, typeof i1.DbxActionLoadingContextDirective, typeof i1.DbxActionSnackbarErrorDirective, typeof i1.DbxFileUploadComponent, typeof i1.DbxFileUploadActionSyncDirective, typeof DbxFirebaseStorageFileUploadActionHandlerDirective, typeof DbxFirebaseStorageFileUploadStoreDirective, typeof DbxFirebaseStorageFileUploadSyncDirective, typeof DbxFirebaseStorageFileUploadInitializeDocumentDirective, typeof DbxFirebaseStorageFileCollectionStoreDirective, typeof DbxFirebaseStorageFileDocumentStoreDirective]>;
4130
+ static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseStorageFileUploadModule>;
4131
+ }
4132
+
4133
+ /**
4134
+ * Factory function for creating a StorageAccessor for the model view tracker.
4135
+ */
4136
+ declare function defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory(storageAccessorFactory: SimpleStorageAccessorFactory): StorageAccessor<DbxFirebaseStorageFileDownloadUserCache>;
4137
+ /**
4138
+ * Creates EnvironmentProviders for providing DbxModelTrackerService, DbxModelObjectStateService and sets up the NgRx store for DbxModelTrackerEffects.
4139
+ *
4140
+ * @returns EnvironmentProviders
4141
+ */
4142
+ declare function provideDbxFirebaseStorageFileService(): EnvironmentProviders;
4143
+
4144
+ declare class FlatFirestoreModelKeyPipe implements PipeTransform {
4145
+ transform(input: Maybe<FirestoreModelKey>): string;
4146
+ static ɵfac: i0.ɵɵFactoryDeclaration<FlatFirestoreModelKeyPipe, never>;
4147
+ static ɵpipe: i0.ɵɵPipeDeclaration<FlatFirestoreModelKeyPipe, "flatFirestoreModelKey", true>;
4148
+ }
4149
+
4150
+ declare class TwoWayFlatFirestoreModelKeyPipe implements PipeTransform {
4151
+ transform(input: Maybe<FirestoreModelKey>): string;
4152
+ static ɵfac: i0.ɵɵFactoryDeclaration<TwoWayFlatFirestoreModelKeyPipe, never>;
4153
+ static ɵpipe: i0.ɵɵPipeDeclaration<TwoWayFlatFirestoreModelKeyPipe, "twoWayFlatFirestoreModelKey", true>;
4154
+ }
4155
+
4156
+ declare const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY = "id";
4157
+ declare const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY = "key";
4158
+ declare const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE = "0";
4159
+ /**
4160
+ * Used to read an id with a specific key from the current route.
4161
+ *
4162
+ * Can be configured to redirect to a default route if a specific value is seen.
4163
+ */
4164
+ interface DbxFirebaseIdRouteParamRedirect extends DbxRouteParamReader<ModelKey> {
4165
+ /**
4166
+ * The id value as it is from the current state's params.
4167
+ */
4168
+ readonly idFromParams$: Observable<Maybe<ModelKey>>;
4169
+ /**
4170
+ * The id value as it is when considering the default value.
4171
+ */
4172
+ readonly id$: Observable<Maybe<ModelKey>>;
4173
+ setRedirectEnabled(redirect: Maybe<boolean>): void;
4174
+ setDecider(decider: string | SwitchMapToDefaultFilterFunction<ModelKey>): void;
4175
+ }
4176
+ /**
4177
+ * DbxFirebaseIdRouteParamRedirect instance
4178
+ */
4179
+ interface DbxFirebaseIdRouteParamRedirectInstance extends DbxFirebaseIdRouteParamRedirect, DbxRouteParamReader<ModelKey>, Initialized, Destroyable {
4180
+ readonly paramValue$: Observable<Maybe<string>>;
4181
+ readonly defaultValue$: Observable<Maybe<string>>;
4182
+ readonly value$: Observable<Maybe<string>>;
4183
+ readonly idFromParams$: Observable<Maybe<ModelKey>>;
4184
+ readonly id$: Observable<Maybe<ModelKey>>;
4185
+ setParamKey(paramKey: string): void;
4186
+ setDefaultValue(defaultValue: MaybeObservableOrValueGetter<string>): void;
4187
+ setRedirectEnabled(redirect: Maybe<boolean>): void;
4188
+ setDecider(decider: string | SwitchMapToDefaultFilterFunction<ModelKey>): void;
4189
+ setParamValue(value: MaybeObservableOrValueGetter<string>): void;
4190
+ }
4191
+ declare function dbxFirebaseKeyRouteParamRedirect(dbxRouterService: DbxRouterService, defaultParamKey?: string): DbxFirebaseIdRouteParamRedirectInstance;
4192
+ declare function dbxFirebaseIdRouteParamRedirect(dbxRouterService: DbxRouterService, defaultParamKey?: string): DbxFirebaseIdRouteParamRedirectInstance;
4193
+
4194
+ /**
4195
+ * Token to access the FirebaseStorageContextConfig value.
4196
+ */
4197
+ declare const DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN: InjectionToken<unknown>;
4198
+ /**
4199
+ * Token to access the FirebaseStorageContext value.
4200
+ */
4201
+ declare const DBX_FIREBASE_STORAGE_CONTEXT_TOKEN: InjectionToken<unknown>;
4202
+
4203
+ type DbxFirebaseStorageContextConfigFactory = (app: FirebaseApp, injector: Injector) => FirebaseStorageContextFactoryConfig;
4204
+ /**
4205
+ * The default factory function for the DbxFirebaseStorageContext.
4206
+ *
4207
+ * @param base Optional base configuration to use.
4208
+ * @returns Factory function for the DbxFirebaseStorageContext.
4209
+ */
4210
+ declare function dbxFirebaseStorageProvidersContextConfigFactory(base?: FirebaseStorageContextFactoryConfig): DbxFirebaseStorageContextConfigFactory;
4211
+ /**
4212
+ * Configuration for provideDbxFirebaseStorage().
4213
+ */
4214
+ interface ProvideDbxFirebaseStorageConfig {
4215
+ /**
4216
+ * Optional context config to provide.
4217
+ */
4218
+ readonly contextConfig?: FirebaseStorageContextFactoryConfig;
4219
+ /**
4220
+ * Optional factory function to provide the context config.
4221
+ */
4222
+ readonly contextConfigFactory?: DbxFirebaseStorageContextConfigFactory;
4223
+ }
4224
+ /**
4225
+ * Creates EnvironmentProviders for the DbxFirebaseStorageService.
4226
+ *
4227
+ * @param config
4228
+ * @returns
4229
+ */
4230
+ declare function providedDbxFirebaseStorage(config?: ProvideDbxFirebaseStorageConfig): EnvironmentProviders;
4231
+
4232
+ declare class DbxFirebaseModule {
4233
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModule, never>;
4234
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModule, never, never, [typeof DbxFirebaseModelModule]>;
4235
+ static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModule>;
4236
+ }
4237
+
4238
+ /**
4239
+ * Factory for DbxFirebaseModelTypesServiceConfig.
4240
+ */
4241
+ type DbxFirebaseModelTypesServiceConfigFactory = (injector: Injector) => DbxFirebaseModelTypesServiceConfig;
4242
+ /**
4243
+ * Configuration for provideDbxFirebaseModelTypesService().
4244
+ */
4245
+ interface ProvideDbxFirebaseModelTypesServiceConfig {
4246
+ /**
4247
+ * Factory for DbxFirebaseModelTypesServiceConfig.
4248
+ */
4249
+ readonly dbxFirebaseModelTypesServiceConfigFactory: DbxFirebaseModelTypesServiceConfigFactory;
4250
+ }
4251
+
4252
+ interface ProvideDbxFirebaseConfig<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap> {
4253
+ readonly app: ProvideDbxFirebaseAppConfig;
4254
+ readonly emulator: ProvideDbxFirebaseEmulatorsConfig;
4255
+ readonly storage: ProvideDbxFirebaseStorageConfig;
4256
+ readonly auth: ProvideDbxFirebaseAuthConfig;
4257
+ readonly functions: ProvideDbxFirebaseFunctionsConfig<T, M>;
4258
+ readonly firestores: ArrayOrValue<ProvideDbxFirebaseFirestoreCollectionConfig<any>>;
4259
+ /**
4260
+ * Configuration for provideDbxFirebaseModelContextService().
4261
+ */
4262
+ readonly modelContextService: ProvideDbxFirebaseModelContextServiceConfig<any>;
4263
+ /**
4264
+ * Configuration for provideDbxFirebaseModelTypesService().
4265
+ */
4266
+ readonly modelTypesService: ProvideDbxFirebaseModelTypesServiceConfig;
4267
+ /**
4268
+ * Configuration for provideDbxFirebaseModelEntitiesWidgetService().
4269
+ */
4270
+ readonly modelEntitiesWidgetService?: Maybe<ProvideDbxFirebaseModelEntitiesWidgetServiceConfig>;
4271
+ /**
4272
+ * Configuration for provideDbxFirebaseDevelopment.
4273
+ *
4274
+ * If false, provideDbxFirebaseDevelopment() will not be provided/called.
4275
+ */
4276
+ readonly development?: ProvideDbxFirebaseDevelopmentConfig | false;
4277
+ /**
4278
+ * Configuration for provideDbxFirebaseNotifications().
4279
+ *
4280
+ * If not provided, provideDbxFirebaseNotifications() will not be provided/called.
4281
+ */
4282
+ readonly notifications?: ProvideDbxFirebaseNotificationsConfig;
4283
+ /**
4284
+ * If true, provideDbxFirebaseAnalyticsUserEventsListenerService() will be provided/called.
4285
+ */
4286
+ readonly provideAnalyticsUserEventsListener?: Maybe<boolean>;
4287
+ /**
4288
+ * If true, provideDbxFirebaseStorageFileService() will be provided/called.
4289
+ */
4290
+ readonly provideStorageFileService?: Maybe<boolean>;
4291
+ }
4292
+ /**
4293
+ * All-in-one provider for providing the main configurations for DbxFirebase.
4294
+ *
4295
+ * Requires the following already be provided/called:
4296
+ * - provideDbxModelService()
4297
+ *
4298
+ * @param config Configuration for provideDbxFirebase().
4299
+ * @returns EnvironmentProviders for the DbxFirebase configuration.
4300
+ */
4301
+ declare function provideDbxFirebase<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap>(config: ProvideDbxFirebaseConfig<T, M>): EnvironmentProviders;
4302
+
4303
+ export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseModelEntityWidgetDirective, AbstractDbxFirebaseNotificationItemWidgetComponent, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION, DBX_FIREBASE_APP_OPTIONS_TOKEN, DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN, DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY, DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserEventsListenerService, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthLoginService, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, DbxFirebaseDocumentStoreContextStore, DbxFirebaseDocumentStoreContextStoreDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorService, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelContextService, DbxFirebaseModelEntitiesComponent, DbxFirebaseModelEntitiesDebugWidgetComponent, DbxFirebaseModelEntitiesPopoverButtonComponent, DbxFirebaseModelEntitiesPopoverComponent, DbxFirebaseModelEntitiesSource, DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelKeyComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileGroupDocumentStoreDirective, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FlatFirestoreModelKeyPipe, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileGroupDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelEntityWidgetInjectionConfigFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, importsAndExports, isDbxFirebaseModelEntityWithStore, linkDocumentStoreToParentContextStores, modelDoesNotExistError, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreContextStore, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseEmulator, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseModelEntitiesWidgetService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
4304
+ export type { AuthRolesObsWithClaimsServiceConfig, AuthUserInfo, AuthUserStateObsFunction, DbxFirebaseAnalyticsUserPropertiesFactory, DbxFirebaseAppCheckConfig, DbxFirebaseAppOptions, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginPasswordConfig, DbxFirebaseAuthLoginProvider, DbxFirebaseAuthLoginProviderAssets, DbxFirebaseCollectionChangeTrigger, DbxFirebaseCollectionChangeTriggerFunction, DbxFirebaseCollectionChangeTriggerInstanceConfig, DbxFirebaseCollectionChangeWatcher, DbxFirebaseCollectionChangeWatcherEvent, DbxFirebaseCollectionChangeWatcherInstance, DbxFirebaseCollectionChangeWatcherTriggerMode, DbxFirebaseCollectionHasChangeDirectiveMode, DbxFirebaseCollectionLoader, DbxFirebaseCollectionLoaderAccessor, DbxFirebaseCollectionLoaderAccessorWithAccumulator, DbxFirebaseCollectionLoaderInstanceData, DbxFirebaseCollectionLoaderInstanceInitConfig, DbxFirebaseCollectionLoaderWithAccumulator, DbxFirebaseCollectionMode, DbxFirebaseCollectionStore, DbxFirebaseCollectionStoreContextState, DbxFirebaseCollectionStoreCreateFunction, DbxFirebaseCollectionStoreCrudFunction, DbxFirebaseCollectionWithParentStore, DbxFirebaseCollectionWithParentStoreContextState, DbxFirebaseComponentStoreSetParentEffectFunction, DbxFirebaseComponentStoreWithParent, DbxFirebaseComponentStoreWithParentContextState, DbxFirebaseComponentStoreWithParentSetParentEffectFunction, DbxFirebaseComponentStoreWithParentSetParentSourceModeFunction, DbxFirebaseComponentStoreWithParentSetParentStoreEffectFunction, DbxFirebaseComponentStoreWithParentSourceMode, DbxFirebaseDevelopmentPopupContentFormInput, DbxFirebaseDevelopmentPopupContentFormValue, DbxFirebaseDevelopmentWidgetEntry, DbxFirebaseDocumentLoader, DbxFirebaseDocumentLoaderInstanceInitConfig, DbxFirebaseDocumentReadOnlyStore, DbxFirebaseDocumentStore, DbxFirebaseDocumentStoreContextState, DbxFirebaseDocumentStoreContextStoreEntry, DbxFirebaseDocumentStoreContextStoreEntryNumber, DbxFirebaseDocumentStoreContextStoreEntryWithIdentity, DbxFirebaseDocumentStoreContextStoreState, DbxFirebaseDocumentStoreCreateFunction, DbxFirebaseDocumentStoreCrudFunction, DbxFirebaseDocumentStoreFunction, DbxFirebaseDocumentStoreFunctionParams, DbxFirebaseDocumentStoreFunctionParamsInput, DbxFirebaseDocumentWithParentStore, DbxFirebaseDocumentWithParentStoreContextState, DbxFirebaseEmailFormConfig, DbxFirebaseEmailFormValue, DbxFirebaseEmailRecoveryFormValue, DbxFirebaseEmulatorConfig, DbxFirebaseEmulatorsConfig, DbxFirebaseEnvironmentOptions, DbxFirebaseIdRouteParamRedirect, DbxFirebaseIdRouteParamRedirectInstance, DbxFirebaseInContextFirebaseModelInfoServiceInstance, DbxFirebaseInContextFirebaseModelRolesServiceInstance, DbxFirebaseInContextFirebaseModelServiceInstance, DbxFirebaseInContextFirebaseModelServiceInstanceFactory, DbxFirebaseLoginButtonConfig, DbxFirebaseLoginEmailContentComponentConfig, DbxFirebaseLoginEmailContentMode, DbxFirebaseLoginListItemInjectionComponentConfig, DbxFirebaseLoginMode, DbxFirebaseModelContextServiceFactory, DbxFirebaseModelContextServiceInfoInstanceFactory, DbxFirebaseModelContextServiceInfoInstanceFactoryConfig, DbxFirebaseModelDisplayInfo, DbxFirebaseModelEntitiesPopoverButtonConfig, DbxFirebaseModelEntitiesPopoverConfig, DbxFirebaseModelEntitiesPopoverConfigWithoutOrigin, DbxFirebaseModelEntitiesWidgetEntry, DbxFirebaseModelEntitiesWidgetInjectionConfig, DbxFirebaseModelEntitiesWidgetInjectionConfigFactory, DbxFirebaseModelEntitiesWidgetServiceConfigFactory, DbxFirebaseModelEntity, DbxFirebaseModelEntityWithKey, DbxFirebaseModelEntityWithKeyAndStore, DbxFirebaseModelEntityWithStore, DbxFirebaseModelHistoryPopoverButtonConfig, DbxFirebaseModelHistoryPopoverConfig, DbxFirebaseModelHistoryPopoverConfigWithoutOrigin, DbxFirebaseModelTrackerFilterItem, DbxFirebaseModelTrackerHistoryFilter, DbxFirebaseModelTypeInfo, DbxFirebaseModelTypeInstanceListItem, DbxFirebaseModelTypesMap, DbxFirebaseModelTypesServiceEntry, DbxFirebaseModelTypesServiceInstance, DbxFirebaseModelTypesServiceInstancePair, DbxFirebaseModelTypesServiceInstancePairForKeysFactory, DbxFirebaseNotificationItemStorePopoverButtonConfig, DbxFirebaseNotificationItemStorePopoverParams, DbxFirebaseNotificationItemStoreState, DbxFirebaseNotificationItemWidgetEntry, DbxFirebaseNotificationItemWidgetEntryRegistration, DbxFirebaseSourceSelectLoadSourceConfig, DbxFirebaseStorageContextConfigFactory, DbxFirebaseStorageFileDownloadButtonConfig, DbxFirebaseStorageFileDownloadButtonSource, DbxFirebaseStorageFileDownloadDetails, DbxFirebaseStorageFileDownloadServiceCustomSource, DbxFirebaseStorageFileDownloadServiceCustomSourceDownloadFunction, DbxFirebaseStorageFileDownloadUrlPair, DbxFirebaseStorageFileDownloadUrlPairString, DbxFirebaseStorageFileDownloadUrlPairsRecord, DbxFirebaseStorageFileDownloadUserCache, DbxFirebaseStorageFileUploadStoreAllowedTypes, DbxFirebaseStorageFileUploadStoreFileProgress, DbxFirebaseStorageFileUploadStoreState, DbxFirebaseStorageFileUploadStoreUploadStage, DbxLimitedFirebaseDocumentLoader, DefaultDbxFirebaseAuthServiceDelegateWithClaimsServiceConfig, FirebaseLoginMethodCategory, FirebaseLoginMethodType, KnownFirebaseLoginMethodCategory, KnownFirebaseLoginMethodType, NotificationItemWithSelection, ProvideDbxFirebaseAppConfig, ProvideDbxFirebaseAuthConfig, ProvideDbxFirebaseConfig, ProvideDbxFirebaseDevelopmentConfig, ProvideDbxFirebaseEmulatorsConfig, ProvideDbxFirebaseFirestoreCollectionConfig, ProvideDbxFirebaseFunctionsConfig, ProvideDbxFirebaseLoginConfig, ProvideDbxFirebaseModelContextServiceConfig, ProvideDbxFirebaseModelEntitiesWidgetServiceConfig, ProvideDbxFirebaseNotificationsConfig, ProvideDbxFirebaseStorageConfig, ScheduledFunctionDevelopmentFirebaseFunctionListEntryWithSelection, StateFromTokenFunction, StorageFileUploadConfig, StorageFileUploadConfigFactory, StorageFileUploadConfigOptions, StorageFileUploadFilesEvent, StorageFileUploadFilesFinalFileResult, StorageFileUploadFilesFinalResult, StorageFileUploadFilesInput, StorageFileUploadFilesInstance, StorageFileUploadHandler, StorageFileUploadHandlerConfig, StorageFileUploadHandlerFunction, StorageFileUploadHandlerInstance };