@tracelog/lib 0.11.2 → 0.11.4

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 (539) hide show
  1. package/dist/browser/tracelog.esm.js +308 -251
  2. package/dist/browser/tracelog.esm.js.map +1 -1
  3. package/dist/browser/tracelog.js +2 -2
  4. package/dist/browser/tracelog.js.map +1 -1
  5. package/dist/public-api.cjs +4427 -0
  6. package/dist/public-api.cjs.map +1 -0
  7. package/dist/public-api.d.mts +913 -0
  8. package/dist/public-api.d.ts +913 -0
  9. package/dist/public-api.js +4388 -0
  10. package/dist/public-api.js.map +1 -0
  11. package/package.json +17 -18
  12. package/dist/cjs/api.d.ts +0 -19
  13. package/dist/cjs/api.d.ts.map +0 -1
  14. package/dist/cjs/api.js +0 -183
  15. package/dist/cjs/api.js.map +0 -1
  16. package/dist/cjs/app.constants.d.ts +0 -80
  17. package/dist/cjs/app.constants.d.ts.map +0 -1
  18. package/dist/cjs/app.constants.js +0 -94
  19. package/dist/cjs/app.constants.js.map +0 -1
  20. package/dist/cjs/app.d.ts +0 -43
  21. package/dist/cjs/app.d.ts.map +0 -1
  22. package/dist/cjs/app.js +0 -165
  23. package/dist/cjs/app.js.map +0 -1
  24. package/dist/cjs/constants/config.constants.d.ts +0 -109
  25. package/dist/cjs/constants/config.constants.d.ts.map +0 -1
  26. package/dist/cjs/constants/config.constants.js +0 -216
  27. package/dist/cjs/constants/config.constants.js.map +0 -1
  28. package/dist/cjs/constants/error.constants.d.ts +0 -56
  29. package/dist/cjs/constants/error.constants.d.ts.map +0 -1
  30. package/dist/cjs/constants/error.constants.js +0 -89
  31. package/dist/cjs/constants/error.constants.js.map +0 -1
  32. package/dist/cjs/constants/index.d.ts +0 -5
  33. package/dist/cjs/constants/index.d.ts.map +0 -1
  34. package/dist/cjs/constants/index.js +0 -21
  35. package/dist/cjs/constants/index.js.map +0 -1
  36. package/dist/cjs/constants/performance.constants.d.ts +0 -29
  37. package/dist/cjs/constants/performance.constants.d.ts.map +0 -1
  38. package/dist/cjs/constants/performance.constants.js +0 -44
  39. package/dist/cjs/constants/performance.constants.js.map +0 -1
  40. package/dist/cjs/constants/storage.constants.d.ts +0 -11
  41. package/dist/cjs/constants/storage.constants.d.ts.map +0 -1
  42. package/dist/cjs/constants/storage.constants.js +0 -23
  43. package/dist/cjs/constants/storage.constants.js.map +0 -1
  44. package/dist/cjs/handlers/click.handler.d.ts +0 -36
  45. package/dist/cjs/handlers/click.handler.d.ts.map +0 -1
  46. package/dist/cjs/handlers/click.handler.js +0 -263
  47. package/dist/cjs/handlers/click.handler.js.map +0 -1
  48. package/dist/cjs/handlers/error.handler.d.ts +0 -28
  49. package/dist/cjs/handlers/error.handler.d.ts.map +0 -1
  50. package/dist/cjs/handlers/error.handler.js +0 -168
  51. package/dist/cjs/handlers/error.handler.js.map +0 -1
  52. package/dist/cjs/handlers/page-view.handler.d.ts +0 -17
  53. package/dist/cjs/handlers/page-view.handler.d.ts.map +0 -1
  54. package/dist/cjs/handlers/page-view.handler.js +0 -100
  55. package/dist/cjs/handlers/page-view.handler.js.map +0 -1
  56. package/dist/cjs/handlers/performance.handler.d.ts +0 -23
  57. package/dist/cjs/handlers/performance.handler.d.ts.map +0 -1
  58. package/dist/cjs/handlers/performance.handler.js +0 -274
  59. package/dist/cjs/handlers/performance.handler.js.map +0 -1
  60. package/dist/cjs/handlers/scroll.handler.d.ts +0 -40
  61. package/dist/cjs/handlers/scroll.handler.d.ts.map +0 -1
  62. package/dist/cjs/handlers/scroll.handler.js +0 -327
  63. package/dist/cjs/handlers/scroll.handler.js.map +0 -1
  64. package/dist/cjs/handlers/session.handler.d.ts +0 -16
  65. package/dist/cjs/handlers/session.handler.d.ts.map +0 -1
  66. package/dist/cjs/handlers/session.handler.js +0 -74
  67. package/dist/cjs/handlers/session.handler.js.map +0 -1
  68. package/dist/cjs/handlers/viewport.handler.d.ts +0 -44
  69. package/dist/cjs/handlers/viewport.handler.d.ts.map +0 -1
  70. package/dist/cjs/handlers/viewport.handler.js +0 -286
  71. package/dist/cjs/handlers/viewport.handler.js.map +0 -1
  72. package/dist/cjs/integrations/google-analytics.integration.d.ts +0 -18
  73. package/dist/cjs/integrations/google-analytics.integration.d.ts.map +0 -1
  74. package/dist/cjs/integrations/google-analytics.integration.js +0 -90
  75. package/dist/cjs/integrations/google-analytics.integration.js.map +0 -1
  76. package/dist/cjs/listeners/activity-listener-manager.d.ts +0 -9
  77. package/dist/cjs/listeners/activity-listener-manager.d.ts.map +0 -1
  78. package/dist/cjs/listeners/activity-listener-manager.js +0 -33
  79. package/dist/cjs/listeners/activity-listener-manager.js.map +0 -1
  80. package/dist/cjs/listeners/index.d.ts +0 -7
  81. package/dist/cjs/listeners/index.d.ts.map +0 -1
  82. package/dist/cjs/listeners/index.js +0 -15
  83. package/dist/cjs/listeners/index.js.map +0 -1
  84. package/dist/cjs/listeners/input-listener-managers.d.ts +0 -25
  85. package/dist/cjs/listeners/input-listener-managers.d.ts.map +0 -1
  86. package/dist/cjs/listeners/input-listener-managers.js +0 -50
  87. package/dist/cjs/listeners/input-listener-managers.js.map +0 -1
  88. package/dist/cjs/listeners/listeners.types.d.ts +0 -5
  89. package/dist/cjs/listeners/listeners.types.d.ts.map +0 -1
  90. package/dist/cjs/listeners/listeners.types.js +0 -3
  91. package/dist/cjs/listeners/listeners.types.js.map +0 -1
  92. package/dist/cjs/listeners/touch-listener-manager.d.ts +0 -9
  93. package/dist/cjs/listeners/touch-listener-manager.d.ts.map +0 -1
  94. package/dist/cjs/listeners/touch-listener-manager.js +0 -35
  95. package/dist/cjs/listeners/touch-listener-manager.js.map +0 -1
  96. package/dist/cjs/listeners/unload-listener-manager.d.ts +0 -9
  97. package/dist/cjs/listeners/unload-listener-manager.d.ts.map +0 -1
  98. package/dist/cjs/listeners/unload-listener-manager.js +0 -31
  99. package/dist/cjs/listeners/unload-listener-manager.js.map +0 -1
  100. package/dist/cjs/listeners/visibility-listener-manager.d.ts +0 -10
  101. package/dist/cjs/listeners/visibility-listener-manager.d.ts.map +0 -1
  102. package/dist/cjs/listeners/visibility-listener-manager.js +0 -48
  103. package/dist/cjs/listeners/visibility-listener-manager.js.map +0 -1
  104. package/dist/cjs/managers/event.manager.d.ts +0 -62
  105. package/dist/cjs/managers/event.manager.d.ts.map +0 -1
  106. package/dist/cjs/managers/event.manager.js +0 -508
  107. package/dist/cjs/managers/event.manager.js.map +0 -1
  108. package/dist/cjs/managers/sender.manager.d.ts +0 -32
  109. package/dist/cjs/managers/sender.manager.d.ts.map +0 -1
  110. package/dist/cjs/managers/sender.manager.js +0 -271
  111. package/dist/cjs/managers/sender.manager.js.map +0 -1
  112. package/dist/cjs/managers/session.manager.d.ts +0 -40
  113. package/dist/cjs/managers/session.manager.d.ts.map +0 -1
  114. package/dist/cjs/managers/session.manager.js +0 -282
  115. package/dist/cjs/managers/session.manager.js.map +0 -1
  116. package/dist/cjs/managers/state.manager.d.ts +0 -9
  117. package/dist/cjs/managers/state.manager.d.ts.map +0 -1
  118. package/dist/cjs/managers/state.manager.js +0 -27
  119. package/dist/cjs/managers/state.manager.js.map +0 -1
  120. package/dist/cjs/managers/storage.manager.d.ts +0 -60
  121. package/dist/cjs/managers/storage.manager.d.ts.map +0 -1
  122. package/dist/cjs/managers/storage.manager.js +0 -277
  123. package/dist/cjs/managers/storage.manager.js.map +0 -1
  124. package/dist/cjs/managers/user.manager.d.ts +0 -17
  125. package/dist/cjs/managers/user.manager.d.ts.map +0 -1
  126. package/dist/cjs/managers/user.manager.js +0 -31
  127. package/dist/cjs/managers/user.manager.js.map +0 -1
  128. package/dist/cjs/public-api.d.ts +0 -11
  129. package/dist/cjs/public-api.d.ts.map +0 -1
  130. package/dist/cjs/public-api.js +0 -32
  131. package/dist/cjs/public-api.js.map +0 -1
  132. package/dist/cjs/test-bridge.d.ts +0 -47
  133. package/dist/cjs/test-bridge.d.ts.map +0 -1
  134. package/dist/cjs/test-bridge.js +0 -165
  135. package/dist/cjs/test-bridge.js.map +0 -1
  136. package/dist/cjs/types/common.types.d.ts +0 -6
  137. package/dist/cjs/types/common.types.d.ts.map +0 -1
  138. package/dist/cjs/types/common.types.js +0 -3
  139. package/dist/cjs/types/common.types.js.map +0 -1
  140. package/dist/cjs/types/config.types.d.ts +0 -49
  141. package/dist/cjs/types/config.types.d.ts.map +0 -1
  142. package/dist/cjs/types/config.types.js +0 -9
  143. package/dist/cjs/types/config.types.js.map +0 -1
  144. package/dist/cjs/types/device.types.d.ts +0 -7
  145. package/dist/cjs/types/device.types.d.ts.map +0 -1
  146. package/dist/cjs/types/device.types.js +0 -11
  147. package/dist/cjs/types/device.types.js.map +0 -1
  148. package/dist/cjs/types/emitter.types.d.ts +0 -12
  149. package/dist/cjs/types/emitter.types.d.ts.map +0 -1
  150. package/dist/cjs/types/emitter.types.js +0 -9
  151. package/dist/cjs/types/emitter.types.js.map +0 -1
  152. package/dist/cjs/types/error.types.d.ts +0 -12
  153. package/dist/cjs/types/error.types.d.ts.map +0 -1
  154. package/dist/cjs/types/error.types.js +0 -23
  155. package/dist/cjs/types/error.types.js.map +0 -1
  156. package/dist/cjs/types/event.types.d.ts +0 -235
  157. package/dist/cjs/types/event.types.d.ts.map +0 -1
  158. package/dist/cjs/types/event.types.js +0 -48
  159. package/dist/cjs/types/event.types.js.map +0 -1
  160. package/dist/cjs/types/index.d.ts +0 -17
  161. package/dist/cjs/types/index.d.ts.map +0 -1
  162. package/dist/cjs/types/index.js +0 -33
  163. package/dist/cjs/types/index.js.map +0 -1
  164. package/dist/cjs/types/log.types.d.ts +0 -5
  165. package/dist/cjs/types/log.types.d.ts.map +0 -1
  166. package/dist/cjs/types/log.types.js +0 -3
  167. package/dist/cjs/types/log.types.js.map +0 -1
  168. package/dist/cjs/types/mode.types.d.ts +0 -7
  169. package/dist/cjs/types/mode.types.d.ts.map +0 -1
  170. package/dist/cjs/types/mode.types.js +0 -11
  171. package/dist/cjs/types/mode.types.js.map +0 -1
  172. package/dist/cjs/types/queue.types.d.ts +0 -19
  173. package/dist/cjs/types/queue.types.d.ts.map +0 -1
  174. package/dist/cjs/types/queue.types.js +0 -3
  175. package/dist/cjs/types/queue.types.js.map +0 -1
  176. package/dist/cjs/types/scroll.types.d.ts +0 -16
  177. package/dist/cjs/types/scroll.types.d.ts.map +0 -1
  178. package/dist/cjs/types/scroll.types.js +0 -12
  179. package/dist/cjs/types/scroll.types.js.map +0 -1
  180. package/dist/cjs/types/session.types.d.ts +0 -2
  181. package/dist/cjs/types/session.types.d.ts.map +0 -1
  182. package/dist/cjs/types/session.types.js +0 -3
  183. package/dist/cjs/types/session.types.js.map +0 -1
  184. package/dist/cjs/types/state.types.d.ts +0 -16
  185. package/dist/cjs/types/state.types.d.ts.map +0 -1
  186. package/dist/cjs/types/state.types.js +0 -3
  187. package/dist/cjs/types/state.types.js.map +0 -1
  188. package/dist/cjs/types/test-bridge.types.d.ts +0 -40
  189. package/dist/cjs/types/test-bridge.types.d.ts.map +0 -1
  190. package/dist/cjs/types/test-bridge.types.js +0 -3
  191. package/dist/cjs/types/test-bridge.types.js.map +0 -1
  192. package/dist/cjs/types/validation-error.types.d.ts +0 -44
  193. package/dist/cjs/types/validation-error.types.d.ts.map +0 -1
  194. package/dist/cjs/types/validation-error.types.js +0 -70
  195. package/dist/cjs/types/validation-error.types.js.map +0 -1
  196. package/dist/cjs/types/viewport.types.d.ts +0 -55
  197. package/dist/cjs/types/viewport.types.d.ts.map +0 -1
  198. package/dist/cjs/types/viewport.types.js +0 -3
  199. package/dist/cjs/types/viewport.types.js.map +0 -1
  200. package/dist/cjs/types/window.types.d.ts +0 -16
  201. package/dist/cjs/types/window.types.d.ts.map +0 -1
  202. package/dist/cjs/types/window.types.js +0 -3
  203. package/dist/cjs/types/window.types.js.map +0 -1
  204. package/dist/cjs/utils/browser/device-detector.utils.d.ts +0 -7
  205. package/dist/cjs/utils/browser/device-detector.utils.d.ts.map +0 -1
  206. package/dist/cjs/utils/browser/device-detector.utils.js +0 -50
  207. package/dist/cjs/utils/browser/device-detector.utils.js.map +0 -1
  208. package/dist/cjs/utils/browser/index.d.ts +0 -4
  209. package/dist/cjs/utils/browser/index.d.ts.map +0 -1
  210. package/dist/cjs/utils/browser/index.js +0 -20
  211. package/dist/cjs/utils/browser/index.js.map +0 -1
  212. package/dist/cjs/utils/browser/qa-mode.utils.d.ts +0 -14
  213. package/dist/cjs/utils/browser/qa-mode.utils.d.ts.map +0 -1
  214. package/dist/cjs/utils/browser/qa-mode.utils.js +0 -44
  215. package/dist/cjs/utils/browser/qa-mode.utils.js.map +0 -1
  216. package/dist/cjs/utils/browser/utm-params.utils.d.ts +0 -7
  217. package/dist/cjs/utils/browser/utm-params.utils.d.ts.map +0 -1
  218. package/dist/cjs/utils/browser/utm-params.utils.js +0 -23
  219. package/dist/cjs/utils/browser/utm-params.utils.js.map +0 -1
  220. package/dist/cjs/utils/data/index.d.ts +0 -2
  221. package/dist/cjs/utils/data/index.d.ts.map +0 -1
  222. package/dist/cjs/utils/data/index.js +0 -18
  223. package/dist/cjs/utils/data/index.js.map +0 -1
  224. package/dist/cjs/utils/data/uuid.utils.d.ts +0 -19
  225. package/dist/cjs/utils/data/uuid.utils.d.ts.map +0 -1
  226. package/dist/cjs/utils/data/uuid.utils.js +0 -57
  227. package/dist/cjs/utils/data/uuid.utils.js.map +0 -1
  228. package/dist/cjs/utils/emitter.utils.d.ts +0 -9
  229. package/dist/cjs/utils/emitter.utils.d.ts.map +0 -1
  230. package/dist/cjs/utils/emitter.utils.js +0 -36
  231. package/dist/cjs/utils/emitter.utils.js.map +0 -1
  232. package/dist/cjs/utils/index.d.ts +0 -8
  233. package/dist/cjs/utils/index.d.ts.map +0 -1
  234. package/dist/cjs/utils/index.js +0 -24
  235. package/dist/cjs/utils/index.js.map +0 -1
  236. package/dist/cjs/utils/logging.utils.d.ts +0 -22
  237. package/dist/cjs/utils/logging.utils.d.ts.map +0 -1
  238. package/dist/cjs/utils/logging.utils.js +0 -87
  239. package/dist/cjs/utils/logging.utils.js.map +0 -1
  240. package/dist/cjs/utils/network/index.d.ts +0 -2
  241. package/dist/cjs/utils/network/index.d.ts.map +0 -1
  242. package/dist/cjs/utils/network/index.js +0 -18
  243. package/dist/cjs/utils/network/index.js.map +0 -1
  244. package/dist/cjs/utils/network/url.utils.d.ts +0 -16
  245. package/dist/cjs/utils/network/url.utils.d.ts.map +0 -1
  246. package/dist/cjs/utils/network/url.utils.js +0 -92
  247. package/dist/cjs/utils/network/url.utils.js.map +0 -1
  248. package/dist/cjs/utils/security/index.d.ts +0 -2
  249. package/dist/cjs/utils/security/index.d.ts.map +0 -1
  250. package/dist/cjs/utils/security/index.js +0 -18
  251. package/dist/cjs/utils/security/index.js.map +0 -1
  252. package/dist/cjs/utils/security/sanitize.utils.d.ts +0 -14
  253. package/dist/cjs/utils/security/sanitize.utils.d.ts.map +0 -1
  254. package/dist/cjs/utils/security/sanitize.utils.js +0 -123
  255. package/dist/cjs/utils/security/sanitize.utils.js.map +0 -1
  256. package/dist/cjs/utils/validations/config-validations.utils.d.ts +0 -19
  257. package/dist/cjs/utils/validations/config-validations.utils.d.ts.map +0 -1
  258. package/dist/cjs/utils/validations/config-validations.utils.js +0 -236
  259. package/dist/cjs/utils/validations/config-validations.utils.js.map +0 -1
  260. package/dist/cjs/utils/validations/event-validations.utils.d.ts +0 -13
  261. package/dist/cjs/utils/validations/event-validations.utils.d.ts.map +0 -1
  262. package/dist/cjs/utils/validations/event-validations.utils.js +0 -37
  263. package/dist/cjs/utils/validations/event-validations.utils.js.map +0 -1
  264. package/dist/cjs/utils/validations/index.d.ts +0 -5
  265. package/dist/cjs/utils/validations/index.d.ts.map +0 -1
  266. package/dist/cjs/utils/validations/index.js +0 -21
  267. package/dist/cjs/utils/validations/index.js.map +0 -1
  268. package/dist/cjs/utils/validations/metadata-validations.utils.d.ts +0 -23
  269. package/dist/cjs/utils/validations/metadata-validations.utils.d.ts.map +0 -1
  270. package/dist/cjs/utils/validations/metadata-validations.utils.js +0 -153
  271. package/dist/cjs/utils/validations/metadata-validations.utils.js.map +0 -1
  272. package/dist/cjs/utils/validations/type-guards.utils.d.ts +0 -9
  273. package/dist/cjs/utils/validations/type-guards.utils.d.ts.map +0 -1
  274. package/dist/cjs/utils/validations/type-guards.utils.js +0 -90
  275. package/dist/cjs/utils/validations/type-guards.utils.js.map +0 -1
  276. package/dist/esm/api.d.ts +0 -19
  277. package/dist/esm/api.d.ts.map +0 -1
  278. package/dist/esm/api.js +0 -173
  279. package/dist/esm/api.js.map +0 -1
  280. package/dist/esm/app.constants.d.ts +0 -80
  281. package/dist/esm/app.constants.d.ts.map +0 -1
  282. package/dist/esm/app.constants.js +0 -82
  283. package/dist/esm/app.constants.js.map +0 -1
  284. package/dist/esm/app.d.ts +0 -43
  285. package/dist/esm/app.d.ts.map +0 -1
  286. package/dist/esm/app.js +0 -161
  287. package/dist/esm/app.js.map +0 -1
  288. package/dist/esm/constants/config.constants.d.ts +0 -109
  289. package/dist/esm/constants/config.constants.d.ts.map +0 -1
  290. package/dist/esm/constants/config.constants.js +0 -212
  291. package/dist/esm/constants/config.constants.js.map +0 -1
  292. package/dist/esm/constants/error.constants.d.ts +0 -56
  293. package/dist/esm/constants/error.constants.d.ts.map +0 -1
  294. package/dist/esm/constants/error.constants.js +0 -86
  295. package/dist/esm/constants/error.constants.js.map +0 -1
  296. package/dist/esm/constants/index.d.ts +0 -5
  297. package/dist/esm/constants/index.d.ts.map +0 -1
  298. package/dist/esm/constants/index.js +0 -5
  299. package/dist/esm/constants/index.js.map +0 -1
  300. package/dist/esm/constants/performance.constants.d.ts +0 -29
  301. package/dist/esm/constants/performance.constants.d.ts.map +0 -1
  302. package/dist/esm/constants/performance.constants.js +0 -41
  303. package/dist/esm/constants/performance.constants.js.map +0 -1
  304. package/dist/esm/constants/storage.constants.d.ts +0 -11
  305. package/dist/esm/constants/storage.constants.d.ts.map +0 -1
  306. package/dist/esm/constants/storage.constants.js +0 -13
  307. package/dist/esm/constants/storage.constants.js.map +0 -1
  308. package/dist/esm/handlers/click.handler.d.ts +0 -36
  309. package/dist/esm/handlers/click.handler.d.ts.map +0 -1
  310. package/dist/esm/handlers/click.handler.js +0 -259
  311. package/dist/esm/handlers/click.handler.js.map +0 -1
  312. package/dist/esm/handlers/error.handler.d.ts +0 -28
  313. package/dist/esm/handlers/error.handler.d.ts.map +0 -1
  314. package/dist/esm/handlers/error.handler.js +0 -164
  315. package/dist/esm/handlers/error.handler.js.map +0 -1
  316. package/dist/esm/handlers/page-view.handler.d.ts +0 -17
  317. package/dist/esm/handlers/page-view.handler.d.ts.map +0 -1
  318. package/dist/esm/handlers/page-view.handler.js +0 -96
  319. package/dist/esm/handlers/page-view.handler.js.map +0 -1
  320. package/dist/esm/handlers/performance.handler.d.ts +0 -23
  321. package/dist/esm/handlers/performance.handler.d.ts.map +0 -1
  322. package/dist/esm/handlers/performance.handler.js +0 -237
  323. package/dist/esm/handlers/performance.handler.js.map +0 -1
  324. package/dist/esm/handlers/scroll.handler.d.ts +0 -40
  325. package/dist/esm/handlers/scroll.handler.d.ts.map +0 -1
  326. package/dist/esm/handlers/scroll.handler.js +0 -323
  327. package/dist/esm/handlers/scroll.handler.js.map +0 -1
  328. package/dist/esm/handlers/session.handler.d.ts +0 -16
  329. package/dist/esm/handlers/session.handler.d.ts.map +0 -1
  330. package/dist/esm/handlers/session.handler.js +0 -70
  331. package/dist/esm/handlers/session.handler.js.map +0 -1
  332. package/dist/esm/handlers/viewport.handler.d.ts +0 -44
  333. package/dist/esm/handlers/viewport.handler.d.ts.map +0 -1
  334. package/dist/esm/handlers/viewport.handler.js +0 -282
  335. package/dist/esm/handlers/viewport.handler.js.map +0 -1
  336. package/dist/esm/integrations/google-analytics.integration.d.ts +0 -18
  337. package/dist/esm/integrations/google-analytics.integration.d.ts.map +0 -1
  338. package/dist/esm/integrations/google-analytics.integration.js +0 -86
  339. package/dist/esm/integrations/google-analytics.integration.js.map +0 -1
  340. package/dist/esm/listeners/activity-listener-manager.d.ts +0 -9
  341. package/dist/esm/listeners/activity-listener-manager.d.ts.map +0 -1
  342. package/dist/esm/listeners/activity-listener-manager.js +0 -29
  343. package/dist/esm/listeners/activity-listener-manager.js.map +0 -1
  344. package/dist/esm/listeners/index.d.ts +0 -7
  345. package/dist/esm/listeners/index.d.ts.map +0 -1
  346. package/dist/esm/listeners/index.js +0 -6
  347. package/dist/esm/listeners/index.js.map +0 -1
  348. package/dist/esm/listeners/input-listener-managers.d.ts +0 -25
  349. package/dist/esm/listeners/input-listener-managers.d.ts.map +0 -1
  350. package/dist/esm/listeners/input-listener-managers.js +0 -45
  351. package/dist/esm/listeners/input-listener-managers.js.map +0 -1
  352. package/dist/esm/listeners/listeners.types.d.ts +0 -5
  353. package/dist/esm/listeners/listeners.types.d.ts.map +0 -1
  354. package/dist/esm/listeners/listeners.types.js +0 -2
  355. package/dist/esm/listeners/listeners.types.js.map +0 -1
  356. package/dist/esm/listeners/touch-listener-manager.d.ts +0 -9
  357. package/dist/esm/listeners/touch-listener-manager.d.ts.map +0 -1
  358. package/dist/esm/listeners/touch-listener-manager.js +0 -31
  359. package/dist/esm/listeners/touch-listener-manager.js.map +0 -1
  360. package/dist/esm/listeners/unload-listener-manager.d.ts +0 -9
  361. package/dist/esm/listeners/unload-listener-manager.d.ts.map +0 -1
  362. package/dist/esm/listeners/unload-listener-manager.js +0 -27
  363. package/dist/esm/listeners/unload-listener-manager.js.map +0 -1
  364. package/dist/esm/listeners/visibility-listener-manager.d.ts +0 -10
  365. package/dist/esm/listeners/visibility-listener-manager.d.ts.map +0 -1
  366. package/dist/esm/listeners/visibility-listener-manager.js +0 -44
  367. package/dist/esm/listeners/visibility-listener-manager.js.map +0 -1
  368. package/dist/esm/managers/event.manager.d.ts +0 -62
  369. package/dist/esm/managers/event.manager.d.ts.map +0 -1
  370. package/dist/esm/managers/event.manager.js +0 -504
  371. package/dist/esm/managers/event.manager.js.map +0 -1
  372. package/dist/esm/managers/sender.manager.d.ts +0 -32
  373. package/dist/esm/managers/sender.manager.d.ts.map +0 -1
  374. package/dist/esm/managers/sender.manager.js +0 -267
  375. package/dist/esm/managers/sender.manager.js.map +0 -1
  376. package/dist/esm/managers/session.manager.d.ts +0 -40
  377. package/dist/esm/managers/session.manager.d.ts.map +0 -1
  378. package/dist/esm/managers/session.manager.js +0 -278
  379. package/dist/esm/managers/session.manager.js.map +0 -1
  380. package/dist/esm/managers/state.manager.d.ts +0 -9
  381. package/dist/esm/managers/state.manager.d.ts.map +0 -1
  382. package/dist/esm/managers/state.manager.js +0 -21
  383. package/dist/esm/managers/state.manager.js.map +0 -1
  384. package/dist/esm/managers/storage.manager.d.ts +0 -60
  385. package/dist/esm/managers/storage.manager.d.ts.map +0 -1
  386. package/dist/esm/managers/storage.manager.js +0 -273
  387. package/dist/esm/managers/storage.manager.js.map +0 -1
  388. package/dist/esm/managers/user.manager.d.ts +0 -17
  389. package/dist/esm/managers/user.manager.d.ts.map +0 -1
  390. package/dist/esm/managers/user.manager.js +0 -27
  391. package/dist/esm/managers/user.manager.js.map +0 -1
  392. package/dist/esm/public-api.d.ts +0 -11
  393. package/dist/esm/public-api.d.ts.map +0 -1
  394. package/dist/esm/public-api.js +0 -15
  395. package/dist/esm/public-api.js.map +0 -1
  396. package/dist/esm/test-bridge.d.ts +0 -47
  397. package/dist/esm/test-bridge.d.ts.map +0 -1
  398. package/dist/esm/test-bridge.js +0 -161
  399. package/dist/esm/test-bridge.js.map +0 -1
  400. package/dist/esm/types/common.types.d.ts +0 -6
  401. package/dist/esm/types/common.types.d.ts.map +0 -1
  402. package/dist/esm/types/common.types.js +0 -2
  403. package/dist/esm/types/common.types.js.map +0 -1
  404. package/dist/esm/types/config.types.d.ts +0 -49
  405. package/dist/esm/types/config.types.d.ts.map +0 -1
  406. package/dist/esm/types/config.types.js +0 -6
  407. package/dist/esm/types/config.types.js.map +0 -1
  408. package/dist/esm/types/device.types.d.ts +0 -7
  409. package/dist/esm/types/device.types.d.ts.map +0 -1
  410. package/dist/esm/types/device.types.js +0 -8
  411. package/dist/esm/types/device.types.js.map +0 -1
  412. package/dist/esm/types/emitter.types.d.ts +0 -12
  413. package/dist/esm/types/emitter.types.d.ts.map +0 -1
  414. package/dist/esm/types/emitter.types.js +0 -6
  415. package/dist/esm/types/emitter.types.js.map +0 -1
  416. package/dist/esm/types/error.types.d.ts +0 -12
  417. package/dist/esm/types/error.types.d.ts.map +0 -1
  418. package/dist/esm/types/error.types.js +0 -19
  419. package/dist/esm/types/error.types.js.map +0 -1
  420. package/dist/esm/types/event.types.d.ts +0 -235
  421. package/dist/esm/types/event.types.d.ts.map +0 -1
  422. package/dist/esm/types/event.types.js +0 -45
  423. package/dist/esm/types/event.types.js.map +0 -1
  424. package/dist/esm/types/index.d.ts +0 -17
  425. package/dist/esm/types/index.d.ts.map +0 -1
  426. package/dist/esm/types/index.js +0 -17
  427. package/dist/esm/types/index.js.map +0 -1
  428. package/dist/esm/types/log.types.d.ts +0 -5
  429. package/dist/esm/types/log.types.d.ts.map +0 -1
  430. package/dist/esm/types/log.types.js +0 -2
  431. package/dist/esm/types/log.types.js.map +0 -1
  432. package/dist/esm/types/mode.types.d.ts +0 -7
  433. package/dist/esm/types/mode.types.d.ts.map +0 -1
  434. package/dist/esm/types/mode.types.js +0 -8
  435. package/dist/esm/types/mode.types.js.map +0 -1
  436. package/dist/esm/types/queue.types.d.ts +0 -19
  437. package/dist/esm/types/queue.types.d.ts.map +0 -1
  438. package/dist/esm/types/queue.types.js +0 -2
  439. package/dist/esm/types/queue.types.js.map +0 -1
  440. package/dist/esm/types/scroll.types.d.ts +0 -16
  441. package/dist/esm/types/scroll.types.d.ts.map +0 -1
  442. package/dist/esm/types/scroll.types.js +0 -8
  443. package/dist/esm/types/scroll.types.js.map +0 -1
  444. package/dist/esm/types/session.types.d.ts +0 -2
  445. package/dist/esm/types/session.types.d.ts.map +0 -1
  446. package/dist/esm/types/session.types.js +0 -2
  447. package/dist/esm/types/session.types.js.map +0 -1
  448. package/dist/esm/types/state.types.d.ts +0 -16
  449. package/dist/esm/types/state.types.d.ts.map +0 -1
  450. package/dist/esm/types/state.types.js +0 -2
  451. package/dist/esm/types/state.types.js.map +0 -1
  452. package/dist/esm/types/test-bridge.types.d.ts +0 -40
  453. package/dist/esm/types/test-bridge.types.d.ts.map +0 -1
  454. package/dist/esm/types/test-bridge.types.js +0 -2
  455. package/dist/esm/types/test-bridge.types.js.map +0 -1
  456. package/dist/esm/types/validation-error.types.d.ts +0 -44
  457. package/dist/esm/types/validation-error.types.d.ts.map +0 -1
  458. package/dist/esm/types/validation-error.types.js +0 -61
  459. package/dist/esm/types/validation-error.types.js.map +0 -1
  460. package/dist/esm/types/viewport.types.d.ts +0 -55
  461. package/dist/esm/types/viewport.types.d.ts.map +0 -1
  462. package/dist/esm/types/viewport.types.js +0 -2
  463. package/dist/esm/types/viewport.types.js.map +0 -1
  464. package/dist/esm/types/window.types.d.ts +0 -16
  465. package/dist/esm/types/window.types.d.ts.map +0 -1
  466. package/dist/esm/types/window.types.js +0 -2
  467. package/dist/esm/types/window.types.js.map +0 -1
  468. package/dist/esm/utils/browser/device-detector.utils.d.ts +0 -7
  469. package/dist/esm/utils/browser/device-detector.utils.d.ts.map +0 -1
  470. package/dist/esm/utils/browser/device-detector.utils.js +0 -46
  471. package/dist/esm/utils/browser/device-detector.utils.js.map +0 -1
  472. package/dist/esm/utils/browser/index.d.ts +0 -4
  473. package/dist/esm/utils/browser/index.d.ts.map +0 -1
  474. package/dist/esm/utils/browser/index.js +0 -4
  475. package/dist/esm/utils/browser/index.js.map +0 -1
  476. package/dist/esm/utils/browser/qa-mode.utils.d.ts +0 -14
  477. package/dist/esm/utils/browser/qa-mode.utils.d.ts.map +0 -1
  478. package/dist/esm/utils/browser/qa-mode.utils.js +0 -40
  479. package/dist/esm/utils/browser/qa-mode.utils.js.map +0 -1
  480. package/dist/esm/utils/browser/utm-params.utils.d.ts +0 -7
  481. package/dist/esm/utils/browser/utm-params.utils.d.ts.map +0 -1
  482. package/dist/esm/utils/browser/utm-params.utils.js +0 -19
  483. package/dist/esm/utils/browser/utm-params.utils.js.map +0 -1
  484. package/dist/esm/utils/data/index.d.ts +0 -2
  485. package/dist/esm/utils/data/index.d.ts.map +0 -1
  486. package/dist/esm/utils/data/index.js +0 -2
  487. package/dist/esm/utils/data/index.js.map +0 -1
  488. package/dist/esm/utils/data/uuid.utils.d.ts +0 -19
  489. package/dist/esm/utils/data/uuid.utils.d.ts.map +0 -1
  490. package/dist/esm/utils/data/uuid.utils.js +0 -52
  491. package/dist/esm/utils/data/uuid.utils.js.map +0 -1
  492. package/dist/esm/utils/emitter.utils.d.ts +0 -9
  493. package/dist/esm/utils/emitter.utils.d.ts.map +0 -1
  494. package/dist/esm/utils/emitter.utils.js +0 -32
  495. package/dist/esm/utils/emitter.utils.js.map +0 -1
  496. package/dist/esm/utils/index.d.ts +0 -8
  497. package/dist/esm/utils/index.d.ts.map +0 -1
  498. package/dist/esm/utils/index.js +0 -8
  499. package/dist/esm/utils/index.js.map +0 -1
  500. package/dist/esm/utils/logging.utils.d.ts +0 -22
  501. package/dist/esm/utils/logging.utils.d.ts.map +0 -1
  502. package/dist/esm/utils/logging.utils.js +0 -82
  503. package/dist/esm/utils/logging.utils.js.map +0 -1
  504. package/dist/esm/utils/network/index.d.ts +0 -2
  505. package/dist/esm/utils/network/index.d.ts.map +0 -1
  506. package/dist/esm/utils/network/index.js +0 -2
  507. package/dist/esm/utils/network/index.js.map +0 -1
  508. package/dist/esm/utils/network/url.utils.d.ts +0 -16
  509. package/dist/esm/utils/network/url.utils.d.ts.map +0 -1
  510. package/dist/esm/utils/network/url.utils.js +0 -87
  511. package/dist/esm/utils/network/url.utils.js.map +0 -1
  512. package/dist/esm/utils/security/index.d.ts +0 -2
  513. package/dist/esm/utils/security/index.d.ts.map +0 -1
  514. package/dist/esm/utils/security/index.js +0 -2
  515. package/dist/esm/utils/security/index.js.map +0 -1
  516. package/dist/esm/utils/security/sanitize.utils.d.ts +0 -14
  517. package/dist/esm/utils/security/sanitize.utils.d.ts.map +0 -1
  518. package/dist/esm/utils/security/sanitize.utils.js +0 -118
  519. package/dist/esm/utils/security/sanitize.utils.js.map +0 -1
  520. package/dist/esm/utils/validations/config-validations.utils.d.ts +0 -19
  521. package/dist/esm/utils/validations/config-validations.utils.d.ts.map +0 -1
  522. package/dist/esm/utils/validations/config-validations.utils.js +0 -231
  523. package/dist/esm/utils/validations/config-validations.utils.js.map +0 -1
  524. package/dist/esm/utils/validations/event-validations.utils.d.ts +0 -13
  525. package/dist/esm/utils/validations/event-validations.utils.d.ts.map +0 -1
  526. package/dist/esm/utils/validations/event-validations.utils.js +0 -33
  527. package/dist/esm/utils/validations/event-validations.utils.js.map +0 -1
  528. package/dist/esm/utils/validations/index.d.ts +0 -5
  529. package/dist/esm/utils/validations/index.d.ts.map +0 -1
  530. package/dist/esm/utils/validations/index.js +0 -5
  531. package/dist/esm/utils/validations/index.js.map +0 -1
  532. package/dist/esm/utils/validations/metadata-validations.utils.d.ts +0 -23
  533. package/dist/esm/utils/validations/metadata-validations.utils.d.ts.map +0 -1
  534. package/dist/esm/utils/validations/metadata-validations.utils.js +0 -148
  535. package/dist/esm/utils/validations/metadata-validations.utils.js.map +0 -1
  536. package/dist/esm/utils/validations/type-guards.utils.d.ts +0 -9
  537. package/dist/esm/utils/validations/type-guards.utils.d.ts.map +0 -1
  538. package/dist/esm/utils/validations/type-guards.utils.js +0 -86
  539. package/dist/esm/utils/validations/type-guards.utils.js.map +0 -1
