x-twitter-scraper 0.12.3 → 0.13.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 (473) hide show
  1. package/CHANGELOG.md +73 -2
  2. package/README.md +66 -51
  3. package/client.d.mts +18 -15
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +18 -15
  6. package/client.d.ts.map +1 -1
  7. package/client.js +3 -3
  8. package/client.js.map +1 -1
  9. package/client.mjs +4 -4
  10. package/client.mjs.map +1 -1
  11. package/core/streaming.d.mts +33 -0
  12. package/core/streaming.d.mts.map +1 -0
  13. package/core/streaming.d.ts +33 -0
  14. package/core/streaming.d.ts.map +1 -0
  15. package/core/streaming.js +270 -0
  16. package/core/streaming.js.map +1 -0
  17. package/core/streaming.mjs +265 -0
  18. package/core/streaming.mjs.map +1 -0
  19. package/internal/decoders/line.d.mts +17 -0
  20. package/internal/decoders/line.d.mts.map +1 -0
  21. package/internal/decoders/line.d.ts +17 -0
  22. package/internal/decoders/line.d.ts.map +1 -0
  23. package/internal/decoders/line.js +116 -0
  24. package/internal/decoders/line.js.map +1 -0
  25. package/internal/decoders/line.mjs +111 -0
  26. package/internal/decoders/line.mjs.map +1 -0
  27. package/internal/parse.d.mts.map +1 -1
  28. package/internal/parse.d.ts.map +1 -1
  29. package/internal/parse.js +7 -0
  30. package/internal/parse.js.map +1 -1
  31. package/internal/parse.mjs +7 -0
  32. package/internal/parse.mjs.map +1 -1
  33. package/internal/tslib.js +18 -18
  34. package/package.json +23 -5
  35. package/resources/account.d.mts +35 -12
  36. package/resources/account.d.mts.map +1 -1
  37. package/resources/account.d.ts +35 -12
  38. package/resources/account.d.ts.map +1 -1
  39. package/resources/account.js +4 -3
  40. package/resources/account.js.map +1 -1
  41. package/resources/account.mjs +4 -3
  42. package/resources/account.mjs.map +1 -1
  43. package/resources/compose.d.mts +77 -21
  44. package/resources/compose.d.mts.map +1 -1
  45. package/resources/compose.d.ts +77 -21
  46. package/resources/compose.d.ts.map +1 -1
  47. package/resources/compose.js +3 -4
  48. package/resources/compose.js.map +1 -1
  49. package/resources/compose.mjs +3 -4
  50. package/resources/compose.mjs.map +1 -1
  51. package/resources/credits.d.mts +18 -10
  52. package/resources/credits.d.mts.map +1 -1
  53. package/resources/credits.d.ts +18 -10
  54. package/resources/credits.d.ts.map +1 -1
  55. package/resources/credits.js +5 -4
  56. package/resources/credits.js.map +1 -1
  57. package/resources/credits.mjs +5 -4
  58. package/resources/credits.mjs.map +1 -1
  59. package/resources/drafts.d.mts +13 -17
  60. package/resources/drafts.d.mts.map +1 -1
  61. package/resources/drafts.d.ts +13 -17
  62. package/resources/drafts.d.ts.map +1 -1
  63. package/resources/drafts.js +4 -4
  64. package/resources/drafts.mjs +4 -4
  65. package/resources/draws.d.mts +84 -28
  66. package/resources/draws.d.mts.map +1 -1
  67. package/resources/draws.d.ts +84 -28
  68. package/resources/draws.d.ts.map +1 -1
  69. package/resources/draws.js +24 -9
  70. package/resources/draws.js.map +1 -1
  71. package/resources/draws.mjs +24 -9
  72. package/resources/draws.mjs.map +1 -1
  73. package/resources/events.d.mts +2564 -21
  74. package/resources/events.d.mts.map +1 -1
  75. package/resources/events.d.ts +2564 -21
  76. package/resources/events.d.ts.map +1 -1
  77. package/resources/events.js +34 -2
  78. package/resources/events.js.map +1 -1
  79. package/resources/events.mjs +34 -2
  80. package/resources/events.mjs.map +1 -1
  81. package/resources/extractions.d.mts +410 -128
  82. package/resources/extractions.d.mts.map +1 -1
  83. package/resources/extractions.d.ts +410 -128
  84. package/resources/extractions.d.ts.map +1 -1
  85. package/resources/extractions.js +74 -12
  86. package/resources/extractions.js.map +1 -1
  87. package/resources/extractions.mjs +74 -12
  88. package/resources/extractions.mjs.map +1 -1
  89. package/resources/guest-wallets.d.mts +6 -5
  90. package/resources/guest-wallets.d.mts.map +1 -1
  91. package/resources/guest-wallets.d.ts +6 -5
  92. package/resources/guest-wallets.d.ts.map +1 -1
  93. package/resources/guest-wallets.js +2 -1
  94. package/resources/guest-wallets.js.map +1 -1
  95. package/resources/guest-wallets.mjs +2 -1
  96. package/resources/guest-wallets.mjs.map +1 -1
  97. package/resources/index.d.mts +6 -6
  98. package/resources/index.d.mts.map +1 -1
  99. package/resources/index.d.ts +6 -6
  100. package/resources/index.d.ts.map +1 -1
  101. package/resources/index.js.map +1 -1
  102. package/resources/index.mjs +1 -1
  103. package/resources/index.mjs.map +1 -1
  104. package/resources/monitors/index.d.mts +2 -2
  105. package/resources/monitors/index.d.mts.map +1 -1
  106. package/resources/monitors/index.d.ts +2 -2
  107. package/resources/monitors/index.d.ts.map +1 -1
  108. package/resources/monitors/index.js.map +1 -1
  109. package/resources/monitors/index.mjs.map +1 -1
  110. package/resources/monitors/keywords.d.mts +66 -14
  111. package/resources/monitors/keywords.d.mts.map +1 -1
  112. package/resources/monitors/keywords.d.ts +66 -14
  113. package/resources/monitors/keywords.d.ts.map +1 -1
  114. package/resources/monitors/keywords.js +16 -10
  115. package/resources/monitors/keywords.js.map +1 -1
  116. package/resources/monitors/keywords.mjs +16 -10
  117. package/resources/monitors/keywords.mjs.map +1 -1
  118. package/resources/monitors/monitors.d.mts +53 -16
  119. package/resources/monitors/monitors.d.mts.map +1 -1
  120. package/resources/monitors/monitors.d.ts +53 -16
  121. package/resources/monitors/monitors.d.ts.map +1 -1
  122. package/resources/monitors/monitors.js +12 -10
  123. package/resources/monitors/monitors.js.map +1 -1
  124. package/resources/monitors/monitors.mjs +12 -10
  125. package/resources/monitors/monitors.mjs.map +1 -1
  126. package/resources/radar.d.mts +32 -36
  127. package/resources/radar.d.mts.map +1 -1
  128. package/resources/radar.d.ts +32 -36
  129. package/resources/radar.d.ts.map +1 -1
  130. package/resources/radar.js +1 -1
  131. package/resources/radar.mjs +1 -1
  132. package/resources/shared.d.mts +1726 -233
  133. package/resources/shared.d.mts.map +1 -1
  134. package/resources/shared.d.ts +1726 -233
  135. package/resources/shared.d.ts.map +1 -1
  136. package/resources/styles.d.mts +34 -23
  137. package/resources/styles.d.mts.map +1 -1
  138. package/resources/styles.d.ts +34 -23
  139. package/resources/styles.d.ts.map +1 -1
  140. package/resources/styles.js +11 -13
  141. package/resources/styles.js.map +1 -1
  142. package/resources/styles.mjs +11 -13
  143. package/resources/styles.mjs.map +1 -1
  144. package/resources/subscribe.d.mts +1 -1
  145. package/resources/subscribe.d.ts +1 -1
  146. package/resources/subscribe.js +1 -1
  147. package/resources/subscribe.mjs +1 -1
  148. package/resources/support/index.d.mts +1 -1
  149. package/resources/support/index.d.mts.map +1 -1
  150. package/resources/support/index.d.ts +1 -1
  151. package/resources/support/index.d.ts.map +1 -1
  152. package/resources/support/index.js.map +1 -1
  153. package/resources/support/index.mjs.map +1 -1
  154. package/resources/support/support.d.mts +2 -2
  155. package/resources/support/support.d.mts.map +1 -1
  156. package/resources/support/support.d.ts +2 -2
  157. package/resources/support/support.d.ts.map +1 -1
  158. package/resources/support/support.js.map +1 -1
  159. package/resources/support/support.mjs.map +1 -1
  160. package/resources/support/tickets.d.mts +30 -10
  161. package/resources/support/tickets.d.mts.map +1 -1
  162. package/resources/support/tickets.d.ts +30 -10
  163. package/resources/support/tickets.d.ts.map +1 -1
  164. package/resources/support/tickets.js +7 -7
  165. package/resources/support/tickets.js.map +1 -1
  166. package/resources/support/tickets.mjs +7 -7
  167. package/resources/support/tickets.mjs.map +1 -1
  168. package/resources/trends.d.mts +21 -5
  169. package/resources/trends.d.mts.map +1 -1
  170. package/resources/trends.d.ts +21 -5
  171. package/resources/trends.d.ts.map +1 -1
  172. package/resources/trends.js +2 -1
  173. package/resources/trends.js.map +1 -1
  174. package/resources/trends.mjs +2 -1
  175. package/resources/trends.mjs.map +1 -1
  176. package/resources/webhooks.d.mts +80 -14
  177. package/resources/webhooks.d.mts.map +1 -1
  178. package/resources/webhooks.d.ts +80 -14
  179. package/resources/webhooks.d.ts.map +1 -1
  180. package/resources/webhooks.js +30 -11
  181. package/resources/webhooks.js.map +1 -1
  182. package/resources/webhooks.mjs +30 -11
  183. package/resources/webhooks.mjs.map +1 -1
  184. package/resources/x/account-connection-attempts.d.mts +1 -1
  185. package/resources/x/account-connection-attempts.d.ts +1 -1
  186. package/resources/x/account-connection-attempts.js +1 -1
  187. package/resources/x/account-connection-attempts.mjs +1 -1
  188. package/resources/x/account-connection-challenges.d.mts +30 -11
  189. package/resources/x/account-connection-challenges.d.mts.map +1 -1
  190. package/resources/x/account-connection-challenges.d.ts +30 -11
  191. package/resources/x/account-connection-challenges.d.ts.map +1 -1
  192. package/resources/x/account-connection-challenges.js +5 -4
  193. package/resources/x/account-connection-challenges.js.map +1 -1
  194. package/resources/x/account-connection-challenges.mjs +5 -4
  195. package/resources/x/account-connection-challenges.mjs.map +1 -1
  196. package/resources/x/accounts.d.mts +38 -10
  197. package/resources/x/accounts.d.mts.map +1 -1
  198. package/resources/x/accounts.d.ts +38 -10
  199. package/resources/x/accounts.d.ts.map +1 -1
  200. package/resources/x/accounts.js +8 -7
  201. package/resources/x/accounts.js.map +1 -1
  202. package/resources/x/accounts.mjs +8 -7
  203. package/resources/x/accounts.mjs.map +1 -1
  204. package/resources/x/analysis.d.mts +3274 -0
  205. package/resources/x/analysis.d.mts.map +1 -0
  206. package/resources/x/analysis.d.ts +3274 -0
  207. package/resources/x/analysis.d.ts.map +1 -0
  208. package/resources/x/analysis.js +132 -0
  209. package/resources/x/analysis.js.map +1 -0
  210. package/resources/x/analysis.mjs +128 -0
  211. package/resources/x/analysis.mjs.map +1 -0
  212. package/resources/x/bookmarks.d.mts +84 -9
  213. package/resources/x/bookmarks.d.mts.map +1 -1
  214. package/resources/x/bookmarks.d.ts +84 -9
  215. package/resources/x/bookmarks.d.ts.map +1 -1
  216. package/resources/x/bookmarks.js +6 -4
  217. package/resources/x/bookmarks.js.map +1 -1
  218. package/resources/x/bookmarks.mjs +6 -4
  219. package/resources/x/bookmarks.mjs.map +1 -1
  220. package/resources/x/broadcasts.d.mts +176 -0
  221. package/resources/x/broadcasts.d.mts.map +1 -0
  222. package/resources/x/broadcasts.d.ts +176 -0
  223. package/resources/x/broadcasts.d.ts.map +1 -0
  224. package/resources/x/broadcasts.js +29 -0
  225. package/resources/x/broadcasts.js.map +1 -0
  226. package/resources/x/broadcasts.mjs +25 -0
  227. package/resources/x/broadcasts.mjs.map +1 -0
  228. package/resources/x/communities/communities.d.mts +612 -128
  229. package/resources/x/communities/communities.d.mts.map +1 -1
  230. package/resources/x/communities/communities.d.ts +612 -128
  231. package/resources/x/communities/communities.d.ts.map +1 -1
  232. package/resources/x/communities/communities.js +96 -17
  233. package/resources/x/communities/communities.js.map +1 -1
  234. package/resources/x/communities/communities.mjs +96 -17
  235. package/resources/x/communities/communities.mjs.map +1 -1
  236. package/resources/x/communities/index.d.mts +2 -1
  237. package/resources/x/communities/index.d.mts.map +1 -1
  238. package/resources/x/communities/index.d.ts +2 -1
  239. package/resources/x/communities/index.d.ts.map +1 -1
  240. package/resources/x/communities/index.js +3 -1
  241. package/resources/x/communities/index.js.map +1 -1
  242. package/resources/x/communities/index.mjs +1 -0
  243. package/resources/x/communities/index.mjs.map +1 -1
  244. package/resources/x/communities/join.d.mts +46 -25
  245. package/resources/x/communities/join.d.mts.map +1 -1
  246. package/resources/x/communities/join.d.ts +46 -25
  247. package/resources/x/communities/join.d.ts.map +1 -1
  248. package/resources/x/communities/join.js +10 -7
  249. package/resources/x/communities/join.js.map +1 -1
  250. package/resources/x/communities/join.mjs +10 -7
  251. package/resources/x/communities/join.mjs.map +1 -1
  252. package/resources/x/communities/media.d.mts +197 -0
  253. package/resources/x/communities/media.d.mts.map +1 -0
  254. package/resources/x/communities/media.d.ts +197 -0
  255. package/resources/x/communities/media.d.ts.map +1 -0
  256. package/resources/x/communities/media.js +29 -0
  257. package/resources/x/communities/media.js.map +1 -0
  258. package/resources/x/communities/media.mjs +25 -0
  259. package/resources/x/communities/media.mjs.map +1 -0
  260. package/resources/x/communities/tweets.d.mts +350 -20
  261. package/resources/x/communities/tweets.d.mts.map +1 -1
  262. package/resources/x/communities/tweets.d.ts +350 -20
  263. package/resources/x/communities/tweets.d.ts.map +1 -1
  264. package/resources/x/communities/tweets.js +8 -7
  265. package/resources/x/communities/tweets.js.map +1 -1
  266. package/resources/x/communities/tweets.mjs +8 -7
  267. package/resources/x/communities/tweets.mjs.map +1 -1
  268. package/resources/x/dm.d.mts +245 -13
  269. package/resources/x/dm.d.mts.map +1 -1
  270. package/resources/x/dm.d.ts +245 -13
  271. package/resources/x/dm.d.ts.map +1 -1
  272. package/resources/x/dm.js +29 -2
  273. package/resources/x/dm.js.map +1 -1
  274. package/resources/x/dm.mjs +29 -2
  275. package/resources/x/dm.mjs.map +1 -1
  276. package/resources/x/followers.d.mts +31 -3
  277. package/resources/x/followers.d.mts.map +1 -1
  278. package/resources/x/followers.d.ts +31 -3
  279. package/resources/x/followers.d.ts.map +1 -1
  280. package/resources/x/followers.js +2 -1
  281. package/resources/x/followers.js.map +1 -1
  282. package/resources/x/followers.mjs +2 -1
  283. package/resources/x/followers.mjs.map +1 -1
  284. package/resources/x/index.d.mts +12 -8
  285. package/resources/x/index.d.mts.map +1 -1
  286. package/resources/x/index.d.ts +12 -8
  287. package/resources/x/index.d.ts.map +1 -1
  288. package/resources/x/index.js +9 -1
  289. package/resources/x/index.js.map +1 -1
  290. package/resources/x/index.mjs +5 -1
  291. package/resources/x/index.mjs.map +1 -1
  292. package/resources/x/jobs.d.mts +506 -0
  293. package/resources/x/jobs.d.mts.map +1 -0
  294. package/resources/x/jobs.d.ts +506 -0
  295. package/resources/x/jobs.d.ts.map +1 -0
  296. package/resources/x/jobs.js +60 -0
  297. package/resources/x/jobs.js.map +1 -0
  298. package/resources/x/jobs.mjs +56 -0
  299. package/resources/x/jobs.mjs.map +1 -0
  300. package/resources/x/lists.d.mts +1058 -27
  301. package/resources/x/lists.d.mts.map +1 -1
  302. package/resources/x/lists.d.ts +1058 -27
  303. package/resources/x/lists.d.ts.map +1 -1
  304. package/resources/x/lists.js +39 -9
  305. package/resources/x/lists.js.map +1 -1
  306. package/resources/x/lists.mjs +39 -9
  307. package/resources/x/lists.mjs.map +1 -1
  308. package/resources/x/media.d.mts +24 -13
  309. package/resources/x/media.d.mts.map +1 -1
  310. package/resources/x/media.d.ts +24 -13
  311. package/resources/x/media.d.ts.map +1 -1
  312. package/resources/x/media.js +2 -2
  313. package/resources/x/media.mjs +2 -2
  314. package/resources/x/profile.d.mts +60 -33
  315. package/resources/x/profile.d.mts.map +1 -1
  316. package/resources/x/profile.d.ts +60 -33
  317. package/resources/x/profile.d.ts.map +1 -1
  318. package/resources/x/profile.js +3 -3
  319. package/resources/x/profile.mjs +3 -3
  320. package/resources/x/spaces.d.mts +857 -0
  321. package/resources/x/spaces.d.mts.map +1 -0
  322. package/resources/x/spaces.d.ts +857 -0
  323. package/resources/x/spaces.d.ts.map +1 -0
  324. package/resources/x/spaces.js +58 -0
  325. package/resources/x/spaces.js.map +1 -0
  326. package/resources/x/spaces.mjs +54 -0
  327. package/resources/x/spaces.mjs.map +1 -0
  328. package/resources/x/tweets/index.d.mts +1 -1
  329. package/resources/x/tweets/index.d.mts.map +1 -1
  330. package/resources/x/tweets/index.d.ts +1 -1
  331. package/resources/x/tweets/index.d.ts.map +1 -1
  332. package/resources/x/tweets/index.js.map +1 -1
  333. package/resources/x/tweets/index.mjs.map +1 -1
  334. package/resources/x/tweets/like.d.mts +38 -20
  335. package/resources/x/tweets/like.d.mts.map +1 -1
  336. package/resources/x/tweets/like.d.ts +38 -20
  337. package/resources/x/tweets/like.d.ts.map +1 -1
  338. package/resources/x/tweets/like.js +2 -2
  339. package/resources/x/tweets/like.mjs +2 -2
  340. package/resources/x/tweets/retweet.d.mts +38 -20
  341. package/resources/x/tweets/retweet.d.mts.map +1 -1
  342. package/resources/x/tweets/retweet.d.ts +38 -20
  343. package/resources/x/tweets/retweet.d.ts.map +1 -1
  344. package/resources/x/tweets/retweet.js +2 -2
  345. package/resources/x/tweets/retweet.mjs +2 -2
  346. package/resources/x/tweets/tweets.d.mts +2639 -326
  347. package/resources/x/tweets/tweets.d.mts.map +1 -1
  348. package/resources/x/tweets/tweets.d.ts +2639 -326
  349. package/resources/x/tweets/tweets.d.ts.map +1 -1
  350. package/resources/x/tweets/tweets.js +147 -21
  351. package/resources/x/tweets/tweets.js.map +1 -1
  352. package/resources/x/tweets/tweets.mjs +147 -21
  353. package/resources/x/tweets/tweets.mjs.map +1 -1
  354. package/resources/x/users/follow.d.mts +38 -20
  355. package/resources/x/users/follow.d.mts.map +1 -1
  356. package/resources/x/users/follow.d.ts +38 -20
  357. package/resources/x/users/follow.d.ts.map +1 -1
  358. package/resources/x/users/follow.js +2 -2
  359. package/resources/x/users/follow.mjs +2 -2
  360. package/resources/x/users/index.d.mts +1 -1
  361. package/resources/x/users/index.d.mts.map +1 -1
  362. package/resources/x/users/index.d.ts +1 -1
  363. package/resources/x/users/index.d.ts.map +1 -1
  364. package/resources/x/users/index.js.map +1 -1
  365. package/resources/x/users/index.mjs.map +1 -1
  366. package/resources/x/users/users.d.mts +3068 -457
  367. package/resources/x/users/users.d.mts.map +1 -1
  368. package/resources/x/users/users.d.ts +3068 -457
  369. package/resources/x/users/users.d.ts.map +1 -1
  370. package/resources/x/users/users.js +205 -22
  371. package/resources/x/users/users.js.map +1 -1
  372. package/resources/x/users/users.mjs +205 -22
  373. package/resources/x/users/users.mjs.map +1 -1
  374. package/resources/x/write-actions.d.mts +13 -6
  375. package/resources/x/write-actions.d.mts.map +1 -1
  376. package/resources/x/write-actions.d.ts +13 -6
  377. package/resources/x/write-actions.d.ts.map +1 -1
  378. package/resources/x/write-actions.js +1 -1
  379. package/resources/x/write-actions.mjs +1 -1
  380. package/resources/x/x.d.mts +864 -27
  381. package/resources/x/x.d.mts.map +1 -1
  382. package/resources/x/x.d.ts +864 -27
  383. package/resources/x/x.d.ts.map +1 -1
  384. package/resources/x/x.js +78 -5
  385. package/resources/x/x.js.map +1 -1
  386. package/resources/x/x.mjs +80 -7
  387. package/resources/x/x.mjs.map +1 -1
  388. package/skills/x-twitter-scraper/SKILL.md +97 -350
  389. package/skills/x-twitter-scraper/metadata.json +3 -9
  390. package/skills/x-twitter-scraper/references/draws.md +24 -24
  391. package/skills/x-twitter-scraper/references/extractions.md +71 -62
  392. package/skills/x-twitter-scraper/references/mcp-setup.md +36 -39
  393. package/skills/x-twitter-scraper/references/mcp-tools.md +105 -166
  394. package/skills/x-twitter-scraper/references/python-examples.md +5 -5
  395. package/skills/x-twitter-scraper/references/security.md +8 -8
  396. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +4 -4
  397. package/skills/x-twitter-scraper/references/types.md +0 -1
  398. package/skills/x-twitter-scraper/references/usage.md +5 -5
  399. package/skills/x-twitter-scraper/references/webhooks.md +28 -31
  400. package/skills/x-twitter-scraper/references/workflows.md +70 -71
  401. package/skills/x-twitter-scraper/skill-card.md +13 -14
  402. package/skills/x-twitter-scraper/skillspector-report.md +8 -5
  403. package/skills/xquik-account-automation/LICENSE +21 -0
  404. package/skills/xquik-account-automation/SKILL.md +91 -0
  405. package/skills/xquik-social-research/SKILL.md +49 -56
  406. package/src/client.ts +47 -4
  407. package/src/core/streaming.ts +328 -0
  408. package/src/internal/decoders/line.ts +140 -0
  409. package/src/internal/parse.ts +9 -0
  410. package/src/resources/account.ts +41 -12
  411. package/src/resources/compose.ts +77 -21
  412. package/src/resources/credits.ts +19 -10
  413. package/src/resources/drafts.ts +13 -22
  414. package/src/resources/draws.ts +94 -36
  415. package/src/resources/events.ts +3225 -68
  416. package/src/resources/extractions.ts +512 -125
  417. package/src/resources/guest-wallets.ts +6 -5
  418. package/src/resources/index.ts +24 -1
  419. package/src/resources/monitors/index.ts +2 -0
  420. package/src/resources/monitors/keywords.ts +82 -14
  421. package/src/resources/monitors/monitors.ts +66 -14
  422. package/src/resources/radar.ts +32 -36
  423. package/src/resources/shared.ts +2227 -351
  424. package/src/resources/styles.ts +43 -27
  425. package/src/resources/subscribe.ts +1 -1
  426. package/src/resources/support/index.ts +1 -0
  427. package/src/resources/support/support.ts +2 -0
  428. package/src/resources/support/tickets.ts +38 -10
  429. package/src/resources/trends.ts +23 -5
  430. package/src/resources/webhooks.ts +109 -15
  431. package/src/resources/x/account-connection-attempts.ts +1 -1
  432. package/src/resources/x/account-connection-challenges.ts +39 -11
  433. package/src/resources/x/accounts.ts +46 -10
  434. package/src/resources/x/analysis.ts +3947 -0
  435. package/src/resources/x/bookmarks.ts +103 -9
  436. package/src/resources/x/broadcasts.ts +225 -0
  437. package/src/resources/x/communities/communities.ts +743 -141
  438. package/src/resources/x/communities/index.ts +9 -0
  439. package/src/resources/x/communities/join.ts +46 -23
  440. package/src/resources/x/communities/media.ts +251 -0
  441. package/src/resources/x/communities/tweets.ts +427 -20
  442. package/src/resources/x/dm.ts +334 -11
  443. package/src/resources/x/followers.ts +35 -3
  444. package/src/resources/x/index.ts +106 -1
  445. package/src/resources/x/jobs.ts +627 -0
  446. package/src/resources/x/lists.ts +1307 -28
  447. package/src/resources/x/media.ts +24 -12
  448. package/src/resources/x/profile.ts +60 -30
  449. package/src/resources/x/spaces.ts +1076 -0
  450. package/src/resources/x/tweets/index.ts +18 -0
  451. package/src/resources/x/tweets/like.ts +38 -18
  452. package/src/resources/x/tweets/retweet.ts +38 -18
  453. package/src/resources/x/tweets/tweets.ts +3695 -843
  454. package/src/resources/x/users/follow.ts +38 -18
  455. package/src/resources/x/users/index.ts +22 -0
  456. package/src/resources/x/users/users.ts +3687 -465
  457. package/src/resources/x/write-actions.ts +13 -5
  458. package/src/resources/x/x.ts +1227 -15
  459. package/src/streaming.ts +6 -0
  460. package/src/version.ts +1 -1
  461. package/streaming.d.mts +3 -0
  462. package/streaming.d.mts.map +1 -0
  463. package/streaming.d.ts +3 -0
  464. package/streaming.d.ts.map +1 -0
  465. package/streaming.js +9 -0
  466. package/streaming.js.map +1 -0
  467. package/streaming.mjs +6 -0
  468. package/streaming.mjs.map +1 -0
  469. package/version.d.mts +1 -1
  470. package/version.d.ts +1 -1
  471. package/version.js +1 -1
  472. package/version.mjs +1 -1
  473. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -15