@@ -0,0 +1,913 @@
1
+ type MetadataPrimitive = string | number | boolean;
2
+ type MetadataNestedValue = MetadataPrimitive | string[] | Record<string, MetadataPrimitive>[];
3
+ type MetadataNestedObject = Record<string, MetadataNestedValue>;
4
+ type MetadataType = MetadataPrimitive | string[] | MetadataNestedObject | MetadataNestedObject[];
5
+
6
+ /**
7
+ * Element configuration for viewport tracking with optional identifiers
8
+ */
9
+ interface ViewportElement {
10
+ /**
11
+ * CSS selector for the element
12
+ * @example '.hero' | '.cta-button' | '#pricing'
13
+ */
14
+ selector: string;
15
+ /**
16
+ * Optional unique identifier for analytics
17
+ * Used to distinguish between multiple elements with the same selector
18
+ * @example 'homepage-hero' | 'pricing-cta' | 'customer-testimonials'
19
+ */
20
+ id?: string;
21
+ /**
22
+ * Optional human-readable name for dashboards and reports
23
+ * @example 'Homepage Hero Banner' | 'Pricing Page CTA' | 'Customer Testimonials Section'
24
+ */
25
+ name?: string;
26
+ }
27
+ /**
28
+ * Configuration for viewport visibility tracking
29
+ */
30
+ interface ViewportConfig {
31
+ /**
32
+ * Elements to track with optional identifiers
33
+ * Provides analytics support with business identifiers
34
+ * @example [{ selector: '.hero', id: 'homepage-hero', name: 'Homepage Hero Banner' }]
35
+ */
36
+ elements: ViewportElement[];
37
+ /**
38
+ * Minimum percentage of element that must be visible (0-1)
39
+ * @default 0.5 (50%)
40
+ */
41
+ threshold?: number;
42
+ /**
43
+ * Minimum time (ms) element must be visible to count as a view
44
+ * @default 1000 (1 second)
45
+ */
46
+ minDwellTime?: number;
47
+ /**
48
+ * Cooldown period (ms) before same element can fire visibility event again
49
+ * Prevents repeated events from carousels, sticky headers, and scrolling patterns
50
+ * @default 60000 (60 seconds)
51
+ */
52
+ cooldownPeriod?: number;
53
+ /**
54
+ * Maximum number of elements to track simultaneously (Phase 3)
55
+ * Prevents memory/server issues with broad selectors
56
+ * @default 100
57
+ */
58
+ maxTrackedElements?: number;
59
+ }
60
+
61
+ interface Config {
62
+ /** Session inactivity timeout in milliseconds. @default 900000 */
63
+ sessionTimeout?: number;
64
+ /** Metadata appended to every tracked event. */
65
+ globalMetadata?: Record<string, MetadataType>;
66
+ /** Query parameters to remove before tracking URLs. */
67
+ sensitiveQueryParams?: string[];
68
+ /** Error event sampling rate between 0 and 1. @default 1 */
69
+ errorSampling?: number;
70
+ /** Event sampling rate between 0 and 1. @default 1 */
71
+ samplingRate?: number;
72
+ /** CSS selector to manually override primary scroll container detection. */
73
+ primaryScrollSelector?: string;
74
+ /** Viewport visibility tracking configuration. */
75
+ viewport?: ViewportConfig;
76
+ /** Page view throttle duration in milliseconds to prevent rapid navigation spam. @default 1000 */
77
+ pageViewThrottleMs?: number;
78
+ /** Click throttle duration in milliseconds to prevent double-clicks and rapid spam. @default 300 */
79
+ clickThrottleMs?: number;
80
+ /** Maximum number of same custom event name allowed per minute to prevent infinite loops. @default 60 */
81
+ maxSameEventPerMinute?: number;
82
+ /** Optional configuration for third-party integrations. */
83
+ integrations?: {
84
+ /** TraceLog integration options. */
85
+ tracelog?: {
86
+ /** Required project ID TraceLog SaaS integration. */
87
+ projectId: string;
88
+ };
89
+ /** Custom integration options. */
90
+ custom?: {
91
+ /** Endpoint for collecting events. */
92
+ collectApiUrl: string;
93
+ /** Allow HTTP URLs (not recommended for production). @default false */
94
+ allowHttp?: boolean;
95
+ };
96
+ /** Google Analytics integration options. */
97
+ googleAnalytics?: {
98
+ /** Required measurement ID for Google Analytics. */
99
+ measurementId: string;
100
+ };
101
+ };
102
+ }
103
+ declare enum SpecialApiUrl {
104
+ Localhost = "localhost:8080",
105
+ Fail = "localhost:9999"
106
+ }
107
+
108
+ declare enum DeviceType {
109
+ Mobile = "mobile",
110
+ Tablet = "tablet",
111
+ Desktop = "desktop",
112
+ Unknown = "unknown"
113
+ }
114
+
115
+ type SessionEndReason = 'inactivity' | 'page_unload' | 'manual_stop' | 'orphaned_cleanup' | 'tab_closed';
116
+
117
+ /**
118
+ * Coordinate information from a click event
119
+ * Includes absolute and relative positioning
120
+ */
121
+ type ClickCoordinates = Pick<ClickData, 'x' | 'y' | 'relativeX' | 'relativeY'>;
122
+ /**
123
+ * Web performance metric types tracked by the library
124
+ * - LCP: Largest Contentful Paint
125
+ * - CLS: Cumulative Layout Shift
126
+ * - INP: Interaction to Next Paint
127
+ * - FCP: First Contentful Paint
128
+ * - TTFB: Time to First Byte
129
+ * - LONG_TASK: Tasks exceeding 50ms
130
+ */
131
+ type WebVitalType = 'LCP' | 'CLS' | 'INP' | 'FCP' | 'TTFB' | 'LONG_TASK';
132
+ /**
133
+ * Core event types tracked by TraceLog
134
+ */
135
+ declare enum EventType {
136
+ /** Page navigation and view tracking */
137
+ PAGE_VIEW = "page_view",
138
+ /** User click interactions */
139
+ CLICK = "click",
140
+ /** Scroll depth and behavior */
141
+ SCROLL = "scroll",
142
+ /** Session initialization */
143
+ SESSION_START = "session_start",
144
+ /** Session termination */
145
+ SESSION_END = "session_end",
146
+ /** Custom business events */
147
+ CUSTOM = "custom",
148
+ /** Performance metrics */
149
+ WEB_VITALS = "web_vitals",
150
+ /** JavaScript errors and rejections */
151
+ ERROR = "error",
152
+ /** Element visibility tracking */
153
+ VIEWPORT_VISIBLE = "viewport_visible"
154
+ }
155
+ /**
156
+ * Scroll direction indicators
157
+ */
158
+ declare enum ScrollDirection {
159
+ /** Scrolling upward */
160
+ UP = "up",
161
+ /** Scrolling downward */
162
+ DOWN = "down"
163
+ }
164
+ /**
165
+ * JavaScript error classification
166
+ */
167
+ declare enum ErrorType {
168
+ /** Runtime JavaScript errors */
169
+ JS_ERROR = "js_error",
170
+ /** Unhandled promise rejections */
171
+ PROMISE_REJECTION = "promise_rejection"
172
+ }
173
+ /**
174
+ * Scroll event data captured during user scrolling
175
+ */
176
+ interface ScrollData {
177
+ /** Current scroll depth as percentage (0-100) */
178
+ depth: number;
179
+ /** Direction of scroll movement */
180
+ direction: ScrollDirection;
181
+ /** CSS selector of the scrolled container */
182
+ container_selector: string;
183
+ /** Whether this is the primary viewport scroll */
184
+ is_primary: boolean;
185
+ /** Scroll velocity in pixels per second */
186
+ velocity: number;
187
+ /** Maximum scroll depth reached during session (0-100) */
188
+ max_depth_reached: number;
189
+ }
190
+ /**
191
+ * Click event data capturing user interaction details
192
+ */
193
+ interface ClickData {
194
+ /** Absolute X coordinate in viewport (pixels) */
195
+ x: number;
196
+ /** Absolute Y coordinate in viewport (pixels) */
197
+ y: number;
198
+ /** Relative X position within element (0-1) */
199
+ relativeX: number;
200
+ /** Relative Y position within element (0-1) */
201
+ relativeY: number;
202
+ /** Element ID attribute */
203
+ id?: string;
204
+ /** Element class attribute */
205
+ class?: string;
206
+ /** HTML tag name */
207
+ tag?: string;
208
+ /** Element text content (truncated) */
209
+ text?: string;
210
+ /** Link href for anchor elements */
211
+ href?: string;
212
+ /** Element title attribute */
213
+ title?: string;
214
+ /** Image alt text for img elements */
215
+ alt?: string;
216
+ /** ARIA role attribute */
217
+ role?: string;
218
+ /** ARIA label attribute */
219
+ ariaLabel?: string;
220
+ /** Custom data attributes (data-*) */
221
+ dataAttributes?: Record<string, string>;
222
+ }
223
+ /**
224
+ * Element data for specialized click tracking
225
+ * Used for form inputs and interactive elements
226
+ */
227
+ interface ClickTrackingElementData {
228
+ /** DOM element being tracked */
229
+ element: HTMLElement;
230
+ /** Descriptive name for the element */
231
+ name: string;
232
+ /** Element value (for inputs) */
233
+ value?: string;
234
+ }
235
+ /**
236
+ * Custom event data for business-specific tracking
237
+ */
238
+ interface CustomEventData {
239
+ /** Event name identifier */
240
+ name: string;
241
+ /** Additional event metadata */
242
+ metadata?: Record<string, MetadataType> | Record<string, MetadataType>[];
243
+ }
244
+ /**
245
+ * Web performance metrics data
246
+ */
247
+ interface WebVitalsData {
248
+ /** Type of performance metric */
249
+ type: WebVitalType;
250
+ /** Metric value (varies by type) */
251
+ value: number;
252
+ }
253
+ /**
254
+ * JavaScript error details
255
+ */
256
+ interface ErrorData {
257
+ /** Error classification */
258
+ type: ErrorType;
259
+ /** Error message text */
260
+ message: string;
261
+ /** Source file where error occurred */
262
+ filename?: string;
263
+ /** Line number in source file */
264
+ line?: number;
265
+ /** Column number in source file */
266
+ column?: number;
267
+ }
268
+ /**
269
+ * UTM campaign tracking parameters
270
+ */
271
+ interface UTM {
272
+ /** Campaign source (e.g., google, newsletter) */
273
+ source?: string;
274
+ /** Campaign medium (e.g., cpc, email) */
275
+ medium?: string;
276
+ /** Campaign name identifier */
277
+ campaign?: string;
278
+ /** Campaign search term */
279
+ term?: string;
280
+ /** Campaign content variation */
281
+ content?: string;
282
+ }
283
+ /**
284
+ * Page view navigation data
285
+ */
286
+ interface PageViewData {
287
+ /** Previous page URL */
288
+ referrer?: string;
289
+ /** Page title from document */
290
+ title?: string;
291
+ /** URL pathname */
292
+ pathname?: string;
293
+ /** URL query string */
294
+ search?: string;
295
+ /** URL hash fragment */
296
+ hash?: string;
297
+ }
298
+ /**
299
+ * Data captured when element becomes visible
300
+ */
301
+ interface ViewportEventData {
302
+ /** CSS selector that matched the element */
303
+ selector: string;
304
+ /** Optional unique identifier for analytics (if configured) */
305
+ id?: string;
306
+ /** Optional human-readable name (if configured) */
307
+ name?: string;
308
+ /** Actual time (ms) element was visible before event fired */
309
+ dwellTime: number;
310
+ /** Actual visibility ratio when event fired (0-1) */
311
+ visibilityRatio: number;
312
+ }
313
+ /**
314
+ * Complete event data structure
315
+ * All events share base properties with type-specific data
316
+ */
317
+ interface EventData {
318
+ /** Unique event identifier */
319
+ id: string;
320
+ /** Event type classification */
321
+ type: EventType;
322
+ /** Current page URL where event occurred */
323
+ page_url: string;
324
+ /** Unix timestamp (milliseconds) */
325
+ timestamp: number;
326
+ /** HTTP referrer header */
327
+ referrer?: string;
328
+ /** Previous page URL for navigation events */
329
+ from_page_url?: string;
330
+ /** Scroll event details (when type is SCROLL) */
331
+ scroll_data?: ScrollData;
332
+ /** Click event details (when type is CLICK) */
333
+ click_data?: ClickData;
334
+ /** Custom event details (when type is CUSTOM) */
335
+ custom_event?: CustomEventData;
336
+ /** Performance metrics (when type is WEB_VITALS) */
337
+ web_vitals?: WebVitalsData;
338
+ /** Page view details (when type is PAGE_VIEW) */
339
+ page_view?: PageViewData;
340
+ /** Session termination reason (when type is SESSION_END) */
341
+ session_end_reason?: SessionEndReason;
342
+ /** Error details (when type is ERROR) */
343
+ error_data?: ErrorData;
344
+ /** Viewport visibility details (when type is VIEWPORT_VISIBLE) */
345
+ viewport_data?: ViewportEventData;
346
+ /** Campaign tracking parameters */
347
+ utm?: UTM;
348
+ }
349
+
350
+ interface EventsQueue {
351
+ user_id: string;
352
+ session_id: string;
353
+ device: DeviceType;
354
+ events: EventData[];
355
+ global_metadata?: Record<string, MetadataType>;
356
+ }
357
+ /**
358
+ * Extended queue structure for localStorage persistence with expiration tracking.
359
+ */
360
+ interface PersistedEventsQueue extends EventsQueue {
361
+ timestamp: number;
362
+ }
363
+
364
+ type EmitterCallback<T = any> = (data: T) => void;
365
+ declare enum EmitterEvent {
366
+ EVENT = "event",
367
+ QUEUE = "queue"
368
+ }
369
+ interface EmitterMap {
370
+ [EmitterEvent.EVENT]: EventData;
371
+ [EmitterEvent.QUEUE]: EventsQueue;
372
+ }
373
+
374
+ /**
375
+ * Custom error types for TraceLog
376
+ */
377
+ /**
378
+ * Represents a permanent HTTP error (4xx) that should not be retried
379
+ * Examples: 400 Bad Request, 403 Forbidden, 404 Not Found
380
+ */
381
+ declare class PermanentError extends Error {
382
+ readonly statusCode?: number | undefined;
383
+ constructor(message: string, statusCode?: number | undefined);
384
+ }
385
+
386
+ /**
387
+ * Log levels for the dual logging system
388
+ */
389
+ type LogLevel = 'CLIENT_ERROR' | 'CLIENT_WARN' | 'INFO' | 'ERROR' | 'WARN' | 'DEBUG' | 'VERBOSE';
390
+
391
+ /**
392
+ * App modes for the TraceLog Library
393
+ */
394
+ declare enum Mode {
395
+ QA = "qa"
396
+ }
397
+
398
+ type PrimaryScrollEvent = EventData & {
399
+ type: EventType.SCROLL;
400
+ scroll_data: ScrollData & {
401
+ is_primary: true;
402
+ };
403
+ };
404
+ type SecondaryScrollEvent = EventData & {
405
+ type: EventType.SCROLL;
406
+ scroll_data: ScrollData & {
407
+ is_primary: false;
408
+ };
409
+ };
410
+ declare function isPrimaryScrollEvent(event: EventData): event is PrimaryScrollEvent;
411
+ declare function isSecondaryScrollEvent(event: EventData): event is SecondaryScrollEvent;
412
+
413
+ interface State {
414
+ mode?: Mode;
415
+ collectApiUrl: string;
416
+ config: Config;
417
+ sessionId: string | null;
418
+ userId: string;
419
+ device: DeviceType;
420
+ pageUrl: string;
421
+ hasStartSession: boolean;
422
+ suppressNextScroll: boolean;
423
+ scrollEventCount?: number;
424
+ }
425
+
426
+ declare class Emitter {
427
+ private readonly listeners;
428
+ on<K extends keyof EmitterMap>(event: K, callback: EmitterCallback<EmitterMap[K]>): void;
429
+ off<K extends keyof EmitterMap>(event: K, callback: EmitterCallback<EmitterMap[K]>): void;
430
+ emit<K extends keyof EmitterMap>(event: K, data: EmitterMap[K]): void;
431
+ removeAllListeners(): void;
432
+ }
433
+
434
+ declare abstract class StateManager {
435
+ protected get<T extends keyof State>(key: T): State[T];
436
+ protected set<T extends keyof State>(key: T, value: State[T]): void;
437
+ protected getState(): Readonly<State>;
438
+ }
439
+
440
+ /**
441
+ * Manages localStorage and sessionStorage with automatic fallback to in-memory storage.
442
+ * Provides a consistent interface for storing session data, configuration,
443
+ * and analytics metadata across browser environments.
444
+ */
445
+ declare class StorageManager {
446
+ private readonly storage;
447
+ private readonly sessionStorageRef;
448
+ private readonly fallbackStorage;
449
+ private readonly fallbackSessionStorage;
450
+ private hasQuotaExceededError;
451
+ constructor();
452
+ /**
453
+ * Retrieves an item from storage
454
+ */
455
+ getItem(key: string): string | null;
456
+ /**
457
+ * Stores an item in storage
458
+ */
459
+ setItem(key: string, value: string): void;
460
+ /**
461
+ * Removes an item from storage
462
+ */
463
+ removeItem(key: string): void;
464
+ /**
465
+ * Clears all TracLog-related items from storage
466
+ */
467
+ clear(): void;
468
+ /**
469
+ * Checks if storage is available
470
+ */
471
+ isAvailable(): boolean;
472
+ /**
473
+ * Checks if a QuotaExceededError has occurred
474
+ * This indicates localStorage is full and data may not persist
475
+ */
476
+ hasQuotaError(): boolean;
477
+ /**
478
+ * Attempts to cleanup old TraceLog data from storage to free up space
479
+ * Returns true if any data was removed, false otherwise
480
+ */
481
+ private cleanupOldData;
482
+ /**
483
+ * Initialize storage (localStorage or sessionStorage) with feature detection
484
+ */
485
+ private initializeStorage;
486
+ /**
487
+ * Retrieves an item from sessionStorage
488
+ */
489
+ getSessionItem(key: string): string | null;
490
+ /**
491
+ * Stores an item in sessionStorage
492
+ */
493
+ setSessionItem(key: string, value: string): void;
494
+ /**
495
+ * Removes an item from sessionStorage
496
+ */
497
+ removeSessionItem(key: string): void;
498
+ }
499
+
500
+ declare global {
501
+ interface Window {
502
+ gtag?: (...args: unknown[]) => void;
503
+ dataLayer?: unknown[];
504
+ }
505
+ }
506
+ declare class GoogleAnalyticsIntegration extends StateManager {
507
+ private isInitialized;
508
+ initialize(): Promise<void>;
509
+ trackEvent(eventName: string, metadata: Record<string, MetadataType> | Record<string, MetadataType>[]): void;
510
+ cleanup(): void;
511
+ private isScriptAlreadyLoaded;
512
+ private loadScript;
513
+ private configureGtag;
514
+ }
515
+
516
+ declare class EventManager extends StateManager {
517
+ private readonly googleAnalytics;
518
+ private readonly dataSender;
519
+ private readonly emitter;
520
+ private eventsQueue;
521
+ private pendingEventsBuffer;
522
+ private readonly recentEventFingerprints;
523
+ private sendIntervalId;
524
+ private rateLimitCounter;
525
+ private rateLimitWindowStart;
526
+ private readonly perEventRateLimits;
527
+ private sessionEventCounts;
528
+ private lastSessionId;
529
+ constructor(storeManager: StorageManager, googleAnalytics?: GoogleAnalyticsIntegration | null, emitter?: Emitter | null);
530
+ recoverPersistedEvents(): Promise<void>;
531
+ track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, viewport_data, }: Partial<EventData>): void;
532
+ stop(): void;
533
+ flushImmediately(): Promise<boolean>;
534
+ flushImmediatelySync(): boolean;
535
+ getQueueLength(): number;
536
+ flushPendingEvents(): void;
537
+ private clearSendInterval;
538
+ private flushEvents;
539
+ private sendEventsQueue;
540
+ private buildEventsPayload;
541
+ private buildEventPayload;
542
+ /**
543
+ * Checks if event is a duplicate using time-based cache
544
+ * Tracks recent event fingerprints with timestamp-based cleanup
545
+ */
546
+ private isDuplicateEvent;
547
+ /**
548
+ * Prunes old fingerprints from cache based on timestamp
549
+ * Removes entries older than 10x the duplicate threshold (5 seconds)
550
+ */
551
+ private pruneOldFingerprints;
552
+ private createEventFingerprint;
553
+ private createEventSignature;
554
+ private addToQueue;
555
+ private startSendInterval;
556
+ private handleGoogleAnalyticsIntegration;
557
+ private shouldSample;
558
+ private checkRateLimit;
559
+ /**
560
+ * Checks per-event-name rate limiting to prevent infinite loops in user code
561
+ * Tracks timestamps per event name and limits to maxSameEventPerMinute per minute
562
+ */
563
+ private checkPerEventRateLimit;
564
+ /**
565
+ * Gets the per-session limit for a specific event type (Phase 3)
566
+ */
567
+ private getTypeLimitForEvent;
568
+ private removeProcessedEvents;
569
+ private emitEvent;
570
+ private emitEventsQueue;
571
+ }
572
+
573
+ declare class ClickHandler extends StateManager {
574
+ private readonly eventManager;
575
+ private readonly lastClickTimes;
576
+ private clickHandler?;
577
+ private lastPruneTime;
578
+ constructor(eventManager: EventManager);
579
+ startTracking(): void;
580
+ stopTracking(): void;
581
+ private shouldIgnoreElement;
582
+ /**
583
+ * Checks per-element click throttling to prevent double-clicks and rapid spam
584
+ * Returns true if the click should be tracked, false if throttled
585
+ */
586
+ private checkClickThrottle;
587
+ /**
588
+ * Prunes stale entries from the throttle cache to prevent memory leaks
589
+ * Uses TTL-based eviction (5 minutes) and enforces max size limit
590
+ * Called during checkClickThrottle with built-in rate limiting (every 30 seconds)
591
+ */
592
+ private pruneThrottleCache;
593
+ /**
594
+ * Creates a stable signature for an element to track throttling
595
+ * Priority: id > data-testid > data-tlog-name > DOM path
596
+ */
597
+ private getElementSignature;
598
+ /**
599
+ * Generates a DOM path for an element (e.g., "body>div>button")
600
+ */
601
+ private getElementPath;
602
+ private findTrackingElement;
603
+ private getRelevantClickElement;
604
+ private clamp;
605
+ private calculateClickCoordinates;
606
+ private extractTrackingData;
607
+ private generateClickData;
608
+ private sanitizeText;
609
+ private getRelevantText;
610
+ private extractElementAttributes;
611
+ private createCustomEventData;
612
+ }
613
+
614
+ /**
615
+ * Simplified error handler for tracking JavaScript errors and unhandled promise rejections
616
+ * Includes PII sanitization and sampling support
617
+ */
618
+ declare class ErrorHandler extends StateManager {
619
+ private readonly eventManager;
620
+ private readonly recentErrors;
621
+ private errorBurstCounter;
622
+ private burstWindowStart;
623
+ private burstBackoffUntil;
624
+ constructor(eventManager: EventManager);
625
+ startTracking(): void;
626
+ stopTracking(): void;
627
+ /**
628
+ * Checks sampling rate and burst detection (Phase 3)
629
+ * Returns false if in cooldown period after burst detection
630
+ */
631
+ private shouldSample;
632
+ private readonly handleError;
633
+ private readonly handleRejection;
634
+ private extractRejectionMessage;
635
+ private sanitize;
636
+ private shouldSuppressError;
637
+ private pruneOldErrors;
638
+ }
639
+
640
+ declare class PageViewHandler extends StateManager {
641
+ private readonly eventManager;
642
+ private readonly onTrack;
643
+ private originalPushState?;
644
+ private originalReplaceState?;
645
+ private lastPageViewTime;
646
+ constructor(eventManager: EventManager, onTrack: () => void);
647
+ startTracking(): void;
648
+ stopTracking(): void;
649
+ private patchHistory;
650
+ private readonly trackCurrentPage;
651
+ private trackInitialPageView;
652
+ private extractPageViewData;
653
+ }
654
+
655
+ declare class PerformanceHandler extends StateManager {
656
+ private readonly eventManager;
657
+ private readonly reportedByNav;
658
+ private readonly navigationHistory;
659
+ private readonly observers;
660
+ private readonly vitalThresholds;
661
+ private lastLongTaskSentAt;
662
+ constructor(eventManager: EventManager);
663
+ startTracking(): Promise<void>;
664
+ stopTracking(): void;
665
+ private observeWebVitalsFallback;
666
+ private initWebVitals;
667
+ private reportTTFB;
668
+ private observeLongTasks;
669
+ private sendVital;
670
+ private trackWebVital;
671
+ private getNavigationId;
672
+ private isObserverSupported;
673
+ private safeObserve;
674
+ private shouldSendVital;
675
+ }
676
+
677
+ declare class ScrollHandler extends StateManager {
678
+ private readonly eventManager;
679
+ private readonly containers;
680
+ private limitWarningLogged;
681
+ private minDepthChange;
682
+ private minIntervalMs;
683
+ private maxEventsPerSession;
684
+ private containerDiscoveryTimeoutId;
685
+ constructor(eventManager: EventManager);
686
+ startTracking(): void;
687
+ stopTracking(): void;
688
+ private tryDetectScrollContainers;
689
+ private applyPrimaryScrollSelectorIfConfigured;
690
+ private findScrollableElements;
691
+ private getElementSelector;
692
+ private determineIfPrimary;
693
+ private setupScrollContainer;
694
+ private processScrollEvent;
695
+ private shouldEmitScrollEvent;
696
+ private hasReachedSessionLimit;
697
+ private hasElapsedMinimumInterval;
698
+ private hasSignificantDepthChange;
699
+ private logLimitOnce;
700
+ private applyConfigOverrides;
701
+ private isWindowScrollable;
702
+ private clearContainerTimer;
703
+ private getScrollDirection;
704
+ private calculateScrollDepth;
705
+ private calculateScrollData;
706
+ private getScrollTop;
707
+ private getViewportHeight;
708
+ private getScrollHeight;
709
+ private isElementScrollable;
710
+ private applyPrimaryScrollSelector;
711
+ private updateContainerPrimary;
712
+ }
713
+
714
+ declare class SessionHandler extends StateManager {
715
+ private readonly eventManager;
716
+ private readonly storageManager;
717
+ private sessionManager;
718
+ private destroyed;
719
+ constructor(storageManager: StorageManager, eventManager: EventManager);
720
+ startTracking(): void;
721
+ private isActive;
722
+ private cleanupSessionManager;
723
+ stopTracking(): void;
724
+ destroy(): void;
725
+ }
726
+
727
+ /**
728
+ * Testing bridge interface for E2E tests
729
+ * Only available when NODE_ENV=development
730
+ */
731
+ interface TraceLogTestBridge {
732
+ readonly initialized: boolean;
733
+ init(config?: Config): Promise<void>;
734
+ destroy(): void;
735
+ isInitializing(): boolean;
736
+ sendCustomEvent(name: string, data?: Record<string, unknown> | Record<string, unknown>[]): void;
737
+ on(event: string, callback: (data: any) => void): void;
738
+ off(event: string, callback: (data: any) => void): void;
739
+ getSessionData(): Record<string, unknown> | null;
740
+ setSessionTimeout(timeout: number): void;
741
+ getQueueLength(): number;
742
+ forceInitLock(enabled?: boolean): void;
743
+ simulatePersistedEvents(events: any[]): void;
744
+ get<T extends keyof State>(key: T): State[T];
745
+ getStorageManager(): StorageManager | null;
746
+ getEventManager(): EventManager | null;
747
+ getSessionHandler(): SessionHandler | null;
748
+ getPageViewHandler(): PageViewHandler | null;
749
+ getClickHandler(): ClickHandler | null;
750
+ getScrollHandler(): ScrollHandler | null;
751
+ getPerformanceHandler(): PerformanceHandler | null;
752
+ getErrorHandler(): ErrorHandler | null;
753
+ getGoogleAnalytics(): GoogleAnalyticsIntegration | null;
754
+ }
755
+
756
+ /**
757
+ * Custom error classes for TraceLog validation errors
758
+ * Provides better error handling and consistency across validation layers
759
+ */
760
+ /**
761
+ * Base class for all TraceLog validation errors
762
+ */
763
+ declare abstract class TraceLogValidationError extends Error {
764
+ readonly errorCode: string;
765
+ readonly layer: 'config' | 'app' | 'runtime';
766
+ constructor(message: string, errorCode: string, layer: 'config' | 'app' | 'runtime');
767
+ }
768
+ /**
769
+ * Thrown when app configuration validation fails
770
+ */
771
+ declare class AppConfigValidationError extends TraceLogValidationError {
772
+ constructor(message: string, layer?: 'config' | 'app' | 'runtime');
773
+ }
774
+ /**
775
+ * Thrown when session timeout validation fails
776
+ */
777
+ declare class SessionTimeoutValidationError extends TraceLogValidationError {
778
+ constructor(message: string, layer?: 'config' | 'app' | 'runtime');
779
+ }
780
+ /**
781
+ * Thrown when sampling rate validation fails
782
+ */
783
+ declare class SamplingRateValidationError extends TraceLogValidationError {
784
+ constructor(message: string, layer?: 'config' | 'app' | 'runtime');
785
+ }
786
+ /**
787
+ * Thrown when integrations validation fails
788
+ */
789
+ declare class IntegrationValidationError extends TraceLogValidationError {
790
+ constructor(message: string, layer?: 'config' | 'app' | 'runtime');
791
+ }
792
+ /**
793
+ * Thrown when initialization exceeds the maximum allowed timeout
794
+ */
795
+ declare class InitializationTimeoutError extends TraceLogValidationError {
796
+ readonly timeoutMs: number;
797
+ constructor(message: string, timeoutMs: number, layer?: 'config' | 'app' | 'runtime');
798
+ }
799
+
800
+ declare global {
801
+ interface Window {
802
+ /**
803
+ * Flag to disable TraceLog initialization
804
+ * Set to true to prevent the library from running
805
+ */
806
+ __traceLogDisabled?: boolean;
807
+ /**
808
+ * Testing bridge for E2E tests
809
+ * Only available when NODE_ENV=development
810
+ */
811
+ __traceLogBridge?: TraceLogTestBridge;
812
+ }
813
+ }
814
+
815
+ declare const MAX_CUSTOM_EVENT_NAME_LENGTH = 120;
816
+ declare const MAX_CUSTOM_EVENT_STRING_SIZE: number;
817
+ declare const MAX_CUSTOM_EVENT_KEYS = 10;
818
+ declare const MAX_CUSTOM_EVENT_ARRAY_SIZE = 10;
819
+ declare const MAX_NESTED_OBJECT_KEYS = 20;
820
+ declare const MAX_METADATA_NESTING_DEPTH = 1;
821
+ declare const MAX_STRING_LENGTH = 1000;
822
+ declare const MAX_STRING_LENGTH_IN_ARRAY = 500;
823
+ declare const MAX_ARRAY_LENGTH = 100;
824
+
825
+ declare const PERFORMANCE_CONFIG: {
826
+ readonly WEB_VITALS_THRESHOLDS: Record<WebVitalType, number>;
827
+ };
828
+ declare const DATA_PROTECTION: {
829
+ readonly PII_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
830
+ };
831
+ declare const ENGAGEMENT_THRESHOLDS: {
832
+ readonly LOW_ACTIVITY_EVENT_COUNT: 50;
833
+ readonly HIGH_ACTIVITY_EVENT_COUNT: 1000;
834
+ readonly MIN_EVENTS_FOR_DYNAMIC_CALCULATION: 100;
835
+ readonly MIN_EVENTS_FOR_TREND_ANALYSIS: 30;
836
+ readonly BOUNCE_RATE_SESSION_THRESHOLD: 1;
837
+ readonly MIN_ENGAGED_SESSION_DURATION_MS: number;
838
+ readonly MIN_SCROLL_DEPTH_ENGAGEMENT: 25;
839
+ };
840
+ declare const SESSION_ANALYTICS: {
841
+ readonly INACTIVITY_TIMEOUT_MS: number;
842
+ readonly SHORT_SESSION_THRESHOLD_MS: number;
843
+ readonly MEDIUM_SESSION_THRESHOLD_MS: number;
844
+ readonly LONG_SESSION_THRESHOLD_MS: number;
845
+ readonly MAX_REALISTIC_SESSION_DURATION_MS: number;
846
+ };
847
+ declare const DEVICE_ANALYTICS: {
848
+ readonly MOBILE_MAX_WIDTH: 768;
849
+ readonly TABLET_MAX_WIDTH: 1024;
850
+ readonly MOBILE_PERFORMANCE_FACTOR: 1.5;
851
+ readonly TABLET_PERFORMANCE_FACTOR: 1.2;
852
+ };
853
+ declare const CONTENT_ANALYTICS: {
854
+ readonly MIN_TEXT_LENGTH_FOR_ANALYSIS: 10;
855
+ readonly MIN_CLICKS_FOR_HOT_ELEMENT: 10;
856
+ readonly MIN_SCROLL_COMPLETION_PERCENT: 80;
857
+ readonly MIN_TIME_ON_PAGE_FOR_READ_MS: number;
858
+ };
859
+ declare const INSIGHT_THRESHOLDS: {
860
+ readonly SIGNIFICANT_CHANGE_PERCENT: 20;
861
+ readonly MAJOR_CHANGE_PERCENT: 50;
862
+ readonly MIN_EVENTS_FOR_INSIGHT: 100;
863
+ readonly MIN_SESSIONS_FOR_INSIGHT: 10;
864
+ readonly MIN_CORRELATION_STRENGTH: 0.7;
865
+ readonly LOW_ERROR_RATE_PERCENT: 1;
866
+ readonly HIGH_ERROR_RATE_PERCENT: 5;
867
+ readonly CRITICAL_ERROR_RATE_PERCENT: 10;
868
+ };
869
+ declare const TEMPORAL_ANALYSIS: {
870
+ readonly SHORT_TERM_TREND_HOURS: 24;
871
+ readonly MEDIUM_TERM_TREND_DAYS: 7;
872
+ readonly LONG_TERM_TREND_DAYS: 30;
873
+ readonly MIN_DATA_POINTS_FOR_TREND: 5;
874
+ readonly WEEKLY_PATTERN_MIN_WEEKS: 4;
875
+ readonly DAILY_PATTERN_MIN_DAYS: 14;
876
+ };
877
+ declare const SEGMENTATION_ANALYTICS: {
878
+ readonly MIN_SEGMENT_SIZE: 10;
879
+ readonly MIN_COHORT_SIZE: 5;
880
+ readonly COHORT_ANALYSIS_DAYS: readonly [1, 3, 7, 14, 30];
881
+ readonly MIN_FUNNEL_EVENTS: 20;
882
+ };
883
+ declare const ANALYTICS_QUERY_LIMITS: {
884
+ readonly DEFAULT_EVENTS_LIMIT: 5;
885
+ readonly DEFAULT_SESSIONS_LIMIT: 5;
886
+ readonly DEFAULT_PAGES_LIMIT: 5;
887
+ readonly MAX_EVENTS_FOR_DEEP_ANALYSIS: 10000;
888
+ readonly MAX_TIME_RANGE_DAYS: 365;
889
+ readonly ANALYTICS_BATCH_SIZE: 1000;
890
+ };
891
+ declare const ANOMALY_DETECTION: {
892
+ readonly ANOMALY_THRESHOLD_SIGMA: 2.5;
893
+ readonly STRONG_ANOMALY_THRESHOLD_SIGMA: 3;
894
+ readonly TRAFFIC_DROP_ALERT_PERCENT: -30;
895
+ readonly TRAFFIC_SPIKE_ALERT_PERCENT: 200;
896
+ readonly MIN_BASELINE_DAYS: 7;
897
+ readonly MIN_EVENTS_FOR_ANOMALY_DETECTION: 50;
898
+ };
899
+ declare const SPECIAL_PAGE_URLS: {
900
+ readonly PAGE_URL_EXCLUDED: "excluded";
901
+ readonly PAGE_URL_UNKNOWN: "unknown";
902
+ };
903
+
904
+ declare const tracelog: {
905
+ init: (config?: Config) => Promise<void>;
906
+ event: (name: string, metadata?: Record<string, MetadataType> | Record<string, MetadataType>[]) => void;
907
+ on: <K extends keyof EmitterMap>(event: K, callback: EmitterCallback<EmitterMap[K]>) => void;
908
+ off: <K extends keyof EmitterMap>(event: K, callback: EmitterCallback<EmitterMap[K]>) => void;
909
+ isInitialized: () => boolean;
910
+ destroy: () => void;
911
+ };
912
+
913
+ export { ANALYTICS_QUERY_LIMITS, ANOMALY_DETECTION, AppConfigValidationError, CONTENT_ANALYTICS, type ClickCoordinates, type ClickData, type ClickTrackingElementData, type Config, type CustomEventData, DATA_PROTECTION, DEVICE_ANALYTICS, DeviceType, ENGAGEMENT_THRESHOLDS, type EmitterCallback, EmitterEvent, type EmitterMap, type ErrorData, ErrorType, type EventData, EventType, type EventsQueue, INSIGHT_THRESHOLDS, InitializationTimeoutError, IntegrationValidationError, type LogLevel, MAX_ARRAY_LENGTH, MAX_CUSTOM_EVENT_ARRAY_SIZE, MAX_CUSTOM_EVENT_KEYS, MAX_CUSTOM_EVENT_NAME_LENGTH, MAX_CUSTOM_EVENT_STRING_SIZE, MAX_METADATA_NESTING_DEPTH, MAX_NESTED_OBJECT_KEYS, MAX_STRING_LENGTH, MAX_STRING_LENGTH_IN_ARRAY, type MetadataType, Mode, PERFORMANCE_CONFIG, type PageViewData, PermanentError, type PersistedEventsQueue, type PrimaryScrollEvent, SEGMENTATION_ANALYTICS, SESSION_ANALYTICS, SPECIAL_PAGE_URLS, SamplingRateValidationError, type ScrollData, ScrollDirection, type SecondaryScrollEvent, type SessionEndReason, SessionTimeoutValidationError, SpecialApiUrl, type State, TEMPORAL_ANALYSIS, type TraceLogTestBridge, TraceLogValidationError, type UTM, type ViewportConfig, type ViewportElement, type ViewportEventData, type WebVitalType, type WebVitalsData, isPrimaryScrollEvent, isSecondaryScrollEvent, tracelog };