@@ -7,6 +7,8 @@
7
7
  import { APIResource } from '../core/resource';
8
8
  import * as Shared from './shared';
9
9
  import { APIPromise } from '../core/api-promise';
10
+ import { Stream } from '../core/streaming';
11
+ import { buildHeaders } from '../internal/headers';
10
12
  import { RequestOptions } from '../internal/request-options';
11
13
  import { path } from '../internal/utils/path';
12
14
 
@@ -15,14 +17,14 @@ import { path } from '../internal/utils/path';
15
17
  */
16
18
  export class Events extends APIResource {
17
19
  /**
18
- * Get event
20
+ * Returns one monitor event owned by the account.
19
21
  */
20
22
  retrieve(id: string, options?: RequestOptions): APIPromise<EventDetail> {
21
23
  return this._client.get(path`/events/${id}`, options);
22
24
  }
23
25
 
24
26
  /**
25
- * List events
27
+ * Returns monitor events with cursor pagination and filters.
26
28
  */
27
29
  list(
28
30
  query: EventListParams | null | undefined = {},
@@ -30,6 +32,41 @@ export class Events extends APIResource {
30
32
  ): APIPromise<EventListResponse> {
31
33
  return this._client.get('/events', { query, ...options });
32
34
  }
35
+
36
+ /**
37
+ * Streams the account's monitor events as server-sent events, each named by its
38
+ * event type and numbered by its event ID. A reconnect that sends Last-Event-ID
39
+ * first gets every event after that one from the last 30 days, then each new
40
+ * event. A connection lasts up to 30 minutes and sends a comment every 15 seconds
41
+ * while idle. Keep up to 5 streams open per account. Events and streams cost no
42
+ * credits.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * const stream = await client.events.stream();
47
+ *
48
+ * for await (const event of stream) {
49
+ * console.log(event);
50
+ * }
51
+ * ```
52
+ */
53
+ stream(
54
+ params: EventStreamParams | null | undefined = {},
55
+ options?: RequestOptions,
56
+ ): APIPromise<Stream<Event>> {
57
+ const { 'Last-Event-ID': lastEventID } = params ?? {};
58
+ return this._client.get('/events/stream', {
59
+ ...options,
60
+ headers: buildHeaders([
61
+ {
62
+ Accept: 'text/event-stream',
63
+ ...(lastEventID != null ? { 'Last-Event-ID': lastEventID } : undefined),
64
+ },
65
+ options?.headers,
66
+ ]),
67
+ stream: true,
68
+ }) as APIPromise<Stream<Event>>;
69
+ }
33
70
  }
34
71
 
35
72
  /**
@@ -38,7 +75,10 @@ export class Events extends APIResource {
38
75
  export interface Event {
39
76
  id: string;
40
77
 
41
- data: { [key: string]: unknown };
78
+ /**
79
+ * Post fields match REST. Legacy fields remain available.
80
+ */
81
+ data: Event.MonitorPost | Event.MonitorProfileChange | Event.MonitorLegacyPost;
42
82
 
43
83
  /**
44
84
  * Account monitor ID for account events, or keyword monitor ID for keyword events.
@@ -53,7 +93,13 @@ export interface Event {
53
93
  occurredAt: string;
54
94
 
55
95
  /**
56
- * Type of monitor event fired when account activity occurs.
96
+ * Type of monitor event fired when account activity occurs. tweet.deleted fires
97
+ * once X confirms the account deleted a post the monitor saw. Its data is the post
98
+ * as last seen. broadcast.started & space.started fire when the account posts its
99
+ * running live video or Space. Their data is that post. A live the account does
100
+ * not post is not seen. following.added & following.removed fire when the account
101
+ * follows or unfollows someone, with that account's profile. Keyword monitors take
102
+ * the 10 post types only.
57
103
  */
58
104
  type: Shared.EventType;
59
105
 
@@ -62,99 +108,3209 @@ export interface Event {
62
108
  */
63
109
  keywordMonitorId?: string;
64
110
 
111
+ /**
112
+ * Your monitor label when Xquik created the event, present when set. A rename
113
+ * leaves the event's label unchanged.
114
+ */
115
+ monitorName?: string;
116
+
65
117
  /**
66
118
  * Keyword query, present for keyword monitor events.
67
119
  */
68
120
  query?: string;
69
121
 
70
122
  /**
71
- * Account username, present for account monitor events.
123
+ * Current account username, present for account monitor events.
72
124
  */
73
125
  username?: string;
74
- }
75
-
76
- /**
77
- * Full monitor event including payload data and optional X event ID.
78
- */
79
- export interface EventDetail {
80
- id: string;
81
126
 
82
127
  /**
83
- * Event payload - shape varies by event type (JSON)
128
+ * Permanent X user ID of the monitored account, present for account monitor
129
+ * events. It stays the same after a username change.
84
130
  */
85
- data: { [key: string]: unknown };
131
+ xUserId?: string;
132
+ }
86
133
 
134
+ export namespace Event {
87
135
  /**
88
- * Monitor ID associated with this detailed event payload.
136
+ * Monitored post with public fields and retained legacy fields.
89
137
  */
90
- monitorId: string;
138
+ export interface MonitorPost {
139
+ id: string;
91
140
 
92
- /**
93
- * Source monitor type for this detailed event.
94
- */
95
- monitorType: 'account' | 'keyword';
141
+ bookmarkCount: number;
96
142
 
97
- occurredAt: string;
143
+ likeCount: number;
98
144
 
99
- /**
100
- * Type of monitor event fired when account activity occurs.
101
- */
102
- type: Shared.EventType;
145
+ quoteCount: number;
103
146
 
104
- /**
105
- * Keyword monitor ID included on detailed keyword events.
106
- */
107
- keywordMonitorId?: string;
147
+ replyCount: number;
108
148
 
109
- /**
110
- * Keyword query for this detailed monitor event.
111
- */
112
- query?: string;
149
+ retweetCount: number;
113
150
 
114
- /**
115
- * Account username for this detailed monitor event.
116
- */
117
- username?: string;
151
+ text: string;
118
152
 
119
- xEventId?: string;
120
- }
153
+ viewCount: number;
121
154
 
122
- export interface EventListResponse {
123
- events: Array<Event>;
155
+ /**
156
+ * Describes an X Article preview and its lifecycle metadata.
157
+ */
158
+ article?: MonitorPost.Article;
124
159
 
125
- hasMore: boolean;
160
+ /**
161
+ * Public profile with retained legacy monitor fields.
162
+ */
163
+ author?: MonitorPost.Author;
126
164
 
127
- nextCursor?: string;
128
- }
165
+ /**
166
+ * Why the tweet has no author. X serves a suspended or deleted account as an
167
+ * unavailable user with a reason such as Suspended or NotFound. Omitted when the
168
+ * author is available.
169
+ */
170
+ authorUnavailable?: MonitorPost.AuthorUnavailable;
129
171
 
130
- export interface EventListParams {
131
- /**
132
- * Previous nextCursor.
133
- */
134
- cursor?: string;
172
+ card?: MonitorPost.Card;
135
173
 
136
- /**
137
- * Filter events by type
138
- */
139
- eventType?: Shared.EventType;
174
+ /**
175
+ * Price charts the author attached under the post, 1 per cashtag. Absent when the
176
+ * post has none. X may send a cashtag without a chart window.
177
+ */
178
+ cashtagAttachments?: Array<MonitorPost.CashtagAttachment>;
140
179
 
141
- /**
142
- * Keyword monitor ID.
143
- */
144
- keywordMonitorId?: string;
180
+ /**
181
+ * Community ID.
182
+ */
183
+ communityId?: string;
145
184
 
146
- /**
147
- * Maximum number of items to return (1-100, default 50). For paid per-result
148
- * endpoints, the returned count may be lower when available usage balance cannot cover
149
- * the requested page. If zero paid results are affordable, the endpoint returns
150
- * 402 insufficient_credits.
151
- */
152
- limit?: number;
185
+ /**
186
+ * Community name. Present when X sends it with the post.
187
+ */
188
+ communityName?: string;
153
189
 
154
- /**
155
- * Account monitor ID.
156
- */
157
- monitorId?: string;
190
+ /**
191
+ * Community Note presentation metadata returned by X.
192
+ */
193
+ communityNote?: MonitorPost.CommunityNote;
194
+
195
+ /**
196
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
197
+ * partnership content or AI-generated media.
198
+ */
199
+ contentDisclosure?: Shared.ContentDisclosure;
200
+
201
+ /**
202
+ * Reply policy & conversation owner.
203
+ */
204
+ conversationControl?: MonitorPost.ConversationControl;
205
+
206
+ conversationId?: string;
207
+
208
+ /**
209
+ * Author-published point, with longitude before latitude.
210
+ */
211
+ coordinates?: MonitorPost.Coordinates;
212
+
213
+ createdAt?: string;
214
+
215
+ displayTextRange?: Array<number>;
216
+
217
+ /**
218
+ * Lists edit-chain identifiers and the remaining edit window.
219
+ */
220
+ edit?: MonitorPost.Edit;
221
+
222
+ /**
223
+ * Lists hashtags, symbols, links, and mentions from tweet text.
224
+ */
225
+ entities?: MonitorPost.Entities;
226
+
227
+ /**
228
+ * Marks a subscriber-only post with the creator whose subscription unlocks it.
229
+ * Non-subscribers get the preview text & the subscribe link. Omitted on public
230
+ * posts.
231
+ */
232
+ exclusiveContent?: MonitorPost.ExclusiveContent;
233
+
234
+ /**
235
+ * Author-published point, with latitude before longitude.
236
+ */
237
+ geo?: MonitorPost.Geo;
238
+
239
+ /**
240
+ * Public metadata whose fields are defined by X.
241
+ */
242
+ grokShareAttachment?: { [key: string]: unknown };
243
+
244
+ /**
245
+ * Grok's translation of the post, as X shows it.
246
+ */
247
+ grokTranslatedPost?: { [key: string]: unknown };
248
+
249
+ /**
250
+ * Whether X holds Community Notes on the post, shown or not.
251
+ */
252
+ hasCommunityNotes?: boolean;
253
+
254
+ inReplyToId?: string;
255
+
256
+ inReplyToUserId?: string;
257
+
258
+ inReplyToUsername?: string;
259
+
260
+ /**
261
+ * The notice x.com covers the post with until the reader views it, such as X's
262
+ * public interest notice on a post that broke its rules but stays up.
263
+ */
264
+ interstitial?: MonitorPost.Interstitial;
265
+
266
+ isLimitedReply?: boolean;
267
+
268
+ isNoteTweet?: boolean;
269
+
270
+ isPinned?: boolean;
271
+
272
+ isQuoteStatus?: boolean;
273
+
274
+ isReply?: boolean;
275
+
276
+ isRetweet?: boolean;
277
+
278
+ isTranslatable?: boolean;
279
+
280
+ /**
281
+ * Public metadata whose fields are defined by X.
282
+ */
283
+ jetfuelAttachment?: { [key: string]: unknown };
284
+
285
+ lang?: string;
286
+
287
+ /**
288
+ * Public restrictions & prompts.
289
+ */
290
+ limitedActions?: Array<MonitorPost.LimitedAction>;
291
+
292
+ /**
293
+ * Media, omitted when unavailable.
294
+ */
295
+ media?: Array<Shared.TweetMedia>;
296
+
297
+ /**
298
+ * Complete Note Tweet content and rich-text metadata.
299
+ */
300
+ noteTweet?: MonitorPost.NoteTweet;
301
+
302
+ /**
303
+ * A parent, quoted or retweeted tweet. It has the TweetPublicData fields and an
304
+ * author. Nesting stops after 4 levels.
305
+ */
306
+ parentTweet?: Shared.EmbeddedTweet;
307
+
308
+ /**
309
+ * Describes public place metadata on a geotagged tweet.
310
+ */
311
+ place?: MonitorPost.Place;
312
+
313
+ possiblySensitive?: boolean;
314
+
315
+ /**
316
+ * Public metadata whose fields are defined by X.
317
+ */
318
+ postCta?: { [key: string]: unknown };
319
+
320
+ /**
321
+ * Engagement counts retained from a prior tweet edit.
322
+ */
323
+ previousCounts?: MonitorPost.PreviousCounts;
324
+
325
+ /**
326
+ * Embedded post with public fields and legacy profile aliases.
327
+ */
328
+ quoted_tweet?: MonitorPost.QuotedTweet;
329
+
330
+ quotedTweetId?: string;
331
+
332
+ /**
333
+ * The quoted post's link, kept when X withholds that post.
334
+ */
335
+ quotedTweetPermalink?: MonitorPost.QuotedTweetPermalink;
336
+
337
+ /**
338
+ * Why X shows no quoted post. Omitted when X names no reason, as its legacy
339
+ * answers never do.
340
+ */
341
+ quotedTweetUnavailable?: MonitorPost.QuotedTweetUnavailable;
342
+
343
+ reactionContext?: MonitorPost.ReactionContext;
344
+
345
+ /**
346
+ * Embedded post with public fields and legacy profile aliases.
347
+ */
348
+ retweeted_tweet?: MonitorPost.RetweetedTweet;
349
+
350
+ /**
351
+ * Repost event time in UTC. Null when unavailable; omitted for other posts.
352
+ */
353
+ retweetedAt?: string | null;
354
+
355
+ /**
356
+ * Public metadata whose fields are defined by X.
357
+ */
358
+ scopes?: { [key: string]: unknown };
359
+
360
+ /**
361
+ * The app the post was sent from, as X labels it. X sends it for some posts only.
362
+ */
363
+ source?: string;
364
+
365
+ /**
366
+ * Game metadata attached to this post.
367
+ */
368
+ sportsContext?: MonitorPost.SportsContext;
369
+
370
+ /**
371
+ * The Subscriber badge X shows on a reply. The reply's author subscribes to the
372
+ * creator who started the conversation. Omitted on a post without the badge.
373
+ */
374
+ subscriberBadge?: MonitorPost.SubscriberBadge;
375
+
376
+ /**
377
+ * Where `text` matches the search, on each row a search read. Offsets count code
378
+ * points of `text`, as `displayTextRange` does. Empty when X marks nothing in the
379
+ * post. X marks matches only in a post's first 280 characters.
380
+ */
381
+ textHighlights?: Array<MonitorPost.TextHighlight>;
382
+
383
+ /**
384
+ * Public visibility notice attached to an available tweet.
385
+ */
386
+ tombstone?: MonitorPost.Tombstone;
387
+
388
+ type?: string;
389
+
390
+ /**
391
+ * The author's ID when X withholds the author's profile.
392
+ */
393
+ unavailableAuthorId?: string;
394
+
395
+ /**
396
+ * User IDs that left this conversation.
397
+ */
398
+ unmentionedUserIds?: Array<string>;
399
+
400
+ url?: string;
401
+
402
+ viewState?: string;
403
+ }
404
+
405
+ export namespace MonitorPost {
406
+ /**
407
+ * Describes an X Article preview and its lifecycle metadata.
408
+ */
409
+ export interface Article {
410
+ id?: string;
411
+
412
+ /**
413
+ * Public metadata whose fields are defined by X.
414
+ */
415
+ coverMedia?: { [key: string]: unknown };
416
+
417
+ coverMediaUrl?: string;
418
+
419
+ /**
420
+ * Public metadata whose fields are defined by X.
421
+ */
422
+ lifecycleState?: { [key: string]: unknown };
423
+
424
+ /**
425
+ * Public metadata whose fields are defined by X.
426
+ */
427
+ metadata?: { [key: string]: unknown };
428
+
429
+ previewText?: string;
430
+
431
+ title?: string;
432
+ }
433
+
434
+ /**
435
+ * Public profile with retained legacy monitor fields.
436
+ */
437
+ export interface Author extends Shared.UserProfile {
438
+ /**
439
+ * Original X flag. Read verified for the displayed badge.
440
+ *
441
+ * @deprecated
442
+ */
443
+ rawVerified?: boolean;
444
+
445
+ /**
446
+ * Legacy username alias. Read username instead.
447
+ *
448
+ * @deprecated
449
+ */
450
+ userName?: string;
451
+ }
452
+
453
+ /**
454
+ * Why the tweet has no author. X serves a suspended or deleted account as an
455
+ * unavailable user with a reason such as Suspended or NotFound. Omitted when the
456
+ * author is available.
457
+ */
458
+ export interface AuthorUnavailable {
459
+ /**
460
+ * X's reason code.
461
+ */
462
+ reason: string;
463
+
464
+ /**
465
+ * X's notice text for the reason.
466
+ */
467
+ message?: string;
468
+ }
469
+
470
+ export interface Card {
471
+ id?: string;
472
+
473
+ /**
474
+ * Public metadata whose fields are defined by X.
475
+ */
476
+ bindingValues?: { [key: string]: unknown };
477
+
478
+ name?: string;
479
+
480
+ /**
481
+ * Public metadata whose fields are defined by X.
482
+ */
483
+ platform?: { [key: string]: unknown };
484
+
485
+ url?: string;
486
+
487
+ /**
488
+ * Unresolved card user references.
489
+ */
490
+ userReferenceErrors?: Array<Card.UserReferenceError>;
491
+
492
+ userReferences?: Array<Card.UserReference>;
493
+ }
494
+
495
+ export namespace Card {
496
+ export interface UserReferenceError {
497
+ message?: string;
498
+
499
+ reason?: string;
500
+ }
501
+
502
+ /**
503
+ * Public profile with retained legacy monitor fields.
504
+ */
505
+ export interface UserReference extends Shared.UserProfile {
506
+ /**
507
+ * Original X flag. Read verified for the displayed badge.
508
+ *
509
+ * @deprecated
510
+ */
511
+ rawVerified?: boolean;
512
+
513
+ /**
514
+ * Legacy username alias. Read username instead.
515
+ *
516
+ * @deprecated
517
+ */
518
+ userName?: string;
519
+ }
520
+ }
521
+
522
+ export interface CashtagAttachment {
523
+ /**
524
+ * The cashtag with its `$`.
525
+ */
526
+ cashtag: string;
527
+
528
+ /**
529
+ * Span of each candle.
530
+ */
531
+ candleSize?: string;
532
+
533
+ /**
534
+ * Time of the chart's last price.
535
+ */
536
+ endTime?: string;
537
+
538
+ /**
539
+ * X's size for the chart.
540
+ */
541
+ sizeVariant?: number;
542
+
543
+ /**
544
+ * Time of the chart's first candle.
545
+ */
546
+ startTime?: string;
547
+
548
+ /**
549
+ * Span the chart covers.
550
+ */
551
+ timeframe?: string;
552
+ }
553
+
554
+ /**
555
+ * Community Note presentation metadata returned by X.
556
+ */
557
+ export interface CommunityNote {
558
+ id?: string;
559
+
560
+ destinationUrl?: string;
561
+
562
+ footer?: string;
563
+
564
+ footerIconType?: string;
565
+
566
+ iconType?: string;
567
+
568
+ /**
569
+ * Public metadata whose fields are defined by X.
570
+ */
571
+ metadata?: { [key: string]: unknown };
572
+
573
+ shortTitle?: string;
574
+
575
+ subtitle?: string;
576
+
577
+ title?: string;
578
+
579
+ visualStyle?: string;
580
+ }
581
+
582
+ /**
583
+ * Reply policy & conversation owner.
584
+ */
585
+ export interface ConversationControl {
586
+ /**
587
+ * Regions whose accounts may reply, as country codes. Sent with the
588
+ * `country_of_origin` mode.
589
+ */
590
+ allowedCountryCodes?: Array<string>;
591
+
592
+ inviteViaMention?: boolean;
593
+
594
+ /**
595
+ * Reply policy from X's newer field, such as `my_network`, `premium` or
596
+ * `country_of_origin`. Omitted when X sends none.
597
+ */
598
+ mode?: string;
599
+
600
+ /**
601
+ * The conversation owner's account ID.
602
+ */
603
+ ownerId?: string;
604
+
605
+ ownerUsername?: string;
606
+
607
+ policy?: string;
608
+ }
609
+
610
+ /**
611
+ * Author-published point, with longitude before latitude.
612
+ */
613
+ export interface Coordinates {
614
+ coordinates: Array<number>;
615
+
616
+ type: 'Point';
617
+ }
618
+
619
+ /**
620
+ * Lists edit-chain identifiers and the remaining edit window.
621
+ */
622
+ export interface Edit {
623
+ editableUntilMsecs?: string;
624
+
625
+ editTweetIds?: Array<string>;
626
+
627
+ initialTweetId?: string;
628
+ }
629
+
630
+ /**
631
+ * Lists hashtags, symbols, links, and mentions from tweet text.
632
+ */
633
+ export interface Entities {
634
+ hashtags?: Array<Entities.Hashtag>;
635
+
636
+ smarttags?: Array<Entities.Smarttag>;
637
+
638
+ symbols?: Array<Entities.Symbol>;
639
+
640
+ timestamps?: Array<Entities.Timestamp>;
641
+
642
+ urls?: Array<Entities.URL>;
643
+
644
+ user_mentions?: Array<Entities.UserMention>;
645
+ }
646
+
647
+ export namespace Entities {
648
+ /**
649
+ * Provides hashtag text and source offsets within a tweet.
650
+ */
651
+ export interface Hashtag {
652
+ text: string;
653
+
654
+ indices?: Array<number>;
655
+
656
+ /**
657
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
658
+ * platforms, which differ by reader.
659
+ */
660
+ tag?: Hashtag.Tag;
661
+ }
662
+
663
+ export namespace Hashtag {
664
+ /**
665
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
666
+ * platforms, which differ by reader.
667
+ */
668
+ export interface Tag {
669
+ /**
670
+ * X's ID for the SmartTag.
671
+ */
672
+ id?: string;
673
+
674
+ info?: Tag.Info;
675
+ }
676
+
677
+ export namespace Tag {
678
+ export interface Info {
679
+ info?: Info.Info;
680
+ }
681
+
682
+ export namespace Info {
683
+ export interface Info {
684
+ /**
685
+ * Whether X marks the SmartTag active.
686
+ */
687
+ active?: boolean;
688
+
689
+ name?: string;
690
+
691
+ ticker?: string;
692
+ }
693
+ }
694
+ }
695
+ }
696
+
697
+ /**
698
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
699
+ */
700
+ export interface Smarttag {
701
+ indices?: Array<number>;
702
+
703
+ seconds?: number;
704
+
705
+ /**
706
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
707
+ * platforms, which differ by reader.
708
+ */
709
+ tag?: Smarttag.Tag;
710
+
711
+ text?: string;
712
+ }
713
+
714
+ export namespace Smarttag {
715
+ /**
716
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
717
+ * platforms, which differ by reader.
718
+ */
719
+ export interface Tag {
720
+ /**
721
+ * X's ID for the SmartTag.
722
+ */
723
+ id?: string;
724
+
725
+ info?: Tag.Info;
726
+ }
727
+
728
+ export namespace Tag {
729
+ export interface Info {
730
+ info?: Info.Info;
731
+ }
732
+
733
+ export namespace Info {
734
+ export interface Info {
735
+ /**
736
+ * Whether X marks the SmartTag active.
737
+ */
738
+ active?: boolean;
739
+
740
+ name?: string;
741
+
742
+ ticker?: string;
743
+ }
744
+ }
745
+ }
746
+ }
747
+
748
+ /**
749
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
750
+ */
751
+ export interface Symbol {
752
+ indices?: Array<number>;
753
+
754
+ seconds?: number;
755
+
756
+ /**
757
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
758
+ * platforms, which differ by reader.
759
+ */
760
+ tag?: Symbol.Tag;
761
+
762
+ text?: string;
763
+ }
764
+
765
+ export namespace Symbol {
766
+ /**
767
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
768
+ * platforms, which differ by reader.
769
+ */
770
+ export interface Tag {
771
+ /**
772
+ * X's ID for the SmartTag.
773
+ */
774
+ id?: string;
775
+
776
+ info?: Tag.Info;
777
+ }
778
+
779
+ export namespace Tag {
780
+ export interface Info {
781
+ info?: Info.Info;
782
+ }
783
+
784
+ export namespace Info {
785
+ export interface Info {
786
+ /**
787
+ * Whether X marks the SmartTag active.
788
+ */
789
+ active?: boolean;
790
+
791
+ name?: string;
792
+
793
+ ticker?: string;
794
+ }
795
+ }
796
+ }
797
+ }
798
+
799
+ /**
800
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
801
+ */
802
+ export interface Timestamp {
803
+ indices?: Array<number>;
804
+
805
+ seconds?: number;
806
+
807
+ /**
808
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
809
+ * platforms, which differ by reader.
810
+ */
811
+ tag?: Timestamp.Tag;
812
+
813
+ text?: string;
814
+ }
815
+
816
+ export namespace Timestamp {
817
+ /**
818
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
819
+ * platforms, which differ by reader.
820
+ */
821
+ export interface Tag {
822
+ /**
823
+ * X's ID for the SmartTag.
824
+ */
825
+ id?: string;
826
+
827
+ info?: Tag.Info;
828
+ }
829
+
830
+ export namespace Tag {
831
+ export interface Info {
832
+ info?: Info.Info;
833
+ }
834
+
835
+ export namespace Info {
836
+ export interface Info {
837
+ /**
838
+ * Whether X marks the SmartTag active.
839
+ */
840
+ active?: boolean;
841
+
842
+ name?: string;
843
+
844
+ ticker?: string;
845
+ }
846
+ }
847
+ }
848
+ }
849
+
850
+ /**
851
+ * Provides shortened, display, and expanded URLs from tweet text.
852
+ */
853
+ export interface URL {
854
+ display_url?: string;
855
+
856
+ expanded_url?: string;
857
+
858
+ indices?: Array<number>;
859
+
860
+ url?: string;
861
+ }
862
+
863
+ /**
864
+ * Provides profile identity and source offsets for a mention.
865
+ */
866
+ export interface UserMention {
867
+ screen_name: string;
868
+
869
+ id_str?: string;
870
+
871
+ indices?: Array<number>;
872
+
873
+ name?: string;
874
+ }
875
+ }
876
+
877
+ /**
878
+ * Marks a subscriber-only post with the creator whose subscription unlocks it.
879
+ * Non-subscribers get the preview text & the subscribe link. Omitted on public
880
+ * posts.
881
+ */
882
+ export interface ExclusiveContent {
883
+ /**
884
+ * Username of the creator whose subscription unlocks the post.
885
+ */
886
+ creatorUserName: string;
887
+
888
+ /**
889
+ * Subscribe link X shows non-subscribers. Omitted when X serves the full post.
890
+ */
891
+ subscribeUrl?: string;
892
+ }
893
+
894
+ /**
895
+ * Author-published point, with latitude before longitude.
896
+ */
897
+ export interface Geo {
898
+ coordinates: Array<number>;
899
+
900
+ type: 'Point';
901
+ }
902
+
903
+ /**
904
+ * The notice x.com covers the post with until the reader views it, such as X's
905
+ * public interest notice on a post that broke its rules but stays up.
906
+ */
907
+ export interface Interstitial {
908
+ /**
909
+ * How x.com shows the notice. `NonCompliant` marks a post that broke X's rules.
910
+ */
911
+ displayType?: string;
912
+
913
+ text?: Interstitial.Text;
914
+ }
915
+
916
+ export namespace Interstitial {
917
+ export interface Text {
918
+ /**
919
+ * Links inside the notice, by character range.
920
+ */
921
+ entities?: Array<Text.Entity>;
922
+
923
+ /**
924
+ * Whether X writes it right to left.
925
+ */
926
+ rtl?: boolean;
927
+
928
+ /**
929
+ * The notice's text.
930
+ */
931
+ text?: string;
932
+ }
933
+
934
+ export namespace Text {
935
+ export interface Entity {
936
+ /**
937
+ * Whole number from 0.
938
+ */
939
+ fromIndex?: number;
940
+
941
+ ref?: Entity.Ref;
942
+
943
+ /**
944
+ * Whole number from 0.
945
+ */
946
+ toIndex?: number;
947
+ }
948
+
949
+ export namespace Entity {
950
+ export interface Ref {
951
+ type?: string;
952
+
953
+ url?: string;
954
+
955
+ urlType?: string;
956
+ }
957
+ }
958
+ }
959
+ }
960
+
961
+ export interface LimitedAction {
962
+ action?: string;
963
+
964
+ prompt?: LimitedAction.Prompt;
965
+ }
966
+
967
+ export namespace LimitedAction {
968
+ export interface Prompt {
969
+ ctaType?: string;
970
+
971
+ headline?: string;
972
+
973
+ /**
974
+ * Public metadata whose fields are defined by X.
975
+ */
976
+ metadata?: { [key: string]: unknown };
977
+
978
+ subtext?: string;
979
+ }
980
+ }
981
+
982
+ /**
983
+ * Complete Note Tweet content and rich-text metadata.
984
+ */
985
+ export interface NoteTweet {
986
+ text: string;
987
+
988
+ /**
989
+ * X's global ID of the Note, base64 of `NoteTweet:<noteId>`.
990
+ */
991
+ id?: string;
992
+
993
+ /**
994
+ * Lists hashtags, symbols, links, and mentions from tweet text.
995
+ */
996
+ entities?: NoteTweet.Entities;
997
+
998
+ /**
999
+ * Inline media positions in the Note Tweet text.
1000
+ */
1001
+ inlineMedia?: Array<NoteTweet.InlineMedia>;
1002
+
1003
+ isExpandable?: boolean;
1004
+
1005
+ /**
1006
+ * The Note's own ID, apart from the post's.
1007
+ */
1008
+ noteId?: string;
1009
+
1010
+ richtextTags?: Array<NoteTweet.RichtextTag>;
1011
+ }
1012
+
1013
+ export namespace NoteTweet {
1014
+ /**
1015
+ * Lists hashtags, symbols, links, and mentions from tweet text.
1016
+ */
1017
+ export interface Entities {
1018
+ hashtags?: Array<Entities.Hashtag>;
1019
+
1020
+ smarttags?: Array<Entities.Smarttag>;
1021
+
1022
+ symbols?: Array<Entities.Symbol>;
1023
+
1024
+ timestamps?: Array<Entities.Timestamp>;
1025
+
1026
+ urls?: Array<Entities.URL>;
1027
+
1028
+ user_mentions?: Array<Entities.UserMention>;
1029
+ }
1030
+
1031
+ export namespace Entities {
1032
+ /**
1033
+ * Provides hashtag text and source offsets within a tweet.
1034
+ */
1035
+ export interface Hashtag {
1036
+ text: string;
1037
+
1038
+ indices?: Array<number>;
1039
+
1040
+ /**
1041
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1042
+ * platforms, which differ by reader.
1043
+ */
1044
+ tag?: Hashtag.Tag;
1045
+ }
1046
+
1047
+ export namespace Hashtag {
1048
+ /**
1049
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1050
+ * platforms, which differ by reader.
1051
+ */
1052
+ export interface Tag {
1053
+ /**
1054
+ * X's ID for the SmartTag.
1055
+ */
1056
+ id?: string;
1057
+
1058
+ info?: Tag.Info;
1059
+ }
1060
+
1061
+ export namespace Tag {
1062
+ export interface Info {
1063
+ info?: Info.Info;
1064
+ }
1065
+
1066
+ export namespace Info {
1067
+ export interface Info {
1068
+ /**
1069
+ * Whether X marks the SmartTag active.
1070
+ */
1071
+ active?: boolean;
1072
+
1073
+ name?: string;
1074
+
1075
+ ticker?: string;
1076
+ }
1077
+ }
1078
+ }
1079
+ }
1080
+
1081
+ /**
1082
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
1083
+ */
1084
+ export interface Smarttag {
1085
+ indices?: Array<number>;
1086
+
1087
+ seconds?: number;
1088
+
1089
+ /**
1090
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1091
+ * platforms, which differ by reader.
1092
+ */
1093
+ tag?: Smarttag.Tag;
1094
+
1095
+ text?: string;
1096
+ }
1097
+
1098
+ export namespace Smarttag {
1099
+ /**
1100
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1101
+ * platforms, which differ by reader.
1102
+ */
1103
+ export interface Tag {
1104
+ /**
1105
+ * X's ID for the SmartTag.
1106
+ */
1107
+ id?: string;
1108
+
1109
+ info?: Tag.Info;
1110
+ }
1111
+
1112
+ export namespace Tag {
1113
+ export interface Info {
1114
+ info?: Info.Info;
1115
+ }
1116
+
1117
+ export namespace Info {
1118
+ export interface Info {
1119
+ /**
1120
+ * Whether X marks the SmartTag active.
1121
+ */
1122
+ active?: boolean;
1123
+
1124
+ name?: string;
1125
+
1126
+ ticker?: string;
1127
+ }
1128
+ }
1129
+ }
1130
+ }
1131
+
1132
+ /**
1133
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
1134
+ */
1135
+ export interface Symbol {
1136
+ indices?: Array<number>;
1137
+
1138
+ seconds?: number;
1139
+
1140
+ /**
1141
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1142
+ * platforms, which differ by reader.
1143
+ */
1144
+ tag?: Symbol.Tag;
1145
+
1146
+ text?: string;
1147
+ }
1148
+
1149
+ export namespace Symbol {
1150
+ /**
1151
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1152
+ * platforms, which differ by reader.
1153
+ */
1154
+ export interface Tag {
1155
+ /**
1156
+ * X's ID for the SmartTag.
1157
+ */
1158
+ id?: string;
1159
+
1160
+ info?: Tag.Info;
1161
+ }
1162
+
1163
+ export namespace Tag {
1164
+ export interface Info {
1165
+ info?: Info.Info;
1166
+ }
1167
+
1168
+ export namespace Info {
1169
+ export interface Info {
1170
+ /**
1171
+ * Whether X marks the SmartTag active.
1172
+ */
1173
+ active?: boolean;
1174
+
1175
+ name?: string;
1176
+
1177
+ ticker?: string;
1178
+ }
1179
+ }
1180
+ }
1181
+ }
1182
+
1183
+ /**
1184
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
1185
+ */
1186
+ export interface Timestamp {
1187
+ indices?: Array<number>;
1188
+
1189
+ seconds?: number;
1190
+
1191
+ /**
1192
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1193
+ * platforms, which differ by reader.
1194
+ */
1195
+ tag?: Timestamp.Tag;
1196
+
1197
+ text?: string;
1198
+ }
1199
+
1200
+ export namespace Timestamp {
1201
+ /**
1202
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1203
+ * platforms, which differ by reader.
1204
+ */
1205
+ export interface Tag {
1206
+ /**
1207
+ * X's ID for the SmartTag.
1208
+ */
1209
+ id?: string;
1210
+
1211
+ info?: Tag.Info;
1212
+ }
1213
+
1214
+ export namespace Tag {
1215
+ export interface Info {
1216
+ info?: Info.Info;
1217
+ }
1218
+
1219
+ export namespace Info {
1220
+ export interface Info {
1221
+ /**
1222
+ * Whether X marks the SmartTag active.
1223
+ */
1224
+ active?: boolean;
1225
+
1226
+ name?: string;
1227
+
1228
+ ticker?: string;
1229
+ }
1230
+ }
1231
+ }
1232
+ }
1233
+
1234
+ /**
1235
+ * Provides shortened, display, and expanded URLs from tweet text.
1236
+ */
1237
+ export interface URL {
1238
+ display_url?: string;
1239
+
1240
+ expanded_url?: string;
1241
+
1242
+ indices?: Array<number>;
1243
+
1244
+ url?: string;
1245
+ }
1246
+
1247
+ /**
1248
+ * Provides profile identity and source offsets for a mention.
1249
+ */
1250
+ export interface UserMention {
1251
+ screen_name: string;
1252
+
1253
+ id_str?: string;
1254
+
1255
+ indices?: Array<number>;
1256
+
1257
+ name?: string;
1258
+ }
1259
+ }
1260
+
1261
+ export interface InlineMedia {
1262
+ /**
1263
+ * Whole number from 0.
1264
+ */
1265
+ index: number;
1266
+
1267
+ mediaId: string;
1268
+ }
1269
+
1270
+ export interface RichtextTag {
1271
+ /**
1272
+ * Whole number from 0.
1273
+ */
1274
+ fromIndex: number;
1275
+
1276
+ /**
1277
+ * Whole number from 0.
1278
+ */
1279
+ toIndex: number;
1280
+
1281
+ types: Array<string>;
1282
+ }
1283
+ }
1284
+
1285
+ /**
1286
+ * Describes public place metadata on a geotagged tweet.
1287
+ */
1288
+ export interface Place {
1289
+ id?: string;
1290
+
1291
+ /**
1292
+ * Public metadata whose fields are defined by X.
1293
+ */
1294
+ boundingBox?: { [key: string]: unknown };
1295
+
1296
+ country?: string;
1297
+
1298
+ countryCode?: string;
1299
+
1300
+ fullName?: string;
1301
+
1302
+ name?: string;
1303
+
1304
+ placeType?: string;
1305
+
1306
+ url?: string;
1307
+ }
1308
+
1309
+ /**
1310
+ * Engagement counts retained from a prior tweet edit.
1311
+ */
1312
+ export interface PreviousCounts {
1313
+ /**
1314
+ * Whole number from 0.
1315
+ */
1316
+ bookmarkCount?: number;
1317
+
1318
+ /**
1319
+ * Whole number from 0.
1320
+ */
1321
+ likeCount?: number;
1322
+
1323
+ /**
1324
+ * Whole number from 0.
1325
+ */
1326
+ quoteCount?: number;
1327
+
1328
+ /**
1329
+ * Whole number from 0.
1330
+ */
1331
+ replyCount?: number;
1332
+
1333
+ /**
1334
+ * Whole number from 0.
1335
+ */
1336
+ retweetCount?: number;
1337
+ }
1338
+
1339
+ /**
1340
+ * Embedded post with public fields and legacy profile aliases.
1341
+ */
1342
+ export interface QuotedTweet extends Omit<Shared.EmbeddedTweet, 'author'> {
1343
+ /**
1344
+ * Public profile with retained legacy monitor fields.
1345
+ */
1346
+ author?: QuotedTweet.Author;
1347
+ }
1348
+
1349
+ export namespace QuotedTweet {
1350
+ /**
1351
+ * Public profile with retained legacy monitor fields.
1352
+ */
1353
+ export interface Author extends Shared.UserProfile {
1354
+ /**
1355
+ * Original X flag. Read verified for the displayed badge.
1356
+ *
1357
+ * @deprecated
1358
+ */
1359
+ rawVerified?: boolean;
1360
+
1361
+ /**
1362
+ * Legacy username alias. Read username instead.
1363
+ *
1364
+ * @deprecated
1365
+ */
1366
+ userName?: string;
1367
+ }
1368
+ }
1369
+
1370
+ /**
1371
+ * The quoted post's link, kept when X withholds that post.
1372
+ */
1373
+ export interface QuotedTweetPermalink {
1374
+ displayUrl?: string;
1375
+
1376
+ expandedUrl?: string;
1377
+
1378
+ url?: string;
1379
+ }
1380
+
1381
+ /**
1382
+ * Why X shows no quoted post. Omitted when X names no reason, as its legacy
1383
+ * answers never do.
1384
+ */
1385
+ export interface QuotedTweetUnavailable {
1386
+ /**
1387
+ * X's reason, such as `Suspended` for a suspended author or `Protected` for an
1388
+ * author who protects their posts.
1389
+ */
1390
+ reason: string;
1391
+ }
1392
+
1393
+ export interface ReactionContext {
1394
+ reactedToPostId?: string;
1395
+
1396
+ /**
1397
+ * Public profile with retained legacy monitor fields.
1398
+ */
1399
+ reactedToUser?: ReactionContext.ReactedToUser;
1400
+ }
1401
+
1402
+ export namespace ReactionContext {
1403
+ /**
1404
+ * Public profile with retained legacy monitor fields.
1405
+ */
1406
+ export interface ReactedToUser extends Shared.UserProfile {
1407
+ /**
1408
+ * Original X flag. Read verified for the displayed badge.
1409
+ *
1410
+ * @deprecated
1411
+ */
1412
+ rawVerified?: boolean;
1413
+
1414
+ /**
1415
+ * Legacy username alias. Read username instead.
1416
+ *
1417
+ * @deprecated
1418
+ */
1419
+ userName?: string;
1420
+ }
1421
+ }
1422
+
1423
+ /**
1424
+ * Embedded post with public fields and legacy profile aliases.
1425
+ */
1426
+ export interface RetweetedTweet extends Omit<Shared.EmbeddedTweet, 'author'> {
1427
+ /**
1428
+ * Public profile with retained legacy monitor fields.
1429
+ */
1430
+ author?: RetweetedTweet.Author;
1431
+ }
1432
+
1433
+ export namespace RetweetedTweet {
1434
+ /**
1435
+ * Public profile with retained legacy monitor fields.
1436
+ */
1437
+ export interface Author extends Shared.UserProfile {
1438
+ /**
1439
+ * Original X flag. Read verified for the displayed badge.
1440
+ *
1441
+ * @deprecated
1442
+ */
1443
+ rawVerified?: boolean;
1444
+
1445
+ /**
1446
+ * Legacy username alias. Read username instead.
1447
+ *
1448
+ * @deprecated
1449
+ */
1450
+ userName?: string;
1451
+ }
1452
+ }
1453
+
1454
+ /**
1455
+ * Game metadata attached to this post.
1456
+ */
1457
+ export interface SportsContext {
1458
+ /**
1459
+ * Teams & reported scores.
1460
+ */
1461
+ competitors?: Array<SportsContext.Competitor>;
1462
+
1463
+ /**
1464
+ * Game ID.
1465
+ */
1466
+ gameId?: string;
1467
+
1468
+ /**
1469
+ * League ID.
1470
+ */
1471
+ league?: string;
1472
+
1473
+ /**
1474
+ * Scheduled Unix milliseconds, retaining the source type.
1475
+ */
1476
+ scheduledAtMs?: number | string;
1477
+
1478
+ /**
1479
+ * Reported game state.
1480
+ */
1481
+ state?: string;
1482
+
1483
+ /**
1484
+ * Game progress text.
1485
+ */
1486
+ statusText?: string;
1487
+
1488
+ /**
1489
+ * Game title.
1490
+ */
1491
+ title?: string;
1492
+
1493
+ /**
1494
+ * Game link.
1495
+ */
1496
+ url?: string;
1497
+ }
1498
+
1499
+ export namespace SportsContext {
1500
+ export interface Competitor {
1501
+ /**
1502
+ * Team abbreviation.
1503
+ */
1504
+ abbreviation?: string;
1505
+
1506
+ /**
1507
+ * Team display color.
1508
+ */
1509
+ color?: string;
1510
+
1511
+ /**
1512
+ * Logo for dark backgrounds.
1513
+ */
1514
+ darkLogoUrl?: string;
1515
+
1516
+ /**
1517
+ * Active competitor.
1518
+ */
1519
+ isActive?: boolean;
1520
+
1521
+ /**
1522
+ * Winning competitor.
1523
+ */
1524
+ isWinner?: boolean;
1525
+
1526
+ /**
1527
+ * Logo for light backgrounds.
1528
+ */
1529
+ logoUrl?: string;
1530
+
1531
+ /**
1532
+ * Team name.
1533
+ */
1534
+ name?: string;
1535
+
1536
+ /**
1537
+ * Score display text.
1538
+ */
1539
+ score?: string;
1540
+
1541
+ /**
1542
+ * Team ID.
1543
+ */
1544
+ teamId?: string;
1545
+ }
1546
+ }
1547
+
1548
+ /**
1549
+ * The Subscriber badge X shows on a reply. The reply's author subscribes to the
1550
+ * creator who started the conversation. Omitted on a post without the badge.
1551
+ */
1552
+ export interface SubscriberBadge {
1553
+ /**
1554
+ * Account ID of the creator the author subscribes to.
1555
+ */
1556
+ creatorId: string;
1557
+ }
1558
+
1559
+ export interface TextHighlight {
1560
+ /**
1561
+ * The first code point after the match.
1562
+ */
1563
+ endIndex: number;
1564
+
1565
+ /**
1566
+ * The first code point of the match.
1567
+ */
1568
+ startIndex: number;
1569
+ }
1570
+
1571
+ /**
1572
+ * Public visibility notice attached to an available tweet.
1573
+ */
1574
+ export interface Tombstone {
1575
+ text?: Tombstone.Text;
1576
+
1577
+ /**
1578
+ * Visibility notice type.
1579
+ */
1580
+ type?: string;
1581
+ }
1582
+
1583
+ export namespace Tombstone {
1584
+ export interface Text {
1585
+ entities?: Array<Text.Entity>;
1586
+
1587
+ /**
1588
+ * Right-to-left text direction.
1589
+ */
1590
+ rtl?: boolean;
1591
+
1592
+ /**
1593
+ * Human-readable notice text.
1594
+ */
1595
+ text?: string;
1596
+ }
1597
+
1598
+ export namespace Text {
1599
+ export interface Entity {
1600
+ /**
1601
+ * Whole number from 0.
1602
+ */
1603
+ fromIndex?: number;
1604
+
1605
+ ref?: Entity.Ref;
1606
+
1607
+ /**
1608
+ * Whole number from 0.
1609
+ */
1610
+ toIndex?: number;
1611
+ }
1612
+
1613
+ export namespace Entity {
1614
+ export interface Ref {
1615
+ type?: string;
1616
+
1617
+ url?: string;
1618
+
1619
+ urlType?: string;
1620
+ }
1621
+ }
1622
+ }
1623
+ }
1624
+ }
1625
+
1626
+ /**
1627
+ * Changed profile field with its previous and current values.
1628
+ */
1629
+ export interface MonitorProfileChange {
1630
+ field: string;
1631
+
1632
+ /**
1633
+ * Permanent X user ID.
1634
+ */
1635
+ userId: string;
1636
+
1637
+ /**
1638
+ * Username observed for this change.
1639
+ */
1640
+ username: string;
1641
+
1642
+ /**
1643
+ * Profile text, flag, or pinned post IDs. Missing values are omitted.
1644
+ */
1645
+ current?: string | boolean | Array<string>;
1646
+
1647
+ /**
1648
+ * Profile text, flag, or pinned post IDs. Missing values are omitted.
1649
+ */
1650
+ previous?: string | boolean | Array<string>;
1651
+ }
1652
+
1653
+ /**
1654
+ * Older stored posts remain readable. Fields can be missing or null.
1655
+ */
1656
+ export interface MonitorLegacyPost {
1657
+ id?: string;
1658
+
1659
+ author?: { [key: string]: unknown } | null;
1660
+
1661
+ quoted_tweet?: { [key: string]: unknown } | null;
1662
+
1663
+ retweeted_tweet?: { [key: string]: unknown } | null;
1664
+
1665
+ text?: string;
1666
+
1667
+ [k: string]: unknown;
1668
+ }
1669
+ }
1670
+
1671
+ /**
1672
+ * Full monitor event including payload data and optional X event ID.
1673
+ */
1674
+ export interface EventDetail {
1675
+ id: string;
1676
+
1677
+ /**
1678
+ * Post or profile-change payload for the event type.
1679
+ */
1680
+ data: EventDetail.MonitorPost | EventDetail.MonitorProfileChange | EventDetail.MonitorLegacyPost;
1681
+
1682
+ /**
1683
+ * Monitor ID associated with this detailed event payload.
1684
+ */
1685
+ monitorId: string;
1686
+
1687
+ /**
1688
+ * Source monitor type for this detailed event.
1689
+ */
1690
+ monitorType: 'account' | 'keyword';
1691
+
1692
+ occurredAt: string;
1693
+
1694
+ /**
1695
+ * Type of monitor event fired when account activity occurs. tweet.deleted fires
1696
+ * once X confirms the account deleted a post the monitor saw. Its data is the post
1697
+ * as last seen. broadcast.started & space.started fire when the account posts its
1698
+ * running live video or Space. Their data is that post. A live the account does
1699
+ * not post is not seen. following.added & following.removed fire when the account
1700
+ * follows or unfollows someone, with that account's profile. Keyword monitors take
1701
+ * the 10 post types only.
1702
+ */
1703
+ type: Shared.EventType;
1704
+
1705
+ /**
1706
+ * Keyword monitor ID included on detailed keyword events.
1707
+ */
1708
+ keywordMonitorId?: string;
1709
+
1710
+ /**
1711
+ * Your monitor label when Xquik created this event, present when set. A rename
1712
+ * leaves the event's label unchanged.
1713
+ */
1714
+ monitorName?: string;
1715
+
1716
+ /**
1717
+ * Keyword query for this detailed monitor event.
1718
+ */
1719
+ query?: string;
1720
+
1721
+ /**
1722
+ * Current account username for this detailed event.
1723
+ */
1724
+ username?: string;
1725
+
1726
+ xEventId?: string;
1727
+
1728
+ /**
1729
+ * Permanent X user ID of the monitored account on account events. It stays the
1730
+ * same after a username change.
1731
+ */
1732
+ xUserId?: string;
1733
+ }
1734
+
1735
+ export namespace EventDetail {
1736
+ /**
1737
+ * Monitored post with public fields and retained legacy fields.
1738
+ */
1739
+ export interface MonitorPost {
1740
+ id: string;
1741
+
1742
+ bookmarkCount: number;
1743
+
1744
+ likeCount: number;
1745
+
1746
+ quoteCount: number;
1747
+
1748
+ replyCount: number;
1749
+
1750
+ retweetCount: number;
1751
+
1752
+ text: string;
1753
+
1754
+ viewCount: number;
1755
+
1756
+ /**
1757
+ * Describes an X Article preview and its lifecycle metadata.
1758
+ */
1759
+ article?: MonitorPost.Article;
1760
+
1761
+ /**
1762
+ * Public profile with retained legacy monitor fields.
1763
+ */
1764
+ author?: MonitorPost.Author;
1765
+
1766
+ /**
1767
+ * Why the tweet has no author. X serves a suspended or deleted account as an
1768
+ * unavailable user with a reason such as Suspended or NotFound. Omitted when the
1769
+ * author is available.
1770
+ */
1771
+ authorUnavailable?: MonitorPost.AuthorUnavailable;
1772
+
1773
+ card?: MonitorPost.Card;
1774
+
1775
+ /**
1776
+ * Price charts the author attached under the post, 1 per cashtag. Absent when the
1777
+ * post has none. X may send a cashtag without a chart window.
1778
+ */
1779
+ cashtagAttachments?: Array<MonitorPost.CashtagAttachment>;
1780
+
1781
+ /**
1782
+ * Community ID.
1783
+ */
1784
+ communityId?: string;
1785
+
1786
+ /**
1787
+ * Community name. Present when X sends it with the post.
1788
+ */
1789
+ communityName?: string;
1790
+
1791
+ /**
1792
+ * Community Note presentation metadata returned by X.
1793
+ */
1794
+ communityNote?: MonitorPost.CommunityNote;
1795
+
1796
+ /**
1797
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
1798
+ * partnership content or AI-generated media.
1799
+ */
1800
+ contentDisclosure?: Shared.ContentDisclosure;
1801
+
1802
+ /**
1803
+ * Reply policy & conversation owner.
1804
+ */
1805
+ conversationControl?: MonitorPost.ConversationControl;
1806
+
1807
+ conversationId?: string;
1808
+
1809
+ /**
1810
+ * Author-published point, with longitude before latitude.
1811
+ */
1812
+ coordinates?: MonitorPost.Coordinates;
1813
+
1814
+ createdAt?: string;
1815
+
1816
+ displayTextRange?: Array<number>;
1817
+
1818
+ /**
1819
+ * Lists edit-chain identifiers and the remaining edit window.
1820
+ */
1821
+ edit?: MonitorPost.Edit;
1822
+
1823
+ /**
1824
+ * Lists hashtags, symbols, links, and mentions from tweet text.
1825
+ */
1826
+ entities?: MonitorPost.Entities;
1827
+
1828
+ /**
1829
+ * Marks a subscriber-only post with the creator whose subscription unlocks it.
1830
+ * Non-subscribers get the preview text & the subscribe link. Omitted on public
1831
+ * posts.
1832
+ */
1833
+ exclusiveContent?: MonitorPost.ExclusiveContent;
1834
+
1835
+ /**
1836
+ * Author-published point, with latitude before longitude.
1837
+ */
1838
+ geo?: MonitorPost.Geo;
1839
+
1840
+ /**
1841
+ * Public metadata whose fields are defined by X.
1842
+ */
1843
+ grokShareAttachment?: { [key: string]: unknown };
1844
+
1845
+ /**
1846
+ * Grok's translation of the post, as X shows it.
1847
+ */
1848
+ grokTranslatedPost?: { [key: string]: unknown };
1849
+
1850
+ /**
1851
+ * Whether X holds Community Notes on the post, shown or not.
1852
+ */
1853
+ hasCommunityNotes?: boolean;
1854
+
1855
+ inReplyToId?: string;
1856
+
1857
+ inReplyToUserId?: string;
1858
+
1859
+ inReplyToUsername?: string;
1860
+
1861
+ /**
1862
+ * The notice x.com covers the post with until the reader views it, such as X's
1863
+ * public interest notice on a post that broke its rules but stays up.
1864
+ */
1865
+ interstitial?: MonitorPost.Interstitial;
1866
+
1867
+ isLimitedReply?: boolean;
1868
+
1869
+ isNoteTweet?: boolean;
1870
+
1871
+ isPinned?: boolean;
1872
+
1873
+ isQuoteStatus?: boolean;
1874
+
1875
+ isReply?: boolean;
1876
+
1877
+ isRetweet?: boolean;
1878
+
1879
+ isTranslatable?: boolean;
1880
+
1881
+ /**
1882
+ * Public metadata whose fields are defined by X.
1883
+ */
1884
+ jetfuelAttachment?: { [key: string]: unknown };
1885
+
1886
+ lang?: string;
1887
+
1888
+ /**
1889
+ * Public restrictions & prompts.
1890
+ */
1891
+ limitedActions?: Array<MonitorPost.LimitedAction>;
1892
+
1893
+ /**
1894
+ * Media, omitted when unavailable.
1895
+ */
1896
+ media?: Array<Shared.TweetMedia>;
1897
+
1898
+ /**
1899
+ * Complete Note Tweet content and rich-text metadata.
1900
+ */
1901
+ noteTweet?: MonitorPost.NoteTweet;
1902
+
1903
+ /**
1904
+ * A parent, quoted or retweeted tweet. It has the TweetPublicData fields and an
1905
+ * author. Nesting stops after 4 levels.
1906
+ */
1907
+ parentTweet?: Shared.EmbeddedTweet;
1908
+
1909
+ /**
1910
+ * Describes public place metadata on a geotagged tweet.
1911
+ */
1912
+ place?: MonitorPost.Place;
1913
+
1914
+ possiblySensitive?: boolean;
1915
+
1916
+ /**
1917
+ * Public metadata whose fields are defined by X.
1918
+ */
1919
+ postCta?: { [key: string]: unknown };
1920
+
1921
+ /**
1922
+ * Engagement counts retained from a prior tweet edit.
1923
+ */
1924
+ previousCounts?: MonitorPost.PreviousCounts;
1925
+
1926
+ /**
1927
+ * Embedded post with public fields and legacy profile aliases.
1928
+ */
1929
+ quoted_tweet?: MonitorPost.QuotedTweet;
1930
+
1931
+ quotedTweetId?: string;
1932
+
1933
+ /**
1934
+ * The quoted post's link, kept when X withholds that post.
1935
+ */
1936
+ quotedTweetPermalink?: MonitorPost.QuotedTweetPermalink;
1937
+
1938
+ /**
1939
+ * Why X shows no quoted post. Omitted when X names no reason, as its legacy
1940
+ * answers never do.
1941
+ */
1942
+ quotedTweetUnavailable?: MonitorPost.QuotedTweetUnavailable;
1943
+
1944
+ reactionContext?: MonitorPost.ReactionContext;
1945
+
1946
+ /**
1947
+ * Embedded post with public fields and legacy profile aliases.
1948
+ */
1949
+ retweeted_tweet?: MonitorPost.RetweetedTweet;
1950
+
1951
+ /**
1952
+ * Repost event time in UTC. Null when unavailable; omitted for other posts.
1953
+ */
1954
+ retweetedAt?: string | null;
1955
+
1956
+ /**
1957
+ * Public metadata whose fields are defined by X.
1958
+ */
1959
+ scopes?: { [key: string]: unknown };
1960
+
1961
+ /**
1962
+ * The app the post was sent from, as X labels it. X sends it for some posts only.
1963
+ */
1964
+ source?: string;
1965
+
1966
+ /**
1967
+ * Game metadata attached to this post.
1968
+ */
1969
+ sportsContext?: MonitorPost.SportsContext;
1970
+
1971
+ /**
1972
+ * The Subscriber badge X shows on a reply. The reply's author subscribes to the
1973
+ * creator who started the conversation. Omitted on a post without the badge.
1974
+ */
1975
+ subscriberBadge?: MonitorPost.SubscriberBadge;
1976
+
1977
+ /**
1978
+ * Where `text` matches the search, on each row a search read. Offsets count code
1979
+ * points of `text`, as `displayTextRange` does. Empty when X marks nothing in the
1980
+ * post. X marks matches only in a post's first 280 characters.
1981
+ */
1982
+ textHighlights?: Array<MonitorPost.TextHighlight>;
1983
+
1984
+ /**
1985
+ * Public visibility notice attached to an available tweet.
1986
+ */
1987
+ tombstone?: MonitorPost.Tombstone;
1988
+
1989
+ type?: string;
1990
+
1991
+ /**
1992
+ * The author's ID when X withholds the author's profile.
1993
+ */
1994
+ unavailableAuthorId?: string;
1995
+
1996
+ /**
1997
+ * User IDs that left this conversation.
1998
+ */
1999
+ unmentionedUserIds?: Array<string>;
2000
+
2001
+ url?: string;
2002
+
2003
+ viewState?: string;
2004
+ }
2005
+
2006
+ export namespace MonitorPost {
2007
+ /**
2008
+ * Describes an X Article preview and its lifecycle metadata.
2009
+ */
2010
+ export interface Article {
2011
+ id?: string;
2012
+
2013
+ /**
2014
+ * Public metadata whose fields are defined by X.
2015
+ */
2016
+ coverMedia?: { [key: string]: unknown };
2017
+
2018
+ coverMediaUrl?: string;
2019
+
2020
+ /**
2021
+ * Public metadata whose fields are defined by X.
2022
+ */
2023
+ lifecycleState?: { [key: string]: unknown };
2024
+
2025
+ /**
2026
+ * Public metadata whose fields are defined by X.
2027
+ */
2028
+ metadata?: { [key: string]: unknown };
2029
+
2030
+ previewText?: string;
2031
+
2032
+ title?: string;
2033
+ }
2034
+
2035
+ /**
2036
+ * Public profile with retained legacy monitor fields.
2037
+ */
2038
+ export interface Author extends Shared.UserProfile {
2039
+ /**
2040
+ * Original X flag. Read verified for the displayed badge.
2041
+ *
2042
+ * @deprecated
2043
+ */
2044
+ rawVerified?: boolean;
2045
+
2046
+ /**
2047
+ * Legacy username alias. Read username instead.
2048
+ *
2049
+ * @deprecated
2050
+ */
2051
+ userName?: string;
2052
+ }
2053
+
2054
+ /**
2055
+ * Why the tweet has no author. X serves a suspended or deleted account as an
2056
+ * unavailable user with a reason such as Suspended or NotFound. Omitted when the
2057
+ * author is available.
2058
+ */
2059
+ export interface AuthorUnavailable {
2060
+ /**
2061
+ * X's reason code.
2062
+ */
2063
+ reason: string;
2064
+
2065
+ /**
2066
+ * X's notice text for the reason.
2067
+ */
2068
+ message?: string;
2069
+ }
2070
+
2071
+ export interface Card {
2072
+ id?: string;
2073
+
2074
+ /**
2075
+ * Public metadata whose fields are defined by X.
2076
+ */
2077
+ bindingValues?: { [key: string]: unknown };
2078
+
2079
+ name?: string;
2080
+
2081
+ /**
2082
+ * Public metadata whose fields are defined by X.
2083
+ */
2084
+ platform?: { [key: string]: unknown };
2085
+
2086
+ url?: string;
2087
+
2088
+ /**
2089
+ * Unresolved card user references.
2090
+ */
2091
+ userReferenceErrors?: Array<Card.UserReferenceError>;
2092
+
2093
+ userReferences?: Array<Card.UserReference>;
2094
+ }
2095
+
2096
+ export namespace Card {
2097
+ export interface UserReferenceError {
2098
+ message?: string;
2099
+
2100
+ reason?: string;
2101
+ }
2102
+
2103
+ /**
2104
+ * Public profile with retained legacy monitor fields.
2105
+ */
2106
+ export interface UserReference extends Shared.UserProfile {
2107
+ /**
2108
+ * Original X flag. Read verified for the displayed badge.
2109
+ *
2110
+ * @deprecated
2111
+ */
2112
+ rawVerified?: boolean;
2113
+
2114
+ /**
2115
+ * Legacy username alias. Read username instead.
2116
+ *
2117
+ * @deprecated
2118
+ */
2119
+ userName?: string;
2120
+ }
2121
+ }
2122
+
2123
+ export interface CashtagAttachment {
2124
+ /**
2125
+ * The cashtag with its `$`.
2126
+ */
2127
+ cashtag: string;
2128
+
2129
+ /**
2130
+ * Span of each candle.
2131
+ */
2132
+ candleSize?: string;
2133
+
2134
+ /**
2135
+ * Time of the chart's last price.
2136
+ */
2137
+ endTime?: string;
2138
+
2139
+ /**
2140
+ * X's size for the chart.
2141
+ */
2142
+ sizeVariant?: number;
2143
+
2144
+ /**
2145
+ * Time of the chart's first candle.
2146
+ */
2147
+ startTime?: string;
2148
+
2149
+ /**
2150
+ * Span the chart covers.
2151
+ */
2152
+ timeframe?: string;
2153
+ }
2154
+
2155
+ /**
2156
+ * Community Note presentation metadata returned by X.
2157
+ */
2158
+ export interface CommunityNote {
2159
+ id?: string;
2160
+
2161
+ destinationUrl?: string;
2162
+
2163
+ footer?: string;
2164
+
2165
+ footerIconType?: string;
2166
+
2167
+ iconType?: string;
2168
+
2169
+ /**
2170
+ * Public metadata whose fields are defined by X.
2171
+ */
2172
+ metadata?: { [key: string]: unknown };
2173
+
2174
+ shortTitle?: string;
2175
+
2176
+ subtitle?: string;
2177
+
2178
+ title?: string;
2179
+
2180
+ visualStyle?: string;
2181
+ }
2182
+
2183
+ /**
2184
+ * Reply policy & conversation owner.
2185
+ */
2186
+ export interface ConversationControl {
2187
+ /**
2188
+ * Regions whose accounts may reply, as country codes. Sent with the
2189
+ * `country_of_origin` mode.
2190
+ */
2191
+ allowedCountryCodes?: Array<string>;
2192
+
2193
+ inviteViaMention?: boolean;
2194
+
2195
+ /**
2196
+ * Reply policy from X's newer field, such as `my_network`, `premium` or
2197
+ * `country_of_origin`. Omitted when X sends none.
2198
+ */
2199
+ mode?: string;
2200
+
2201
+ /**
2202
+ * The conversation owner's account ID.
2203
+ */
2204
+ ownerId?: string;
2205
+
2206
+ ownerUsername?: string;
2207
+
2208
+ policy?: string;
2209
+ }
2210
+
2211
+ /**
2212
+ * Author-published point, with longitude before latitude.
2213
+ */
2214
+ export interface Coordinates {
2215
+ coordinates: Array<number>;
2216
+
2217
+ type: 'Point';
2218
+ }
2219
+
2220
+ /**
2221
+ * Lists edit-chain identifiers and the remaining edit window.
2222
+ */
2223
+ export interface Edit {
2224
+ editableUntilMsecs?: string;
2225
+
2226
+ editTweetIds?: Array<string>;
2227
+
2228
+ initialTweetId?: string;
2229
+ }
2230
+
2231
+ /**
2232
+ * Lists hashtags, symbols, links, and mentions from tweet text.
2233
+ */
2234
+ export interface Entities {
2235
+ hashtags?: Array<Entities.Hashtag>;
2236
+
2237
+ smarttags?: Array<Entities.Smarttag>;
2238
+
2239
+ symbols?: Array<Entities.Symbol>;
2240
+
2241
+ timestamps?: Array<Entities.Timestamp>;
2242
+
2243
+ urls?: Array<Entities.URL>;
2244
+
2245
+ user_mentions?: Array<Entities.UserMention>;
2246
+ }
2247
+
2248
+ export namespace Entities {
2249
+ /**
2250
+ * Provides hashtag text and source offsets within a tweet.
2251
+ */
2252
+ export interface Hashtag {
2253
+ text: string;
2254
+
2255
+ indices?: Array<number>;
2256
+
2257
+ /**
2258
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2259
+ * platforms, which differ by reader.
2260
+ */
2261
+ tag?: Hashtag.Tag;
2262
+ }
2263
+
2264
+ export namespace Hashtag {
2265
+ /**
2266
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2267
+ * platforms, which differ by reader.
2268
+ */
2269
+ export interface Tag {
2270
+ /**
2271
+ * X's ID for the SmartTag.
2272
+ */
2273
+ id?: string;
2274
+
2275
+ info?: Tag.Info;
2276
+ }
2277
+
2278
+ export namespace Tag {
2279
+ export interface Info {
2280
+ info?: Info.Info;
2281
+ }
2282
+
2283
+ export namespace Info {
2284
+ export interface Info {
2285
+ /**
2286
+ * Whether X marks the SmartTag active.
2287
+ */
2288
+ active?: boolean;
2289
+
2290
+ name?: string;
2291
+
2292
+ ticker?: string;
2293
+ }
2294
+ }
2295
+ }
2296
+ }
2297
+
2298
+ /**
2299
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2300
+ */
2301
+ export interface Smarttag {
2302
+ indices?: Array<number>;
2303
+
2304
+ seconds?: number;
2305
+
2306
+ /**
2307
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2308
+ * platforms, which differ by reader.
2309
+ */
2310
+ tag?: Smarttag.Tag;
2311
+
2312
+ text?: string;
2313
+ }
2314
+
2315
+ export namespace Smarttag {
2316
+ /**
2317
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2318
+ * platforms, which differ by reader.
2319
+ */
2320
+ export interface Tag {
2321
+ /**
2322
+ * X's ID for the SmartTag.
2323
+ */
2324
+ id?: string;
2325
+
2326
+ info?: Tag.Info;
2327
+ }
2328
+
2329
+ export namespace Tag {
2330
+ export interface Info {
2331
+ info?: Info.Info;
2332
+ }
2333
+
2334
+ export namespace Info {
2335
+ export interface Info {
2336
+ /**
2337
+ * Whether X marks the SmartTag active.
2338
+ */
2339
+ active?: boolean;
2340
+
2341
+ name?: string;
2342
+
2343
+ ticker?: string;
2344
+ }
2345
+ }
2346
+ }
2347
+ }
2348
+
2349
+ /**
2350
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2351
+ */
2352
+ export interface Symbol {
2353
+ indices?: Array<number>;
2354
+
2355
+ seconds?: number;
2356
+
2357
+ /**
2358
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2359
+ * platforms, which differ by reader.
2360
+ */
2361
+ tag?: Symbol.Tag;
2362
+
2363
+ text?: string;
2364
+ }
2365
+
2366
+ export namespace Symbol {
2367
+ /**
2368
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2369
+ * platforms, which differ by reader.
2370
+ */
2371
+ export interface Tag {
2372
+ /**
2373
+ * X's ID for the SmartTag.
2374
+ */
2375
+ id?: string;
2376
+
2377
+ info?: Tag.Info;
2378
+ }
2379
+
2380
+ export namespace Tag {
2381
+ export interface Info {
2382
+ info?: Info.Info;
2383
+ }
2384
+
2385
+ export namespace Info {
2386
+ export interface Info {
2387
+ /**
2388
+ * Whether X marks the SmartTag active.
2389
+ */
2390
+ active?: boolean;
2391
+
2392
+ name?: string;
2393
+
2394
+ ticker?: string;
2395
+ }
2396
+ }
2397
+ }
2398
+ }
2399
+
2400
+ /**
2401
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2402
+ */
2403
+ export interface Timestamp {
2404
+ indices?: Array<number>;
2405
+
2406
+ seconds?: number;
2407
+
2408
+ /**
2409
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2410
+ * platforms, which differ by reader.
2411
+ */
2412
+ tag?: Timestamp.Tag;
2413
+
2414
+ text?: string;
2415
+ }
2416
+
2417
+ export namespace Timestamp {
2418
+ /**
2419
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2420
+ * platforms, which differ by reader.
2421
+ */
2422
+ export interface Tag {
2423
+ /**
2424
+ * X's ID for the SmartTag.
2425
+ */
2426
+ id?: string;
2427
+
2428
+ info?: Tag.Info;
2429
+ }
2430
+
2431
+ export namespace Tag {
2432
+ export interface Info {
2433
+ info?: Info.Info;
2434
+ }
2435
+
2436
+ export namespace Info {
2437
+ export interface Info {
2438
+ /**
2439
+ * Whether X marks the SmartTag active.
2440
+ */
2441
+ active?: boolean;
2442
+
2443
+ name?: string;
2444
+
2445
+ ticker?: string;
2446
+ }
2447
+ }
2448
+ }
2449
+ }
2450
+
2451
+ /**
2452
+ * Provides shortened, display, and expanded URLs from tweet text.
2453
+ */
2454
+ export interface URL {
2455
+ display_url?: string;
2456
+
2457
+ expanded_url?: string;
2458
+
2459
+ indices?: Array<number>;
2460
+
2461
+ url?: string;
2462
+ }
2463
+
2464
+ /**
2465
+ * Provides profile identity and source offsets for a mention.
2466
+ */
2467
+ export interface UserMention {
2468
+ screen_name: string;
2469
+
2470
+ id_str?: string;
2471
+
2472
+ indices?: Array<number>;
2473
+
2474
+ name?: string;
2475
+ }
2476
+ }
2477
+
2478
+ /**
2479
+ * Marks a subscriber-only post with the creator whose subscription unlocks it.
2480
+ * Non-subscribers get the preview text & the subscribe link. Omitted on public
2481
+ * posts.
2482
+ */
2483
+ export interface ExclusiveContent {
2484
+ /**
2485
+ * Username of the creator whose subscription unlocks the post.
2486
+ */
2487
+ creatorUserName: string;
2488
+
2489
+ /**
2490
+ * Subscribe link X shows non-subscribers. Omitted when X serves the full post.
2491
+ */
2492
+ subscribeUrl?: string;
2493
+ }
2494
+
2495
+ /**
2496
+ * Author-published point, with latitude before longitude.
2497
+ */
2498
+ export interface Geo {
2499
+ coordinates: Array<number>;
2500
+
2501
+ type: 'Point';
2502
+ }
2503
+
2504
+ /**
2505
+ * The notice x.com covers the post with until the reader views it, such as X's
2506
+ * public interest notice on a post that broke its rules but stays up.
2507
+ */
2508
+ export interface Interstitial {
2509
+ /**
2510
+ * How x.com shows the notice. `NonCompliant` marks a post that broke X's rules.
2511
+ */
2512
+ displayType?: string;
2513
+
2514
+ text?: Interstitial.Text;
2515
+ }
2516
+
2517
+ export namespace Interstitial {
2518
+ export interface Text {
2519
+ /**
2520
+ * Links inside the notice, by character range.
2521
+ */
2522
+ entities?: Array<Text.Entity>;
2523
+
2524
+ /**
2525
+ * Whether X writes it right to left.
2526
+ */
2527
+ rtl?: boolean;
2528
+
2529
+ /**
2530
+ * The notice's text.
2531
+ */
2532
+ text?: string;
2533
+ }
2534
+
2535
+ export namespace Text {
2536
+ export interface Entity {
2537
+ /**
2538
+ * Whole number from 0.
2539
+ */
2540
+ fromIndex?: number;
2541
+
2542
+ ref?: Entity.Ref;
2543
+
2544
+ /**
2545
+ * Whole number from 0.
2546
+ */
2547
+ toIndex?: number;
2548
+ }
2549
+
2550
+ export namespace Entity {
2551
+ export interface Ref {
2552
+ type?: string;
2553
+
2554
+ url?: string;
2555
+
2556
+ urlType?: string;
2557
+ }
2558
+ }
2559
+ }
2560
+ }
2561
+
2562
+ export interface LimitedAction {
2563
+ action?: string;
2564
+
2565
+ prompt?: LimitedAction.Prompt;
2566
+ }
2567
+
2568
+ export namespace LimitedAction {
2569
+ export interface Prompt {
2570
+ ctaType?: string;
2571
+
2572
+ headline?: string;
2573
+
2574
+ /**
2575
+ * Public metadata whose fields are defined by X.
2576
+ */
2577
+ metadata?: { [key: string]: unknown };
2578
+
2579
+ subtext?: string;
2580
+ }
2581
+ }
2582
+
2583
+ /**
2584
+ * Complete Note Tweet content and rich-text metadata.
2585
+ */
2586
+ export interface NoteTweet {
2587
+ text: string;
2588
+
2589
+ /**
2590
+ * X's global ID of the Note, base64 of `NoteTweet:<noteId>`.
2591
+ */
2592
+ id?: string;
2593
+
2594
+ /**
2595
+ * Lists hashtags, symbols, links, and mentions from tweet text.
2596
+ */
2597
+ entities?: NoteTweet.Entities;
2598
+
2599
+ /**
2600
+ * Inline media positions in the Note Tweet text.
2601
+ */
2602
+ inlineMedia?: Array<NoteTweet.InlineMedia>;
2603
+
2604
+ isExpandable?: boolean;
2605
+
2606
+ /**
2607
+ * The Note's own ID, apart from the post's.
2608
+ */
2609
+ noteId?: string;
2610
+
2611
+ richtextTags?: Array<NoteTweet.RichtextTag>;
2612
+ }
2613
+
2614
+ export namespace NoteTweet {
2615
+ /**
2616
+ * Lists hashtags, symbols, links, and mentions from tweet text.
2617
+ */
2618
+ export interface Entities {
2619
+ hashtags?: Array<Entities.Hashtag>;
2620
+
2621
+ smarttags?: Array<Entities.Smarttag>;
2622
+
2623
+ symbols?: Array<Entities.Symbol>;
2624
+
2625
+ timestamps?: Array<Entities.Timestamp>;
2626
+
2627
+ urls?: Array<Entities.URL>;
2628
+
2629
+ user_mentions?: Array<Entities.UserMention>;
2630
+ }
2631
+
2632
+ export namespace Entities {
2633
+ /**
2634
+ * Provides hashtag text and source offsets within a tweet.
2635
+ */
2636
+ export interface Hashtag {
2637
+ text: string;
2638
+
2639
+ indices?: Array<number>;
2640
+
2641
+ /**
2642
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2643
+ * platforms, which differ by reader.
2644
+ */
2645
+ tag?: Hashtag.Tag;
2646
+ }
2647
+
2648
+ export namespace Hashtag {
2649
+ /**
2650
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2651
+ * platforms, which differ by reader.
2652
+ */
2653
+ export interface Tag {
2654
+ /**
2655
+ * X's ID for the SmartTag.
2656
+ */
2657
+ id?: string;
2658
+
2659
+ info?: Tag.Info;
2660
+ }
2661
+
2662
+ export namespace Tag {
2663
+ export interface Info {
2664
+ info?: Info.Info;
2665
+ }
2666
+
2667
+ export namespace Info {
2668
+ export interface Info {
2669
+ /**
2670
+ * Whether X marks the SmartTag active.
2671
+ */
2672
+ active?: boolean;
2673
+
2674
+ name?: string;
2675
+
2676
+ ticker?: string;
2677
+ }
2678
+ }
2679
+ }
2680
+ }
2681
+
2682
+ /**
2683
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2684
+ */
2685
+ export interface Smarttag {
2686
+ indices?: Array<number>;
2687
+
2688
+ seconds?: number;
2689
+
2690
+ /**
2691
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2692
+ * platforms, which differ by reader.
2693
+ */
2694
+ tag?: Smarttag.Tag;
2695
+
2696
+ text?: string;
2697
+ }
2698
+
2699
+ export namespace Smarttag {
2700
+ /**
2701
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2702
+ * platforms, which differ by reader.
2703
+ */
2704
+ export interface Tag {
2705
+ /**
2706
+ * X's ID for the SmartTag.
2707
+ */
2708
+ id?: string;
2709
+
2710
+ info?: Tag.Info;
2711
+ }
2712
+
2713
+ export namespace Tag {
2714
+ export interface Info {
2715
+ info?: Info.Info;
2716
+ }
2717
+
2718
+ export namespace Info {
2719
+ export interface Info {
2720
+ /**
2721
+ * Whether X marks the SmartTag active.
2722
+ */
2723
+ active?: boolean;
2724
+
2725
+ name?: string;
2726
+
2727
+ ticker?: string;
2728
+ }
2729
+ }
2730
+ }
2731
+ }
2732
+
2733
+ /**
2734
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2735
+ */
2736
+ export interface Symbol {
2737
+ indices?: Array<number>;
2738
+
2739
+ seconds?: number;
2740
+
2741
+ /**
2742
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2743
+ * platforms, which differ by reader.
2744
+ */
2745
+ tag?: Symbol.Tag;
2746
+
2747
+ text?: string;
2748
+ }
2749
+
2750
+ export namespace Symbol {
2751
+ /**
2752
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2753
+ * platforms, which differ by reader.
2754
+ */
2755
+ export interface Tag {
2756
+ /**
2757
+ * X's ID for the SmartTag.
2758
+ */
2759
+ id?: string;
2760
+
2761
+ info?: Tag.Info;
2762
+ }
2763
+
2764
+ export namespace Tag {
2765
+ export interface Info {
2766
+ info?: Info.Info;
2767
+ }
2768
+
2769
+ export namespace Info {
2770
+ export interface Info {
2771
+ /**
2772
+ * Whether X marks the SmartTag active.
2773
+ */
2774
+ active?: boolean;
2775
+
2776
+ name?: string;
2777
+
2778
+ ticker?: string;
2779
+ }
2780
+ }
2781
+ }
2782
+ }
2783
+
2784
+ /**
2785
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2786
+ */
2787
+ export interface Timestamp {
2788
+ indices?: Array<number>;
2789
+
2790
+ seconds?: number;
2791
+
2792
+ /**
2793
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2794
+ * platforms, which differ by reader.
2795
+ */
2796
+ tag?: Timestamp.Tag;
2797
+
2798
+ text?: string;
2799
+ }
2800
+
2801
+ export namespace Timestamp {
2802
+ /**
2803
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2804
+ * platforms, which differ by reader.
2805
+ */
2806
+ export interface Tag {
2807
+ /**
2808
+ * X's ID for the SmartTag.
2809
+ */
2810
+ id?: string;
2811
+
2812
+ info?: Tag.Info;
2813
+ }
2814
+
2815
+ export namespace Tag {
2816
+ export interface Info {
2817
+ info?: Info.Info;
2818
+ }
2819
+
2820
+ export namespace Info {
2821
+ export interface Info {
2822
+ /**
2823
+ * Whether X marks the SmartTag active.
2824
+ */
2825
+ active?: boolean;
2826
+
2827
+ name?: string;
2828
+
2829
+ ticker?: string;
2830
+ }
2831
+ }
2832
+ }
2833
+ }
2834
+
2835
+ /**
2836
+ * Provides shortened, display, and expanded URLs from tweet text.
2837
+ */
2838
+ export interface URL {
2839
+ display_url?: string;
2840
+
2841
+ expanded_url?: string;
2842
+
2843
+ indices?: Array<number>;
2844
+
2845
+ url?: string;
2846
+ }
2847
+
2848
+ /**
2849
+ * Provides profile identity and source offsets for a mention.
2850
+ */
2851
+ export interface UserMention {
2852
+ screen_name: string;
2853
+
2854
+ id_str?: string;
2855
+
2856
+ indices?: Array<number>;
2857
+
2858
+ name?: string;
2859
+ }
2860
+ }
2861
+
2862
+ export interface InlineMedia {
2863
+ /**
2864
+ * Whole number from 0.
2865
+ */
2866
+ index: number;
2867
+
2868
+ mediaId: string;
2869
+ }
2870
+
2871
+ export interface RichtextTag {
2872
+ /**
2873
+ * Whole number from 0.
2874
+ */
2875
+ fromIndex: number;
2876
+
2877
+ /**
2878
+ * Whole number from 0.
2879
+ */
2880
+ toIndex: number;
2881
+
2882
+ types: Array<string>;
2883
+ }
2884
+ }
2885
+
2886
+ /**
2887
+ * Describes public place metadata on a geotagged tweet.
2888
+ */
2889
+ export interface Place {
2890
+ id?: string;
2891
+
2892
+ /**
2893
+ * Public metadata whose fields are defined by X.
2894
+ */
2895
+ boundingBox?: { [key: string]: unknown };
2896
+
2897
+ country?: string;
2898
+
2899
+ countryCode?: string;
2900
+
2901
+ fullName?: string;
2902
+
2903
+ name?: string;
2904
+
2905
+ placeType?: string;
2906
+
2907
+ url?: string;
2908
+ }
2909
+
2910
+ /**
2911
+ * Engagement counts retained from a prior tweet edit.
2912
+ */
2913
+ export interface PreviousCounts {
2914
+ /**
2915
+ * Whole number from 0.
2916
+ */
2917
+ bookmarkCount?: number;
2918
+
2919
+ /**
2920
+ * Whole number from 0.
2921
+ */
2922
+ likeCount?: number;
2923
+
2924
+ /**
2925
+ * Whole number from 0.
2926
+ */
2927
+ quoteCount?: number;
2928
+
2929
+ /**
2930
+ * Whole number from 0.
2931
+ */
2932
+ replyCount?: number;
2933
+
2934
+ /**
2935
+ * Whole number from 0.
2936
+ */
2937
+ retweetCount?: number;
2938
+ }
2939
+
2940
+ /**
2941
+ * Embedded post with public fields and legacy profile aliases.
2942
+ */
2943
+ export interface QuotedTweet extends Omit<Shared.EmbeddedTweet, 'author'> {
2944
+ /**
2945
+ * Public profile with retained legacy monitor fields.
2946
+ */
2947
+ author?: QuotedTweet.Author;
2948
+ }
2949
+
2950
+ export namespace QuotedTweet {
2951
+ /**
2952
+ * Public profile with retained legacy monitor fields.
2953
+ */
2954
+ export interface Author extends Shared.UserProfile {
2955
+ /**
2956
+ * Original X flag. Read verified for the displayed badge.
2957
+ *
2958
+ * @deprecated
2959
+ */
2960
+ rawVerified?: boolean;
2961
+
2962
+ /**
2963
+ * Legacy username alias. Read username instead.
2964
+ *
2965
+ * @deprecated
2966
+ */
2967
+ userName?: string;
2968
+ }
2969
+ }
2970
+
2971
+ /**
2972
+ * The quoted post's link, kept when X withholds that post.
2973
+ */
2974
+ export interface QuotedTweetPermalink {
2975
+ displayUrl?: string;
2976
+
2977
+ expandedUrl?: string;
2978
+
2979
+ url?: string;
2980
+ }
2981
+
2982
+ /**
2983
+ * Why X shows no quoted post. Omitted when X names no reason, as its legacy
2984
+ * answers never do.
2985
+ */
2986
+ export interface QuotedTweetUnavailable {
2987
+ /**
2988
+ * X's reason, such as `Suspended` for a suspended author or `Protected` for an
2989
+ * author who protects their posts.
2990
+ */
2991
+ reason: string;
2992
+ }
2993
+
2994
+ export interface ReactionContext {
2995
+ reactedToPostId?: string;
2996
+
2997
+ /**
2998
+ * Public profile with retained legacy monitor fields.
2999
+ */
3000
+ reactedToUser?: ReactionContext.ReactedToUser;
3001
+ }
3002
+
3003
+ export namespace ReactionContext {
3004
+ /**
3005
+ * Public profile with retained legacy monitor fields.
3006
+ */
3007
+ export interface ReactedToUser extends Shared.UserProfile {
3008
+ /**
3009
+ * Original X flag. Read verified for the displayed badge.
3010
+ *
3011
+ * @deprecated
3012
+ */
3013
+ rawVerified?: boolean;
3014
+
3015
+ /**
3016
+ * Legacy username alias. Read username instead.
3017
+ *
3018
+ * @deprecated
3019
+ */
3020
+ userName?: string;
3021
+ }
3022
+ }
3023
+
3024
+ /**
3025
+ * Embedded post with public fields and legacy profile aliases.
3026
+ */
3027
+ export interface RetweetedTweet extends Omit<Shared.EmbeddedTweet, 'author'> {
3028
+ /**
3029
+ * Public profile with retained legacy monitor fields.
3030
+ */
3031
+ author?: RetweetedTweet.Author;
3032
+ }
3033
+
3034
+ export namespace RetweetedTweet {
3035
+ /**
3036
+ * Public profile with retained legacy monitor fields.
3037
+ */
3038
+ export interface Author extends Shared.UserProfile {
3039
+ /**
3040
+ * Original X flag. Read verified for the displayed badge.
3041
+ *
3042
+ * @deprecated
3043
+ */
3044
+ rawVerified?: boolean;
3045
+
3046
+ /**
3047
+ * Legacy username alias. Read username instead.
3048
+ *
3049
+ * @deprecated
3050
+ */
3051
+ userName?: string;
3052
+ }
3053
+ }
3054
+
3055
+ /**
3056
+ * Game metadata attached to this post.
3057
+ */
3058
+ export interface SportsContext {
3059
+ /**
3060
+ * Teams & reported scores.
3061
+ */
3062
+ competitors?: Array<SportsContext.Competitor>;
3063
+
3064
+ /**
3065
+ * Game ID.
3066
+ */
3067
+ gameId?: string;
3068
+
3069
+ /**
3070
+ * League ID.
3071
+ */
3072
+ league?: string;
3073
+
3074
+ /**
3075
+ * Scheduled Unix milliseconds, retaining the source type.
3076
+ */
3077
+ scheduledAtMs?: number | string;
3078
+
3079
+ /**
3080
+ * Reported game state.
3081
+ */
3082
+ state?: string;
3083
+
3084
+ /**
3085
+ * Game progress text.
3086
+ */
3087
+ statusText?: string;
3088
+
3089
+ /**
3090
+ * Game title.
3091
+ */
3092
+ title?: string;
3093
+
3094
+ /**
3095
+ * Game link.
3096
+ */
3097
+ url?: string;
3098
+ }
3099
+
3100
+ export namespace SportsContext {
3101
+ export interface Competitor {
3102
+ /**
3103
+ * Team abbreviation.
3104
+ */
3105
+ abbreviation?: string;
3106
+
3107
+ /**
3108
+ * Team display color.
3109
+ */
3110
+ color?: string;
3111
+
3112
+ /**
3113
+ * Logo for dark backgrounds.
3114
+ */
3115
+ darkLogoUrl?: string;
3116
+
3117
+ /**
3118
+ * Active competitor.
3119
+ */
3120
+ isActive?: boolean;
3121
+
3122
+ /**
3123
+ * Winning competitor.
3124
+ */
3125
+ isWinner?: boolean;
3126
+
3127
+ /**
3128
+ * Logo for light backgrounds.
3129
+ */
3130
+ logoUrl?: string;
3131
+
3132
+ /**
3133
+ * Team name.
3134
+ */
3135
+ name?: string;
3136
+
3137
+ /**
3138
+ * Score display text.
3139
+ */
3140
+ score?: string;
3141
+
3142
+ /**
3143
+ * Team ID.
3144
+ */
3145
+ teamId?: string;
3146
+ }
3147
+ }
3148
+
3149
+ /**
3150
+ * The Subscriber badge X shows on a reply. The reply's author subscribes to the
3151
+ * creator who started the conversation. Omitted on a post without the badge.
3152
+ */
3153
+ export interface SubscriberBadge {
3154
+ /**
3155
+ * Account ID of the creator the author subscribes to.
3156
+ */
3157
+ creatorId: string;
3158
+ }
3159
+
3160
+ export interface TextHighlight {
3161
+ /**
3162
+ * The first code point after the match.
3163
+ */
3164
+ endIndex: number;
3165
+
3166
+ /**
3167
+ * The first code point of the match.
3168
+ */
3169
+ startIndex: number;
3170
+ }
3171
+
3172
+ /**
3173
+ * Public visibility notice attached to an available tweet.
3174
+ */
3175
+ export interface Tombstone {
3176
+ text?: Tombstone.Text;
3177
+
3178
+ /**
3179
+ * Visibility notice type.
3180
+ */
3181
+ type?: string;
3182
+ }
3183
+
3184
+ export namespace Tombstone {
3185
+ export interface Text {
3186
+ entities?: Array<Text.Entity>;
3187
+
3188
+ /**
3189
+ * Right-to-left text direction.
3190
+ */
3191
+ rtl?: boolean;
3192
+
3193
+ /**
3194
+ * Human-readable notice text.
3195
+ */
3196
+ text?: string;
3197
+ }
3198
+
3199
+ export namespace Text {
3200
+ export interface Entity {
3201
+ /**
3202
+ * Whole number from 0.
3203
+ */
3204
+ fromIndex?: number;
3205
+
3206
+ ref?: Entity.Ref;
3207
+
3208
+ /**
3209
+ * Whole number from 0.
3210
+ */
3211
+ toIndex?: number;
3212
+ }
3213
+
3214
+ export namespace Entity {
3215
+ export interface Ref {
3216
+ type?: string;
3217
+
3218
+ url?: string;
3219
+
3220
+ urlType?: string;
3221
+ }
3222
+ }
3223
+ }
3224
+ }
3225
+ }
3226
+
3227
+ /**
3228
+ * Changed profile field with its previous and current values.
3229
+ */
3230
+ export interface MonitorProfileChange {
3231
+ field: string;
3232
+
3233
+ /**
3234
+ * Permanent X user ID.
3235
+ */
3236
+ userId: string;
3237
+
3238
+ /**
3239
+ * Username observed for this change.
3240
+ */
3241
+ username: string;
3242
+
3243
+ /**
3244
+ * Profile text, flag, or pinned post IDs. Missing values are omitted.
3245
+ */
3246
+ current?: string | boolean | Array<string>;
3247
+
3248
+ /**
3249
+ * Profile text, flag, or pinned post IDs. Missing values are omitted.
3250
+ */
3251
+ previous?: string | boolean | Array<string>;
3252
+ }
3253
+
3254
+ /**
3255
+ * Older stored posts remain readable. Fields can be missing or null.
3256
+ */
3257
+ export interface MonitorLegacyPost {
3258
+ id?: string;
3259
+
3260
+ author?: { [key: string]: unknown } | null;
3261
+
3262
+ quoted_tweet?: { [key: string]: unknown } | null;
3263
+
3264
+ retweeted_tweet?: { [key: string]: unknown } | null;
3265
+
3266
+ text?: string;
3267
+
3268
+ [k: string]: unknown;
3269
+ }
3270
+ }
3271
+
3272
+ export interface EventListResponse {
3273
+ events: Array<Event>;
3274
+
3275
+ hasMore: boolean;
3276
+
3277
+ nextCursor?: string;
3278
+ }
3279
+
3280
+ export interface EventListParams {
3281
+ /**
3282
+ * Previous nextCursor. The after alias also works. Offset pagination is not
3283
+ * supported.
3284
+ */
3285
+ cursor?: string;
3286
+
3287
+ /**
3288
+ * Filter events by type
3289
+ */
3290
+ eventType?: Shared.EventType;
3291
+
3292
+ /**
3293
+ * Keyword monitor ID. The keyword_monitor_id alias also works.
3294
+ */
3295
+ keywordMonitorId?: string;
3296
+
3297
+ /**
3298
+ * Maximum items per page: 1 to 100, default 50. Credits can reduce paid results.
3299
+ * With none affordable, it returns 402 insufficient_credits.
3300
+ */
3301
+ limit?: number;
3302
+
3303
+ /**
3304
+ * Account monitor ID. The monitor_id alias also works.
3305
+ */
3306
+ monitorId?: string;
3307
+ }
3308
+
3309
+ export interface EventStreamParams {
3310
+ /**
3311
+ * The last event ID the client got. The stream first sends every event after it.
3312
+ */
3313
+ 'Last-Event-ID'?: string;
158
3314
  }
159
3315
 
160
3316
  export declare namespace Events {
@@ -163,5 +3319,6 @@ export declare namespace Events {
163
3319
  type EventDetail as EventDetail,
164
3320
  type EventListResponse as EventListResponse,
165
3321
  type EventListParams as EventListParams,
3322
+ type EventStreamParams as EventStreamParams,
166
3323
  };
167
3324
  }