featurebase-node 0.0.2

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 (795) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/LICENSE +201 -0
  3. package/README.md +356 -0
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +274 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +274 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +569 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +565 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/resource.d.mts +6 -0
  37. package/core/resource.d.mts.map +1 -0
  38. package/core/resource.d.ts +6 -0
  39. package/core/resource.d.ts.map +1 -0
  40. package/core/resource.js +11 -0
  41. package/core/resource.js.map +1 -0
  42. package/core/resource.mjs +7 -0
  43. package/core/resource.mjs.map +1 -0
  44. package/core/uploads.d.mts +3 -0
  45. package/core/uploads.d.mts.map +1 -0
  46. package/core/uploads.d.ts +3 -0
  47. package/core/uploads.d.ts.map +1 -0
  48. package/core/uploads.js +6 -0
  49. package/core/uploads.js.map +1 -0
  50. package/core/uploads.mjs +2 -0
  51. package/core/uploads.mjs.map +1 -0
  52. package/error.d.mts +2 -0
  53. package/error.d.mts.map +1 -0
  54. package/error.d.ts +2 -0
  55. package/error.d.ts.map +1 -0
  56. package/error.js +6 -0
  57. package/error.js.map +1 -0
  58. package/error.mjs +2 -0
  59. package/error.mjs.map +1 -0
  60. package/index.d.mts +6 -0
  61. package/index.d.mts.map +1 -0
  62. package/index.d.ts +6 -0
  63. package/index.d.ts.map +1 -0
  64. package/index.js +30 -0
  65. package/index.js.map +1 -0
  66. package/index.mjs +7 -0
  67. package/index.mjs.map +1 -0
  68. package/internal/builtin-types.d.mts +73 -0
  69. package/internal/builtin-types.d.mts.map +1 -0
  70. package/internal/builtin-types.d.ts +73 -0
  71. package/internal/builtin-types.d.ts.map +1 -0
  72. package/internal/builtin-types.js +4 -0
  73. package/internal/builtin-types.js.map +1 -0
  74. package/internal/builtin-types.mjs +3 -0
  75. package/internal/builtin-types.mjs.map +1 -0
  76. package/internal/detect-platform.d.mts +15 -0
  77. package/internal/detect-platform.d.mts.map +1 -0
  78. package/internal/detect-platform.d.ts +15 -0
  79. package/internal/detect-platform.d.ts.map +1 -0
  80. package/internal/detect-platform.js +162 -0
  81. package/internal/detect-platform.js.map +1 -0
  82. package/internal/detect-platform.mjs +157 -0
  83. package/internal/detect-platform.mjs.map +1 -0
  84. package/internal/errors.d.mts +3 -0
  85. package/internal/errors.d.mts.map +1 -0
  86. package/internal/errors.d.ts +3 -0
  87. package/internal/errors.d.ts.map +1 -0
  88. package/internal/errors.js +41 -0
  89. package/internal/errors.js.map +1 -0
  90. package/internal/errors.mjs +36 -0
  91. package/internal/errors.mjs.map +1 -0
  92. package/internal/headers.d.mts +20 -0
  93. package/internal/headers.d.mts.map +1 -0
  94. package/internal/headers.d.ts +20 -0
  95. package/internal/headers.d.ts.map +1 -0
  96. package/internal/headers.js +79 -0
  97. package/internal/headers.js.map +1 -0
  98. package/internal/headers.mjs +74 -0
  99. package/internal/headers.mjs.map +1 -0
  100. package/internal/parse.d.mts +12 -0
  101. package/internal/parse.d.mts.map +1 -0
  102. package/internal/parse.d.ts +12 -0
  103. package/internal/parse.d.ts.map +1 -0
  104. package/internal/parse.js +40 -0
  105. package/internal/parse.js.map +1 -0
  106. package/internal/parse.mjs +37 -0
  107. package/internal/parse.mjs.map +1 -0
  108. package/internal/qs/formats.d.mts +7 -0
  109. package/internal/qs/formats.d.mts.map +1 -0
  110. package/internal/qs/formats.d.ts +7 -0
  111. package/internal/qs/formats.d.ts.map +1 -0
  112. package/internal/qs/formats.js +13 -0
  113. package/internal/qs/formats.js.map +1 -0
  114. package/internal/qs/formats.mjs +9 -0
  115. package/internal/qs/formats.mjs.map +1 -0
  116. package/internal/qs/index.d.mts +10 -0
  117. package/internal/qs/index.d.mts.map +1 -0
  118. package/internal/qs/index.d.ts +10 -0
  119. package/internal/qs/index.d.ts.map +1 -0
  120. package/internal/qs/index.js +14 -0
  121. package/internal/qs/index.js.map +1 -0
  122. package/internal/qs/index.mjs +10 -0
  123. package/internal/qs/index.mjs.map +1 -0
  124. package/internal/qs/stringify.d.mts +3 -0
  125. package/internal/qs/stringify.d.mts.map +1 -0
  126. package/internal/qs/stringify.d.ts +3 -0
  127. package/internal/qs/stringify.d.ts.map +1 -0
  128. package/internal/qs/stringify.js +277 -0
  129. package/internal/qs/stringify.js.map +1 -0
  130. package/internal/qs/stringify.mjs +274 -0
  131. package/internal/qs/stringify.mjs.map +1 -0
  132. package/internal/qs/types.d.mts +57 -0
  133. package/internal/qs/types.d.mts.map +1 -0
  134. package/internal/qs/types.d.ts +57 -0
  135. package/internal/qs/types.d.ts.map +1 -0
  136. package/internal/qs/types.js +3 -0
  137. package/internal/qs/types.js.map +1 -0
  138. package/internal/qs/types.mjs +2 -0
  139. package/internal/qs/types.mjs.map +1 -0
  140. package/internal/qs/utils.d.mts +15 -0
  141. package/internal/qs/utils.d.mts.map +1 -0
  142. package/internal/qs/utils.d.ts +15 -0
  143. package/internal/qs/utils.d.ts.map +1 -0
  144. package/internal/qs/utils.js +230 -0
  145. package/internal/qs/utils.js.map +1 -0
  146. package/internal/qs/utils.mjs +217 -0
  147. package/internal/qs/utils.mjs.map +1 -0
  148. package/internal/request-options.d.mts +75 -0
  149. package/internal/request-options.d.mts.map +1 -0
  150. package/internal/request-options.d.ts +75 -0
  151. package/internal/request-options.d.ts.map +1 -0
  152. package/internal/request-options.js +14 -0
  153. package/internal/request-options.js.map +1 -0
  154. package/internal/request-options.mjs +10 -0
  155. package/internal/request-options.mjs.map +1 -0
  156. package/internal/shim-types.d.mts +17 -0
  157. package/internal/shim-types.d.mts.map +1 -0
  158. package/internal/shim-types.d.ts +17 -0
  159. package/internal/shim-types.d.ts.map +1 -0
  160. package/internal/shim-types.js +4 -0
  161. package/internal/shim-types.js.map +1 -0
  162. package/internal/shim-types.mjs +3 -0
  163. package/internal/shim-types.mjs.map +1 -0
  164. package/internal/shims.d.mts +20 -0
  165. package/internal/shims.d.mts.map +1 -0
  166. package/internal/shims.d.ts +20 -0
  167. package/internal/shims.d.ts.map +1 -0
  168. package/internal/shims.js +92 -0
  169. package/internal/shims.js.map +1 -0
  170. package/internal/shims.mjs +85 -0
  171. package/internal/shims.mjs.map +1 -0
  172. package/internal/to-file.d.mts +45 -0
  173. package/internal/to-file.d.mts.map +1 -0
  174. package/internal/to-file.d.ts +45 -0
  175. package/internal/to-file.d.ts.map +1 -0
  176. package/internal/to-file.js +91 -0
  177. package/internal/to-file.js.map +1 -0
  178. package/internal/to-file.mjs +88 -0
  179. package/internal/to-file.mjs.map +1 -0
  180. package/internal/tslib.js +81 -0
  181. package/internal/tslib.mjs +17 -0
  182. package/internal/types.d.mts +69 -0
  183. package/internal/types.d.mts.map +1 -0
  184. package/internal/types.d.ts +69 -0
  185. package/internal/types.d.ts.map +1 -0
  186. package/internal/types.js +4 -0
  187. package/internal/types.js.map +1 -0
  188. package/internal/types.mjs +3 -0
  189. package/internal/types.mjs.map +1 -0
  190. package/internal/uploads.d.mts +42 -0
  191. package/internal/uploads.d.mts.map +1 -0
  192. package/internal/uploads.d.ts +42 -0
  193. package/internal/uploads.d.ts.map +1 -0
  194. package/internal/uploads.js +141 -0
  195. package/internal/uploads.js.map +1 -0
  196. package/internal/uploads.mjs +131 -0
  197. package/internal/uploads.mjs.map +1 -0
  198. package/internal/utils/base64.d.mts +3 -0
  199. package/internal/utils/base64.d.mts.map +1 -0
  200. package/internal/utils/base64.d.ts +3 -0
  201. package/internal/utils/base64.d.ts.map +1 -0
  202. package/internal/utils/base64.js +38 -0
  203. package/internal/utils/base64.js.map +1 -0
  204. package/internal/utils/base64.mjs +33 -0
  205. package/internal/utils/base64.mjs.map +1 -0
  206. package/internal/utils/bytes.d.mts +4 -0
  207. package/internal/utils/bytes.d.mts.map +1 -0
  208. package/internal/utils/bytes.d.ts +4 -0
  209. package/internal/utils/bytes.d.ts.map +1 -0
  210. package/internal/utils/bytes.js +31 -0
  211. package/internal/utils/bytes.js.map +1 -0
  212. package/internal/utils/bytes.mjs +26 -0
  213. package/internal/utils/bytes.mjs.map +1 -0
  214. package/internal/utils/env.d.mts +9 -0
  215. package/internal/utils/env.d.mts.map +1 -0
  216. package/internal/utils/env.d.ts +9 -0
  217. package/internal/utils/env.d.ts.map +1 -0
  218. package/internal/utils/env.js +22 -0
  219. package/internal/utils/env.js.map +1 -0
  220. package/internal/utils/env.mjs +18 -0
  221. package/internal/utils/env.mjs.map +1 -0
  222. package/internal/utils/log.d.mts +37 -0
  223. package/internal/utils/log.d.mts.map +1 -0
  224. package/internal/utils/log.d.ts +37 -0
  225. package/internal/utils/log.d.ts.map +1 -0
  226. package/internal/utils/log.js +85 -0
  227. package/internal/utils/log.js.map +1 -0
  228. package/internal/utils/log.mjs +79 -0
  229. package/internal/utils/log.mjs.map +1 -0
  230. package/internal/utils/path.d.mts +15 -0
  231. package/internal/utils/path.d.mts.map +1 -0
  232. package/internal/utils/path.d.ts +15 -0
  233. package/internal/utils/path.d.ts.map +1 -0
  234. package/internal/utils/path.js +79 -0
  235. package/internal/utils/path.js.map +1 -0
  236. package/internal/utils/path.mjs +74 -0
  237. package/internal/utils/path.mjs.map +1 -0
  238. package/internal/utils/query.d.mts +2 -0
  239. package/internal/utils/query.d.mts.map +1 -0
  240. package/internal/utils/query.d.ts +2 -0
  241. package/internal/utils/query.d.ts.map +1 -0
  242. package/internal/utils/query.js +10 -0
  243. package/internal/utils/query.js.map +1 -0
  244. package/internal/utils/query.mjs +6 -0
  245. package/internal/utils/query.mjs.map +1 -0
  246. package/internal/utils/sleep.d.mts +2 -0
  247. package/internal/utils/sleep.d.mts.map +1 -0
  248. package/internal/utils/sleep.d.ts +2 -0
  249. package/internal/utils/sleep.d.ts.map +1 -0
  250. package/internal/utils/sleep.js +7 -0
  251. package/internal/utils/sleep.js.map +1 -0
  252. package/internal/utils/sleep.mjs +3 -0
  253. package/internal/utils/sleep.mjs.map +1 -0
  254. package/internal/utils/uuid.d.mts +5 -0
  255. package/internal/utils/uuid.d.mts.map +1 -0
  256. package/internal/utils/uuid.d.ts +5 -0
  257. package/internal/utils/uuid.d.ts.map +1 -0
  258. package/internal/utils/uuid.js +19 -0
  259. package/internal/utils/uuid.js.map +1 -0
  260. package/internal/utils/uuid.mjs +15 -0
  261. package/internal/utils/uuid.mjs.map +1 -0
  262. package/internal/utils/values.d.mts +18 -0
  263. package/internal/utils/values.d.mts.map +1 -0
  264. package/internal/utils/values.d.ts +18 -0
  265. package/internal/utils/values.d.ts.map +1 -0
  266. package/internal/utils/values.js +112 -0
  267. package/internal/utils/values.js.map +1 -0
  268. package/internal/utils/values.mjs +94 -0
  269. package/internal/utils/values.mjs.map +1 -0
  270. package/internal/utils.d.mts +8 -0
  271. package/internal/utils.d.mts.map +1 -0
  272. package/internal/utils.d.ts +8 -0
  273. package/internal/utils.d.ts.map +1 -0
  274. package/internal/utils.js +12 -0
  275. package/internal/utils.js.map +1 -0
  276. package/internal/utils.mjs +9 -0
  277. package/internal/utils.mjs.map +1 -0
  278. package/package.json +143 -0
  279. package/resource.d.mts +2 -0
  280. package/resource.d.mts.map +1 -0
  281. package/resource.d.ts +2 -0
  282. package/resource.d.ts.map +1 -0
  283. package/resource.js +6 -0
  284. package/resource.js.map +1 -0
  285. package/resource.mjs +2 -0
  286. package/resource.mjs.map +1 -0
  287. package/resources/admins.d.mts +437 -0
  288. package/resources/admins.d.mts.map +1 -0
  289. package/resources/admins.d.ts +437 -0
  290. package/resources/admins.d.ts.map +1 -0
  291. package/resources/admins.js +157 -0
  292. package/resources/admins.js.map +1 -0
  293. package/resources/admins.mjs +153 -0
  294. package/resources/admins.mjs.map +1 -0
  295. package/resources/boards.d.mts +202 -0
  296. package/resources/boards.d.mts.map +1 -0
  297. package/resources/boards.d.ts +202 -0
  298. package/resources/boards.d.ts.map +1 -0
  299. package/resources/boards.js +52 -0
  300. package/resources/boards.js.map +1 -0
  301. package/resources/boards.mjs +48 -0
  302. package/resources/boards.mjs.map +1 -0
  303. package/resources/brands.d.mts +180 -0
  304. package/resources/brands.d.mts.map +1 -0
  305. package/resources/brands.d.ts +180 -0
  306. package/resources/brands.d.ts.map +1 -0
  307. package/resources/brands.js +130 -0
  308. package/resources/brands.js.map +1 -0
  309. package/resources/brands.mjs +126 -0
  310. package/resources/brands.mjs.map +1 -0
  311. package/resources/changelogs/changelogs.d.mts +723 -0
  312. package/resources/changelogs/changelogs.d.mts.map +1 -0
  313. package/resources/changelogs/changelogs.d.ts +723 -0
  314. package/resources/changelogs/changelogs.d.ts.map +1 -0
  315. package/resources/changelogs/changelogs.js +406 -0
  316. package/resources/changelogs/changelogs.js.map +1 -0
  317. package/resources/changelogs/changelogs.mjs +401 -0
  318. package/resources/changelogs/changelogs.mjs.map +1 -0
  319. package/resources/changelogs/index.d.mts +3 -0
  320. package/resources/changelogs/index.d.mts.map +1 -0
  321. package/resources/changelogs/index.d.ts +3 -0
  322. package/resources/changelogs/index.d.ts.map +1 -0
  323. package/resources/changelogs/index.js +9 -0
  324. package/resources/changelogs/index.js.map +1 -0
  325. package/resources/changelogs/index.mjs +4 -0
  326. package/resources/changelogs/index.mjs.map +1 -0
  327. package/resources/changelogs/subscribers.d.mts +145 -0
  328. package/resources/changelogs/subscribers.d.mts.map +1 -0
  329. package/resources/changelogs/subscribers.d.ts +145 -0
  330. package/resources/changelogs/subscribers.d.ts.map +1 -0
  331. package/resources/changelogs/subscribers.js +119 -0
  332. package/resources/changelogs/subscribers.js.map +1 -0
  333. package/resources/changelogs/subscribers.mjs +115 -0
  334. package/resources/changelogs/subscribers.mjs.map +1 -0
  335. package/resources/changelogs.d.mts +2 -0
  336. package/resources/changelogs.d.mts.map +1 -0
  337. package/resources/changelogs.d.ts +2 -0
  338. package/resources/changelogs.d.ts.map +1 -0
  339. package/resources/changelogs.js +6 -0
  340. package/resources/changelogs.js.map +1 -0
  341. package/resources/changelogs.mjs +3 -0
  342. package/resources/changelogs.mjs.map +1 -0
  343. package/resources/comments.d.mts +632 -0
  344. package/resources/comments.d.mts.map +1 -0
  345. package/resources/comments.d.ts +632 -0
  346. package/resources/comments.d.ts.map +1 -0
  347. package/resources/comments.js +397 -0
  348. package/resources/comments.js.map +1 -0
  349. package/resources/comments.mjs +393 -0
  350. package/resources/comments.mjs.map +1 -0
  351. package/resources/companies/companies.d.mts +497 -0
  352. package/resources/companies/companies.d.mts.map +1 -0
  353. package/resources/companies/companies.d.ts +497 -0
  354. package/resources/companies/companies.d.ts.map +1 -0
  355. package/resources/companies/companies.js +368 -0
  356. package/resources/companies/companies.js.map +1 -0
  357. package/resources/companies/companies.mjs +363 -0
  358. package/resources/companies/companies.mjs.map +1 -0
  359. package/resources/companies/contacts.d.mts +236 -0
  360. package/resources/companies/contacts.d.mts.map +1 -0
  361. package/resources/companies/contacts.d.ts +236 -0
  362. package/resources/companies/contacts.d.ts.map +1 -0
  363. package/resources/companies/contacts.js +218 -0
  364. package/resources/companies/contacts.js.map +1 -0
  365. package/resources/companies/contacts.mjs +214 -0
  366. package/resources/companies/contacts.mjs.map +1 -0
  367. package/resources/companies/index.d.mts +3 -0
  368. package/resources/companies/index.d.mts.map +1 -0
  369. package/resources/companies/index.d.ts +3 -0
  370. package/resources/companies/index.d.ts.map +1 -0
  371. package/resources/companies/index.js +9 -0
  372. package/resources/companies/index.js.map +1 -0
  373. package/resources/companies/index.mjs +4 -0
  374. package/resources/companies/index.mjs.map +1 -0
  375. package/resources/companies.d.mts +2 -0
  376. package/resources/companies.d.mts.map +1 -0
  377. package/resources/companies.d.ts +2 -0
  378. package/resources/companies.d.ts.map +1 -0
  379. package/resources/companies.js +6 -0
  380. package/resources/companies.js.map +1 -0
  381. package/resources/companies.mjs +3 -0
  382. package/resources/companies.mjs.map +1 -0
  383. package/resources/contacts/by-user-id/by-user-id.d.mts +147 -0
  384. package/resources/contacts/by-user-id/by-user-id.d.mts.map +1 -0
  385. package/resources/contacts/by-user-id/by-user-id.d.ts +147 -0
  386. package/resources/contacts/by-user-id/by-user-id.d.ts.map +1 -0
  387. package/resources/contacts/by-user-id/by-user-id.js +152 -0
  388. package/resources/contacts/by-user-id/by-user-id.js.map +1 -0
  389. package/resources/contacts/by-user-id/by-user-id.mjs +147 -0
  390. package/resources/contacts/by-user-id/by-user-id.mjs.map +1 -0
  391. package/resources/contacts/by-user-id/email-preferences.d.mts +199 -0
  392. package/resources/contacts/by-user-id/email-preferences.d.mts.map +1 -0
  393. package/resources/contacts/by-user-id/email-preferences.d.ts +199 -0
  394. package/resources/contacts/by-user-id/email-preferences.d.ts.map +1 -0
  395. package/resources/contacts/by-user-id/email-preferences.js +176 -0
  396. package/resources/contacts/by-user-id/email-preferences.js.map +1 -0
  397. package/resources/contacts/by-user-id/email-preferences.mjs +172 -0
  398. package/resources/contacts/by-user-id/email-preferences.mjs.map +1 -0
  399. package/resources/contacts/by-user-id/index.d.mts +3 -0
  400. package/resources/contacts/by-user-id/index.d.mts.map +1 -0
  401. package/resources/contacts/by-user-id/index.d.ts +3 -0
  402. package/resources/contacts/by-user-id/index.d.ts.map +1 -0
  403. package/resources/contacts/by-user-id/index.js +9 -0
  404. package/resources/contacts/by-user-id/index.js.map +1 -0
  405. package/resources/contacts/by-user-id/index.mjs +4 -0
  406. package/resources/contacts/by-user-id/index.mjs.map +1 -0
  407. package/resources/contacts/by-user-id.d.mts +2 -0
  408. package/resources/contacts/by-user-id.d.mts.map +1 -0
  409. package/resources/contacts/by-user-id.d.ts +2 -0
  410. package/resources/contacts/by-user-id.d.ts.map +1 -0
  411. package/resources/contacts/by-user-id.js +6 -0
  412. package/resources/contacts/by-user-id.js.map +1 -0
  413. package/resources/contacts/by-user-id.mjs +3 -0
  414. package/resources/contacts/by-user-id.mjs.map +1 -0
  415. package/resources/contacts/contacts.d.mts +708 -0
  416. package/resources/contacts/contacts.d.mts.map +1 -0
  417. package/resources/contacts/contacts.d.ts +708 -0
  418. package/resources/contacts/contacts.d.ts.map +1 -0
  419. package/resources/contacts/contacts.js +444 -0
  420. package/resources/contacts/contacts.js.map +1 -0
  421. package/resources/contacts/contacts.mjs +439 -0
  422. package/resources/contacts/contacts.mjs.map +1 -0
  423. package/resources/contacts/email-preferences.d.mts +334 -0
  424. package/resources/contacts/email-preferences.d.mts.map +1 -0
  425. package/resources/contacts/email-preferences.d.ts +334 -0
  426. package/resources/contacts/email-preferences.d.ts.map +1 -0
  427. package/resources/contacts/email-preferences.js +219 -0
  428. package/resources/contacts/email-preferences.js.map +1 -0
  429. package/resources/contacts/email-preferences.mjs +215 -0
  430. package/resources/contacts/email-preferences.mjs.map +1 -0
  431. package/resources/contacts/index.d.mts +4 -0
  432. package/resources/contacts/index.d.mts.map +1 -0
  433. package/resources/contacts/index.d.ts +4 -0
  434. package/resources/contacts/index.d.ts.map +1 -0
  435. package/resources/contacts/index.js +11 -0
  436. package/resources/contacts/index.js.map +1 -0
  437. package/resources/contacts/index.mjs +5 -0
  438. package/resources/contacts/index.mjs.map +1 -0
  439. package/resources/contacts.d.mts +2 -0
  440. package/resources/contacts.d.mts.map +1 -0
  441. package/resources/contacts.d.ts +2 -0
  442. package/resources/contacts.d.ts.map +1 -0
  443. package/resources/contacts.js +6 -0
  444. package/resources/contacts.js.map +1 -0
  445. package/resources/contacts.mjs +3 -0
  446. package/resources/contacts.mjs.map +1 -0
  447. package/resources/conversations/conversations.d.mts +2235 -0
  448. package/resources/conversations/conversations.d.mts.map +1 -0
  449. package/resources/conversations/conversations.d.ts +2235 -0
  450. package/resources/conversations/conversations.d.ts.map +1 -0
  451. package/resources/conversations/conversations.js +753 -0
  452. package/resources/conversations/conversations.js.map +1 -0
  453. package/resources/conversations/conversations.mjs +748 -0
  454. package/resources/conversations/conversations.mjs.map +1 -0
  455. package/resources/conversations/index.d.mts +4 -0
  456. package/resources/conversations/index.d.mts.map +1 -0
  457. package/resources/conversations/index.d.ts +4 -0
  458. package/resources/conversations/index.d.ts.map +1 -0
  459. package/resources/conversations/index.js +11 -0
  460. package/resources/conversations/index.js.map +1 -0
  461. package/resources/conversations/index.mjs +5 -0
  462. package/resources/conversations/index.mjs.map +1 -0
  463. package/resources/conversations/participants.d.mts +217 -0
  464. package/resources/conversations/participants.d.mts.map +1 -0
  465. package/resources/conversations/participants.d.ts +217 -0
  466. package/resources/conversations/participants.d.ts.map +1 -0
  467. package/resources/conversations/participants.js +185 -0
  468. package/resources/conversations/participants.js.map +1 -0
  469. package/resources/conversations/participants.mjs +181 -0
  470. package/resources/conversations/participants.mjs.map +1 -0
  471. package/resources/conversations/tags.d.mts +200 -0
  472. package/resources/conversations/tags.d.mts.map +1 -0
  473. package/resources/conversations/tags.d.ts +200 -0
  474. package/resources/conversations/tags.d.ts.map +1 -0
  475. package/resources/conversations/tags.js +138 -0
  476. package/resources/conversations/tags.js.map +1 -0
  477. package/resources/conversations/tags.mjs +134 -0
  478. package/resources/conversations/tags.mjs.map +1 -0
  479. package/resources/conversations.d.mts +2 -0
  480. package/resources/conversations.d.mts.map +1 -0
  481. package/resources/conversations.d.ts +2 -0
  482. package/resources/conversations.d.ts.map +1 -0
  483. package/resources/conversations.js +6 -0
  484. package/resources/conversations.js.map +1 -0
  485. package/resources/conversations.mjs +3 -0
  486. package/resources/conversations.mjs.map +1 -0
  487. package/resources/custom-fields.d.mts +189 -0
  488. package/resources/custom-fields.d.mts.map +1 -0
  489. package/resources/custom-fields.d.ts +189 -0
  490. package/resources/custom-fields.d.ts.map +1 -0
  491. package/resources/custom-fields.js +92 -0
  492. package/resources/custom-fields.js.map +1 -0
  493. package/resources/custom-fields.mjs +88 -0
  494. package/resources/custom-fields.mjs.map +1 -0
  495. package/resources/help-center/articles.d.mts +770 -0
  496. package/resources/help-center/articles.d.mts.map +1 -0
  497. package/resources/help-center/articles.d.ts +770 -0
  498. package/resources/help-center/articles.d.ts.map +1 -0
  499. package/resources/help-center/articles.js +296 -0
  500. package/resources/help-center/articles.js.map +1 -0
  501. package/resources/help-center/articles.mjs +292 -0
  502. package/resources/help-center/articles.mjs.map +1 -0
  503. package/resources/help-center/collections.d.mts +669 -0
  504. package/resources/help-center/collections.d.mts.map +1 -0
  505. package/resources/help-center/collections.d.ts +669 -0
  506. package/resources/help-center/collections.d.ts.map +1 -0
  507. package/resources/help-center/collections.js +278 -0
  508. package/resources/help-center/collections.js.map +1 -0
  509. package/resources/help-center/collections.mjs +274 -0
  510. package/resources/help-center/collections.mjs.map +1 -0
  511. package/resources/help-center/help-center.d.mts +22 -0
  512. package/resources/help-center/help-center.d.mts.map +1 -0
  513. package/resources/help-center/help-center.d.ts +22 -0
  514. package/resources/help-center/help-center.d.ts.map +1 -0
  515. package/resources/help-center/help-center.js +29 -0
  516. package/resources/help-center/help-center.js.map +1 -0
  517. package/resources/help-center/help-center.mjs +24 -0
  518. package/resources/help-center/help-center.mjs.map +1 -0
  519. package/resources/help-center/help-centers.d.mts +312 -0
  520. package/resources/help-center/help-centers.d.mts.map +1 -0
  521. package/resources/help-center/help-centers.d.ts +312 -0
  522. package/resources/help-center/help-centers.d.ts.map +1 -0
  523. package/resources/help-center/help-centers.js +111 -0
  524. package/resources/help-center/help-centers.js.map +1 -0
  525. package/resources/help-center/help-centers.mjs +107 -0
  526. package/resources/help-center/help-centers.mjs.map +1 -0
  527. package/resources/help-center/index.d.mts +6 -0
  528. package/resources/help-center/index.d.mts.map +1 -0
  529. package/resources/help-center/index.d.ts +6 -0
  530. package/resources/help-center/index.d.ts.map +1 -0
  531. package/resources/help-center/index.js +15 -0
  532. package/resources/help-center/index.js.map +1 -0
  533. package/resources/help-center/index.mjs +7 -0
  534. package/resources/help-center/index.mjs.map +1 -0
  535. package/resources/help-center/redirect-rules.d.mts +417 -0
  536. package/resources/help-center/redirect-rules.d.mts.map +1 -0
  537. package/resources/help-center/redirect-rules.d.ts +417 -0
  538. package/resources/help-center/redirect-rules.d.ts.map +1 -0
  539. package/resources/help-center/redirect-rules.js +297 -0
  540. package/resources/help-center/redirect-rules.js.map +1 -0
  541. package/resources/help-center/redirect-rules.mjs +293 -0
  542. package/resources/help-center/redirect-rules.mjs.map +1 -0
  543. package/resources/help-center.d.mts +2 -0
  544. package/resources/help-center.d.mts.map +1 -0
  545. package/resources/help-center.d.ts +2 -0
  546. package/resources/help-center.d.ts.map +1 -0
  547. package/resources/help-center.js +6 -0
  548. package/resources/help-center.js.map +1 -0
  549. package/resources/help-center.mjs +3 -0
  550. package/resources/help-center.mjs.map +1 -0
  551. package/resources/index.d.mts +18 -0
  552. package/resources/index.d.mts.map +1 -0
  553. package/resources/index.d.ts +18 -0
  554. package/resources/index.d.ts.map +1 -0
  555. package/resources/index.js +39 -0
  556. package/resources/index.js.map +1 -0
  557. package/resources/index.mjs +19 -0
  558. package/resources/index.mjs.map +1 -0
  559. package/resources/post-statuses.d.mts +74 -0
  560. package/resources/post-statuses.d.mts.map +1 -0
  561. package/resources/post-statuses.d.ts +74 -0
  562. package/resources/post-statuses.d.ts.map +1 -0
  563. package/resources/post-statuses.js +53 -0
  564. package/resources/post-statuses.js.map +1 -0
  565. package/resources/post-statuses.mjs +49 -0
  566. package/resources/post-statuses.mjs.map +1 -0
  567. package/resources/posts/index.d.mts +3 -0
  568. package/resources/posts/index.d.mts.map +1 -0
  569. package/resources/posts/index.d.ts +3 -0
  570. package/resources/posts/index.d.ts.map +1 -0
  571. package/resources/posts/index.js +9 -0
  572. package/resources/posts/index.js.map +1 -0
  573. package/resources/posts/index.mjs +4 -0
  574. package/resources/posts/index.mjs.map +1 -0
  575. package/resources/posts/posts.d.mts +799 -0
  576. package/resources/posts/posts.d.mts.map +1 -0
  577. package/resources/posts/posts.d.ts +799 -0
  578. package/resources/posts/posts.d.ts.map +1 -0
  579. package/resources/posts/posts.js +271 -0
  580. package/resources/posts/posts.js.map +1 -0
  581. package/resources/posts/posts.mjs +266 -0
  582. package/resources/posts/posts.mjs.map +1 -0
  583. package/resources/posts/voters.d.mts +359 -0
  584. package/resources/posts/voters.d.mts.map +1 -0
  585. package/resources/posts/voters.d.ts +359 -0
  586. package/resources/posts/voters.d.ts.map +1 -0
  587. package/resources/posts/voters.js +171 -0
  588. package/resources/posts/voters.js.map +1 -0
  589. package/resources/posts/voters.mjs +167 -0
  590. package/resources/posts/voters.mjs.map +1 -0
  591. package/resources/posts.d.mts +2 -0
  592. package/resources/posts.d.mts.map +1 -0
  593. package/resources/posts.d.ts +2 -0
  594. package/resources/posts.d.ts.map +1 -0
  595. package/resources/posts.js +6 -0
  596. package/resources/posts.js.map +1 -0
  597. package/resources/posts.mjs +3 -0
  598. package/resources/posts.mjs.map +1 -0
  599. package/resources/surveys.d.mts +451 -0
  600. package/resources/surveys.d.mts.map +1 -0
  601. package/resources/surveys.d.ts +451 -0
  602. package/resources/surveys.d.ts.map +1 -0
  603. package/resources/surveys.js +149 -0
  604. package/resources/surveys.js.map +1 -0
  605. package/resources/surveys.mjs +145 -0
  606. package/resources/surveys.mjs.map +1 -0
  607. package/resources/tags.d.mts +147 -0
  608. package/resources/tags.d.mts.map +1 -0
  609. package/resources/tags.d.ts +147 -0
  610. package/resources/tags.d.ts.map +1 -0
  611. package/resources/tags.js +100 -0
  612. package/resources/tags.js.map +1 -0
  613. package/resources/tags.mjs +96 -0
  614. package/resources/tags.mjs.map +1 -0
  615. package/resources/teams.d.mts +165 -0
  616. package/resources/teams.d.mts.map +1 -0
  617. package/resources/teams.d.ts +165 -0
  618. package/resources/teams.d.ts.map +1 -0
  619. package/resources/teams.js +120 -0
  620. package/resources/teams.js.map +1 -0
  621. package/resources/teams.mjs +116 -0
  622. package/resources/teams.mjs.map +1 -0
  623. package/resources/tickets/categories.d.mts +63 -0
  624. package/resources/tickets/categories.d.mts.map +1 -0
  625. package/resources/tickets/categories.d.ts +63 -0
  626. package/resources/tickets/categories.d.ts.map +1 -0
  627. package/resources/tickets/categories.js +67 -0
  628. package/resources/tickets/categories.js.map +1 -0
  629. package/resources/tickets/categories.mjs +63 -0
  630. package/resources/tickets/categories.mjs.map +1 -0
  631. package/resources/tickets/custom-fields.d.mts +80 -0
  632. package/resources/tickets/custom-fields.d.mts.map +1 -0
  633. package/resources/tickets/custom-fields.d.ts +80 -0
  634. package/resources/tickets/custom-fields.d.ts.map +1 -0
  635. package/resources/tickets/custom-fields.js +85 -0
  636. package/resources/tickets/custom-fields.js.map +1 -0
  637. package/resources/tickets/custom-fields.mjs +81 -0
  638. package/resources/tickets/custom-fields.mjs.map +1 -0
  639. package/resources/tickets/index.d.mts +5 -0
  640. package/resources/tickets/index.d.mts.map +1 -0
  641. package/resources/tickets/index.d.ts +5 -0
  642. package/resources/tickets/index.d.ts.map +1 -0
  643. package/resources/tickets/index.js +13 -0
  644. package/resources/tickets/index.js.map +1 -0
  645. package/resources/tickets/index.mjs +6 -0
  646. package/resources/tickets/index.mjs.map +1 -0
  647. package/resources/tickets/statuses.d.mts +59 -0
  648. package/resources/tickets/statuses.d.mts.map +1 -0
  649. package/resources/tickets/statuses.d.ts +59 -0
  650. package/resources/tickets/statuses.d.ts.map +1 -0
  651. package/resources/tickets/statuses.js +63 -0
  652. package/resources/tickets/statuses.js.map +1 -0
  653. package/resources/tickets/statuses.mjs +59 -0
  654. package/resources/tickets/statuses.mjs.map +1 -0
  655. package/resources/tickets/tickets.d.mts +794 -0
  656. package/resources/tickets/tickets.d.mts.map +1 -0
  657. package/resources/tickets/tickets.d.ts +794 -0
  658. package/resources/tickets/tickets.d.ts.map +1 -0
  659. package/resources/tickets/tickets.js +327 -0
  660. package/resources/tickets/tickets.js.map +1 -0
  661. package/resources/tickets/tickets.mjs +322 -0
  662. package/resources/tickets/tickets.mjs.map +1 -0
  663. package/resources/tickets.d.mts +2 -0
  664. package/resources/tickets.d.mts.map +1 -0
  665. package/resources/tickets.d.ts +2 -0
  666. package/resources/tickets.d.ts.map +1 -0
  667. package/resources/tickets.js +6 -0
  668. package/resources/tickets.js.map +1 -0
  669. package/resources/tickets.mjs +3 -0
  670. package/resources/tickets.mjs.map +1 -0
  671. package/resources/webhooks.d.mts +626 -0
  672. package/resources/webhooks.d.mts.map +1 -0
  673. package/resources/webhooks.d.ts +626 -0
  674. package/resources/webhooks.d.ts.map +1 -0
  675. package/resources/webhooks.js +442 -0
  676. package/resources/webhooks.js.map +1 -0
  677. package/resources/webhooks.mjs +438 -0
  678. package/resources/webhooks.mjs.map +1 -0
  679. package/resources.d.mts +2 -0
  680. package/resources.d.mts.map +1 -0
  681. package/resources.d.ts +2 -0
  682. package/resources.d.ts.map +1 -0
  683. package/resources.js +5 -0
  684. package/resources.js.map +1 -0
  685. package/resources.mjs +2 -0
  686. package/resources.mjs.map +1 -0
  687. package/src/api-promise.ts +2 -0
  688. package/src/client.ts +1169 -0
  689. package/src/core/README.md +3 -0
  690. package/src/core/api-promise.ts +92 -0
  691. package/src/core/error.ts +130 -0
  692. package/src/core/resource.ts +11 -0
  693. package/src/core/uploads.ts +2 -0
  694. package/src/error.ts +2 -0
  695. package/src/index.ts +22 -0
  696. package/src/internal/README.md +3 -0
  697. package/src/internal/builtin-types.ts +93 -0
  698. package/src/internal/detect-platform.ts +196 -0
  699. package/src/internal/errors.ts +33 -0
  700. package/src/internal/headers.ts +97 -0
  701. package/src/internal/parse.ts +56 -0
  702. package/src/internal/qs/LICENSE.md +13 -0
  703. package/src/internal/qs/README.md +3 -0
  704. package/src/internal/qs/formats.ts +10 -0
  705. package/src/internal/qs/index.ts +13 -0
  706. package/src/internal/qs/stringify.ts +385 -0
  707. package/src/internal/qs/types.ts +71 -0
  708. package/src/internal/qs/utils.ts +265 -0
  709. package/src/internal/request-options.ts +91 -0
  710. package/src/internal/shim-types.ts +26 -0
  711. package/src/internal/shims.ts +107 -0
  712. package/src/internal/to-file.ts +154 -0
  713. package/src/internal/types.ts +95 -0
  714. package/src/internal/uploads.ts +187 -0
  715. package/src/internal/utils/base64.ts +40 -0
  716. package/src/internal/utils/bytes.ts +32 -0
  717. package/src/internal/utils/env.ts +18 -0
  718. package/src/internal/utils/log.ts +126 -0
  719. package/src/internal/utils/path.ts +88 -0
  720. package/src/internal/utils/query.ts +7 -0
  721. package/src/internal/utils/sleep.ts +3 -0
  722. package/src/internal/utils/uuid.ts +17 -0
  723. package/src/internal/utils/values.ts +105 -0
  724. package/src/internal/utils.ts +9 -0
  725. package/src/lib/.keep +4 -0
  726. package/src/resource.ts +2 -0
  727. package/src/resources/admins.ts +557 -0
  728. package/src/resources/boards.ts +259 -0
  729. package/src/resources/brands.ts +232 -0
  730. package/src/resources/changelogs/changelogs.ts +1139 -0
  731. package/src/resources/changelogs/index.ts +23 -0
  732. package/src/resources/changelogs/subscribers.ts +226 -0
  733. package/src/resources/changelogs.ts +3 -0
  734. package/src/resources/comments.ts +786 -0
  735. package/src/resources/companies/companies.ts +632 -0
  736. package/src/resources/companies/contacts.ts +299 -0
  737. package/src/resources/companies/index.ts +21 -0
  738. package/src/resources/companies.ts +3 -0
  739. package/src/resources/contacts/by-user-id/by-user-id.ts +200 -0
  740. package/src/resources/contacts/by-user-id/email-preferences.ts +243 -0
  741. package/src/resources/contacts/by-user-id/index.ts +13 -0
  742. package/src/resources/contacts/by-user-id.ts +3 -0
  743. package/src/resources/contacts/contacts.ts +908 -0
  744. package/src/resources/contacts/email-preferences.ts +399 -0
  745. package/src/resources/contacts/index.ts +32 -0
  746. package/src/resources/contacts.ts +3 -0
  747. package/src/resources/conversations/conversations.ts +2721 -0
  748. package/src/resources/conversations/index.ts +31 -0
  749. package/src/resources/conversations/participants.ts +263 -0
  750. package/src/resources/conversations/tags.ts +252 -0
  751. package/src/resources/conversations.ts +3 -0
  752. package/src/resources/custom-fields.ts +249 -0
  753. package/src/resources/help-center/articles.ts +1231 -0
  754. package/src/resources/help-center/collections.ts +1065 -0
  755. package/src/resources/help-center/help-center.ts +125 -0
  756. package/src/resources/help-center/help-centers.ts +558 -0
  757. package/src/resources/help-center/index.ts +52 -0
  758. package/src/resources/help-center/redirect-rules.ts +711 -0
  759. package/src/resources/help-center.ts +3 -0
  760. package/src/resources/index.ts +179 -0
  761. package/src/resources/post-statuses.ts +119 -0
  762. package/src/resources/posts/index.ts +22 -0
  763. package/src/resources/posts/posts.ts +1019 -0
  764. package/src/resources/posts/voters.ts +453 -0
  765. package/src/resources/posts.ts +3 -0
  766. package/src/resources/surveys.ts +576 -0
  767. package/src/resources/tags.ts +226 -0
  768. package/src/resources/teams.ts +213 -0
  769. package/src/resources/tickets/categories.ts +101 -0
  770. package/src/resources/tickets/custom-fields.ts +116 -0
  771. package/src/resources/tickets/index.ts +28 -0
  772. package/src/resources/tickets/statuses.ts +97 -0
  773. package/src/resources/tickets/tickets.ts +1019 -0
  774. package/src/resources/tickets.ts +3 -0
  775. package/src/resources/webhooks.ts +850 -0
  776. package/src/resources.ts +1 -0
  777. package/src/tsconfig.json +11 -0
  778. package/src/uploads.ts +2 -0
  779. package/src/version.ts +1 -0
  780. package/uploads.d.mts +2 -0
  781. package/uploads.d.mts.map +1 -0
  782. package/uploads.d.ts +2 -0
  783. package/uploads.d.ts.map +1 -0
  784. package/uploads.js +6 -0
  785. package/uploads.js.map +1 -0
  786. package/uploads.mjs +2 -0
  787. package/uploads.mjs.map +1 -0
  788. package/version.d.mts +2 -0
  789. package/version.d.mts.map +1 -0
  790. package/version.d.ts +2 -0
  791. package/version.d.ts.map +1 -0
  792. package/version.js +5 -0
  793. package/version.js.map +1 -0
  794. package/version.mjs +2 -0
  795. package/version.mjs.map +1 -0
@@ -0,0 +1,1019 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as PostStatusesAPI from '../post-statuses';
5
+ import * as VotersAPI from './voters';
6
+ import {
7
+ VoterAddParams,
8
+ VoterAddResponse,
9
+ VoterListParams,
10
+ VoterListResponse,
11
+ VoterRemoveParams,
12
+ VoterRemoveResponse,
13
+ Voters,
14
+ } from './voters';
15
+ import * as TicketsAPI from '../tickets/tickets';
16
+ import { APIPromise } from '../../core/api-promise';
17
+ import { buildHeaders } from '../../internal/headers';
18
+ import { RequestOptions } from '../../internal/request-options';
19
+ import { path } from '../../internal/utils/path';
20
+
21
+ /**
22
+ * User-submitted feedback and feature requests. Posts belong to boards and can be upvoted, commented on, and tracked through statuses.
23
+ */
24
+ export class Posts extends APIResource {
25
+ voters: VotersAPI.Voters = new VotersAPI.Voters(this._client);
26
+
27
+ /**
28
+ * Creates a new post (feedback submission) in the specified board.
29
+ *
30
+ * ### Required Fields
31
+ *
32
+ * - `title` - Post title (minimum 2 characters)
33
+ * - `boardId` - Board ID to create the post in
34
+ *
35
+ * ### Optional Fields
36
+ *
37
+ * - `content` - Post content in HTML format
38
+ * - `tags` - Array of tag names to attach
39
+ * - `statusId` - Status ID to set (defaults to board's default status)
40
+ * - `commentsEnabled` - Whether comments are allowed (default: true)
41
+ * - `inReview` - Whether post is pending moderation (default: false)
42
+ * - `customFields` - Custom field values as key-value pairs
43
+ * - `eta` - Estimated completion date (Unix timestamp or ISO date)
44
+ * - `assigneeId` - Admin ID to assign this post to
45
+ * - `visibility` - Post-level visibility restriction: 'public' (no additional
46
+ * restrictions), 'authorOnly' (only author and admins), or 'companyOnly' (only
47
+ * users in author's company). Note: even 'public' posts are still subject to
48
+ * board-level and organization-level access controls.
49
+ *
50
+ * ### Author Attribution
51
+ *
52
+ * For posts created on behalf of users, use the `author` object:
53
+ *
54
+ * - `id` - Featurebase user ID
55
+ * - `userId` - External SSO user ID
56
+ * - `email` - User's email address
57
+ * - `name` - Display name
58
+ * - `profilePicture` - Profile picture URL
59
+ *
60
+ * Resolution priority: `id` > `userId` > `email` > authenticated user
61
+ *
62
+ * ### Backdating (Imports)
63
+ *
64
+ * - `createdAt` - Override creation date for importing historical data
65
+ *
66
+ * ### Response
67
+ *
68
+ * Returns the created post object with all fields populated.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const post = await client.posts.create({
73
+ * boardId: '507f1f77bcf86cd799439011',
74
+ * title: 'Add dark mode support',
75
+ * });
76
+ * ```
77
+ */
78
+ create(params: PostCreateParams, options?: RequestOptions): APIPromise<Post> {
79
+ const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
80
+ return this._client.post('/v2/posts', {
81
+ body,
82
+ ...options,
83
+ headers: buildHeaders([
84
+ { ...(featurebaseVersion != null ? { 'Featurebase-Version': featurebaseVersion } : undefined) },
85
+ options?.headers,
86
+ ]),
87
+ });
88
+ }
89
+
90
+ /**
91
+ * Retrieves a single post by its unique identifier.
92
+ *
93
+ * Returns the full post object including:
94
+ *
95
+ * - Author information
96
+ * - Current status
97
+ * - Tags
98
+ * - Voting stats
99
+ * - Engagement metrics
100
+ * - Custom field values
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * const post = await client.posts.retrieve(
105
+ * '507f1f77bcf86cd799439011',
106
+ * );
107
+ * ```
108
+ */
109
+ retrieve(
110
+ id: string,
111
+ params: PostRetrieveParams | null | undefined = {},
112
+ options?: RequestOptions,
113
+ ): APIPromise<Post> {
114
+ const { 'Featurebase-Version': featurebaseVersion } = params ?? {};
115
+ return this._client.get(path`/v2/posts/${id}`, {
116
+ ...options,
117
+ headers: buildHeaders([
118
+ { ...(featurebaseVersion != null ? { 'Featurebase-Version': featurebaseVersion } : undefined) },
119
+ options?.headers,
120
+ ]),
121
+ });
122
+ }
123
+
124
+ /**
125
+ * Updates an existing post. Only provided fields will be modified.
126
+ *
127
+ * ### Updatable Fields
128
+ *
129
+ * - `title` - Post title (minimum 2 characters)
130
+ * - `content` - Post content in HTML format
131
+ * - `boardId` - Move post to a different board
132
+ * - `statusId` - Update post status
133
+ * - `tags` - Replace existing tags with new set
134
+ * - `commentsEnabled` - Enable/disable comments
135
+ * - `inReview` - Put post in/out of moderation queue
136
+ * - `customFields` - Update custom field values
137
+ * - `eta` - Set estimated completion date (null to clear)
138
+ * - `createdAt` - Update creation date (for backdating)
139
+ * - `assigneeId` - Admin ID to assign this post to (null to unassign)
140
+ * - `visibility` - Post-level visibility restriction: 'public' (no additional
141
+ * restrictions), 'authorOnly' (only author and admins), or 'companyOnly' (only
142
+ * users in author's company). Note: even 'public' posts are still subject to
143
+ * board-level and organization-level access controls.
144
+ * - `author` - Change post attribution (id, userId, email, name, profilePicture)
145
+ *
146
+ * ### Status Update Notifications
147
+ *
148
+ * - `sendStatusUpdateEmail` - When changing status, optionally send email
149
+ * notification to voters (default: false)
150
+ *
151
+ * ### Response
152
+ *
153
+ * Returns the updated post object with all fields populated.
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * const post = await client.posts.update(
158
+ * '507f1f77bcf86cd799439011',
159
+ * );
160
+ * ```
161
+ */
162
+ update(id: string, params: PostUpdateParams, options?: RequestOptions): APIPromise<Post> {
163
+ const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
164
+ return this._client.patch(path`/v2/posts/${id}`, {
165
+ body,
166
+ ...options,
167
+ headers: buildHeaders([
168
+ { ...(featurebaseVersion != null ? { 'Featurebase-Version': featurebaseVersion } : undefined) },
169
+ options?.headers,
170
+ ]),
171
+ });
172
+ }
173
+
174
+ /**
175
+ * Returns all posts (feedback submissions) for the authenticated organization.
176
+ *
177
+ * Posts are user-submitted feedback items. Each post belongs to a board and can
178
+ * have:
179
+ *
180
+ * - Status (in progress, complete, etc.)
181
+ * - Tags for categorization
182
+ * - Upvotes from users
183
+ * - Comments (if enabled)
184
+ * - Custom field values
185
+ *
186
+ * ### Pagination
187
+ *
188
+ * This endpoint uses **cursor-based pagination**:
189
+ *
190
+ * - `limit` - Number of posts to return (1-100, default 10)
191
+ * - `cursor` - Opaque cursor from a previous response's `nextCursor` field
192
+ *
193
+ * **Example:** To paginate through results:
194
+ *
195
+ * 1. First request: `GET /v2/posts?limit=10`
196
+ * 2. If `nextCursor` is not null, use it for the next page
197
+ * 3. Next request: `GET /v2/posts?limit=10&cursor={nextCursor}`
198
+ *
199
+ * ### Response Format
200
+ *
201
+ * Returns a list object with:
202
+ *
203
+ * - `object` - Always "list"
204
+ * - `data` - Array of post objects
205
+ * - `nextCursor` - Cursor for the next page (null if no more results)
206
+ *
207
+ * ### Filtering
208
+ *
209
+ * Filter posts using query parameters:
210
+ *
211
+ * - `boardId` - Filter by board (category) ID
212
+ * - `statusId` - Filter by status ID
213
+ * - `tags` - Filter by tag names (can be comma-separated or repeated)
214
+ * - `q` - Search query for title/content
215
+ * - `inReview` - Include posts pending moderation
216
+ *
217
+ * ### Sorting
218
+ *
219
+ * Use `sortBy` to sort results:
220
+ *
221
+ * - `createdAt` - Sort by creation date (default)
222
+ * - `upvotes` - Sort by vote count
223
+ * - `trending` - Sort by trending score
224
+ * - `recent` - Sort by most recently updated
225
+ *
226
+ * @example
227
+ * ```ts
228
+ * const posts = await client.posts.list();
229
+ * ```
230
+ */
231
+ list(
232
+ params: PostListParams | null | undefined = {},
233
+ options?: RequestOptions,
234
+ ): APIPromise<PostListResponse> {
235
+ const { 'Featurebase-Version': featurebaseVersion, ...query } = params ?? {};
236
+ return this._client.get('/v2/posts', {
237
+ query,
238
+ ...options,
239
+ headers: buildHeaders([
240
+ { ...(featurebaseVersion != null ? { 'Featurebase-Version': featurebaseVersion } : undefined) },
241
+ options?.headers,
242
+ ]),
243
+ });
244
+ }
245
+
246
+ /**
247
+ * Permanently deletes a post. This action cannot be undone.
248
+ *
249
+ * ### What Gets Deleted
250
+ *
251
+ * When you delete a post:
252
+ *
253
+ * - The post itself is permanently removed
254
+ * - All comments on the post are deleted
255
+ * - Vote records are removed
256
+ * - Any associated notifications are cleared
257
+ *
258
+ * ### Response
259
+ *
260
+ * Returns a deletion confirmation object with:
261
+ *
262
+ * - `id` - The ID of the deleted post
263
+ * - `object` - Always "post"
264
+ * - `deleted` - Always true
265
+ *
266
+ * ### Permissions
267
+ *
268
+ * Requires member-level access or higher to delete posts.
269
+ *
270
+ * @example
271
+ * ```ts
272
+ * const post = await client.posts.delete(
273
+ * '507f1f77bcf86cd799439011',
274
+ * );
275
+ * ```
276
+ */
277
+ delete(
278
+ id: string,
279
+ params: PostDeleteParams | null | undefined = {},
280
+ options?: RequestOptions,
281
+ ): APIPromise<PostDeleteResponse> {
282
+ const { 'Featurebase-Version': featurebaseVersion } = params ?? {};
283
+ return this._client.delete(path`/v2/posts/${id}`, {
284
+ ...options,
285
+ headers: buildHeaders([
286
+ { ...(featurebaseVersion != null ? { 'Featurebase-Version': featurebaseVersion } : undefined) },
287
+ options?.headers,
288
+ ]),
289
+ });
290
+ }
291
+ }
292
+
293
+ export interface Post {
294
+ /**
295
+ * Unique identifier
296
+ */
297
+ id: string;
298
+
299
+ access: Post.Access;
300
+
301
+ /**
302
+ * ID of the admin assigned to this post, null if unassigned
303
+ */
304
+ assigneeId: string | null;
305
+
306
+ author: Post.Author | null;
307
+
308
+ /**
309
+ * Board (category) ID this post belongs to
310
+ */
311
+ boardId: string;
312
+
313
+ /**
314
+ * Total number of comments
315
+ */
316
+ commentCount: number;
317
+
318
+ /**
319
+ * Post content in HTML format
320
+ */
321
+ content: string;
322
+
323
+ /**
324
+ * ISO 8601 timestamp when created
325
+ */
326
+ createdAt: string;
327
+
328
+ /**
329
+ * Custom field values keyed by field ID
330
+ */
331
+ customFields: { [key: string]: unknown };
332
+
333
+ /**
334
+ * Estimated completion time as ISO 8601 timestamp, null if not set
335
+ */
336
+ eta: string | null;
337
+
338
+ features: Post.Features;
339
+
340
+ /**
341
+ * Whether the post is pending moderation review
342
+ */
343
+ inReview: boolean;
344
+
345
+ /**
346
+ * Third-party integration links associated with this post
347
+ */
348
+ integrations: Post.Integrations;
349
+
350
+ /**
351
+ * Whether the post is pinned to the top
352
+ */
353
+ isPinned: boolean;
354
+
355
+ /**
356
+ * Object type identifier
357
+ */
358
+ object: 'post';
359
+
360
+ /**
361
+ * Total opportunity amount from linked HubSpot deals and Salesforce opportunities
362
+ */
363
+ opportunityAmount: number | null;
364
+
365
+ /**
366
+ * Full URL to view the post
367
+ */
368
+ postUrl: string;
369
+
370
+ /**
371
+ * URL-friendly slug
372
+ */
373
+ slug: string;
374
+
375
+ status: PostStatusesAPI.PostStatus;
376
+
377
+ /**
378
+ * Tags attached to this post
379
+ */
380
+ tags: Array<Post.Tag>;
381
+
382
+ /**
383
+ * Post title
384
+ */
385
+ title: string;
386
+
387
+ /**
388
+ * ISO 8601 timestamp when last modified
389
+ */
390
+ updatedAt: string;
391
+
392
+ /**
393
+ * Total number of upvotes
394
+ */
395
+ upvotes: number;
396
+ }
397
+
398
+ export namespace Post {
399
+ export interface Access {
400
+ /**
401
+ * External company IDs explicitly granted access to this post. Empty array means
402
+ * no company-level restrictions. Non-empty means only users belonging to these
403
+ * companies can see the post.
404
+ */
405
+ companyExternalIds: Array<string>;
406
+
407
+ /**
408
+ * User IDs explicitly granted access to this post. Empty array means no user-level
409
+ * restrictions (post uses board/org visibility). Non-empty means only these users
410
+ * (plus admins) can see the post.
411
+ */
412
+ userIds: Array<string>;
413
+ }
414
+
415
+ export interface Author {
416
+ /**
417
+ * Author unique identifier
418
+ */
419
+ id: string | null;
420
+
421
+ /**
422
+ * Author email (if available)
423
+ */
424
+ email: string | null;
425
+
426
+ /**
427
+ * Author display name
428
+ */
429
+ name: string;
430
+
431
+ /**
432
+ * Author profile picture URL
433
+ */
434
+ profilePicture: string | null;
435
+
436
+ /**
437
+ * Type of user who authored the post
438
+ */
439
+ type: 'admin' | 'customer' | 'guest' | 'integration' | 'bot' | 'lead';
440
+ }
441
+
442
+ export interface Features {
443
+ /**
444
+ * Whether comments are allowed on this post
445
+ */
446
+ commentsEnabled: boolean;
447
+ }
448
+
449
+ /**
450
+ * Third-party integration links associated with this post
451
+ */
452
+ export interface Integrations {
453
+ clickup: Array<Integrations.Clickup>;
454
+
455
+ devops: Array<Integrations.Devop>;
456
+
457
+ github: Array<Integrations.GitHub>;
458
+
459
+ hubspot: Array<Integrations.Hubspot>;
460
+
461
+ jira: Array<Integrations.Jira>;
462
+
463
+ linear: Array<Integrations.Linear>;
464
+
465
+ salesforce: Array<Integrations.Salesforce>;
466
+ }
467
+
468
+ export namespace Integrations {
469
+ export interface Clickup {
470
+ /**
471
+ * ClickUp task ID
472
+ */
473
+ id: string;
474
+
475
+ /**
476
+ * ClickUp task title
477
+ */
478
+ title: string;
479
+
480
+ /**
481
+ * URL to the ClickUp task
482
+ */
483
+ url: string;
484
+ }
485
+
486
+ export interface Devop {
487
+ /**
488
+ * Azure DevOps work item ID
489
+ */
490
+ id: number;
491
+
492
+ /**
493
+ * Azure DevOps project ID
494
+ */
495
+ projectId: string;
496
+
497
+ /**
498
+ * Azure DevOps project name
499
+ */
500
+ projectName: string;
501
+
502
+ /**
503
+ * Work item title
504
+ */
505
+ title: string;
506
+
507
+ /**
508
+ * URL to the work item
509
+ */
510
+ url: string;
511
+ }
512
+
513
+ export interface GitHub {
514
+ /**
515
+ * GitHub issue ID
516
+ */
517
+ id: string;
518
+
519
+ /**
520
+ * GitHub issue number
521
+ */
522
+ number: string;
523
+
524
+ /**
525
+ * Full repository name (owner/repo)
526
+ */
527
+ repositoryFullName: string;
528
+
529
+ /**
530
+ * Repository name
531
+ */
532
+ repositoryName: string;
533
+
534
+ /**
535
+ * GitHub issue title
536
+ */
537
+ title: string;
538
+
539
+ /**
540
+ * URL to the GitHub issue
541
+ */
542
+ url: string;
543
+ }
544
+
545
+ export interface Hubspot {
546
+ /**
547
+ * Deal amount (for DEAL type)
548
+ */
549
+ dealAmount: number | null;
550
+
551
+ /**
552
+ * Whether the deal is closed (for DEAL type)
553
+ */
554
+ dealClosed: boolean | null;
555
+
556
+ /**
557
+ * HubSpot object ID
558
+ */
559
+ objectId: number;
560
+
561
+ /**
562
+ * HubSpot object type
563
+ */
564
+ type: 'TICKET' | 'DEAL' | 'CONTACT';
565
+ }
566
+
567
+ export interface Jira {
568
+ /**
569
+ * Jira issue ID
570
+ */
571
+ issueId: string;
572
+
573
+ /**
574
+ * URL to the Jira issue
575
+ */
576
+ issueUrl: string | null;
577
+ }
578
+
579
+ export interface Linear {
580
+ /**
581
+ * Linear issue ID
582
+ */
583
+ issueId: string;
584
+
585
+ /**
586
+ * URL to the Linear issue
587
+ */
588
+ issueUrl: string | null;
589
+ }
590
+
591
+ export interface Salesforce {
592
+ /**
593
+ * Opportunity amount (for Opportunity type)
594
+ */
595
+ amount: number | null;
596
+
597
+ /**
598
+ * Whether the opportunity is closed (for Opportunity type)
599
+ */
600
+ isClosed: boolean | null;
601
+
602
+ /**
603
+ * Salesforce record ID
604
+ */
605
+ objectId: string;
606
+
607
+ /**
608
+ * Salesforce object type
609
+ */
610
+ objectType: 'Opportunity' | 'Case';
611
+ }
612
+ }
613
+
614
+ export interface Tag {
615
+ /**
616
+ * Tag unique identifier
617
+ */
618
+ id: string;
619
+
620
+ /**
621
+ * Tag color hex code
622
+ */
623
+ color: string | null;
624
+
625
+ /**
626
+ * Tag name
627
+ */
628
+ name: string;
629
+ }
630
+ }
631
+
632
+ export interface PostListResponse {
633
+ /**
634
+ * Array of posts
635
+ */
636
+ data: Array<Post>;
637
+
638
+ /**
639
+ * Cursor for fetching the next page (cursor-based pagination)
640
+ */
641
+ nextCursor: string | null;
642
+
643
+ /**
644
+ * Object type identifier
645
+ */
646
+ object: 'list';
647
+
648
+ /**
649
+ * Pagination metadata for page-based requests
650
+ */
651
+ pagination?: PostListResponse.Pagination;
652
+ }
653
+
654
+ export namespace PostListResponse {
655
+ /**
656
+ * Pagination metadata for page-based requests
657
+ */
658
+ export interface Pagination {
659
+ /**
660
+ * Items per page
661
+ */
662
+ limit: number;
663
+
664
+ /**
665
+ * Current page number
666
+ */
667
+ page: number;
668
+
669
+ /**
670
+ * Total number of items
671
+ */
672
+ total: number;
673
+
674
+ /**
675
+ * Total number of pages
676
+ */
677
+ totalPages: number;
678
+ }
679
+ }
680
+
681
+ export interface PostDeleteResponse {
682
+ /**
683
+ * Unique identifier of the deleted post
684
+ */
685
+ id: string;
686
+
687
+ /**
688
+ * Indicates the resource was deleted
689
+ */
690
+ deleted: true;
691
+
692
+ /**
693
+ * Object type identifier
694
+ */
695
+ object: 'post';
696
+ }
697
+
698
+ export interface PostCreateParams {
699
+ /**
700
+ * Body param: Board ID to create post in
701
+ */
702
+ boardId: string;
703
+
704
+ /**
705
+ * Body param: Post title
706
+ */
707
+ title: string;
708
+
709
+ /**
710
+ * Body param: Admin ID to assign this post to
711
+ */
712
+ assigneeId?: string;
713
+
714
+ /**
715
+ * Body param: Author to attribute the post to. If not provided, uses the
716
+ * authenticated user. Supports multiple identification methods: id (Featurebase
717
+ * ID), userId (external SSO ID), or email.
718
+ */
719
+ author?: TicketsAPI.AuthorInput;
720
+
721
+ /**
722
+ * Body param: Whether comments are enabled on this post
723
+ */
724
+ commentsEnabled?: boolean | null;
725
+
726
+ /**
727
+ * Body param: Post content (HTML)
728
+ */
729
+ content?: string;
730
+
731
+ /**
732
+ * Body param: Creation date (for backdating imports)
733
+ */
734
+ createdAt?: string | null;
735
+
736
+ /**
737
+ * Body param: Custom field values. Keys must be valid ObjectIds. Values can be:
738
+ * string, boolean, number, ISO date string, array of strings, ObjectId string, or
739
+ * null.
740
+ */
741
+ customFields?: { [key: string]: Array<string> | boolean | number | string | string | null };
742
+
743
+ /**
744
+ * Body param: Estimated completion date
745
+ */
746
+ eta?: string | null;
747
+
748
+ /**
749
+ * Body param: Whether post is pending moderation
750
+ */
751
+ inReview?: boolean | null;
752
+
753
+ /**
754
+ * Body param: Push the created post to third-party integrations configured on your
755
+ * organization. Each integration must be explicitly set to true to trigger;
756
+ * omitted integrations will not be pushed to.
757
+ */
758
+ integrations?: PostCreateParams.Integrations;
759
+
760
+ /**
761
+ * Body param: Whether to send email notifications to admins when this post is
762
+ * created. When true, admins will receive the same email notifications as when a
763
+ * post is created from the dashboard. Defaults to false (no emails sent).
764
+ */
765
+ notifyAdmins?: boolean;
766
+
767
+ /**
768
+ * Body param: Status ID to set
769
+ */
770
+ statusId?: string;
771
+
772
+ /**
773
+ * Body param: Tag names to attach
774
+ */
775
+ tags?: string | Array<string>;
776
+
777
+ /**
778
+ * Body param: Initial upvotes count. Defaults to 1 (post author is automatically
779
+ * added as voter). Use 0 to create a post without any votes.
780
+ */
781
+ upvotes?: number | null;
782
+
783
+ /**
784
+ * Body param: Post visibility. 'public' = visible to all users, 'authorOnly' =
785
+ * only visible to the author and admins, 'companyOnly' = only visible to users in
786
+ * the same company as the author
787
+ */
788
+ visibility?: 'public' | 'authorOnly' | 'companyOnly';
789
+
790
+ /**
791
+ * Header param: API version for this request. Defaults to your organization's
792
+ * configured API version if not specified.
793
+ */
794
+ 'Featurebase-Version'?: string;
795
+ }
796
+
797
+ export namespace PostCreateParams {
798
+ /**
799
+ * Push the created post to third-party integrations configured on your
800
+ * organization. Each integration must be explicitly set to true to trigger;
801
+ * omitted integrations will not be pushed to.
802
+ */
803
+ export interface Integrations {
804
+ /**
805
+ * Push to ClickUp
806
+ */
807
+ clickup?: boolean;
808
+
809
+ /**
810
+ * Push to Discord
811
+ */
812
+ discord?: boolean;
813
+
814
+ /**
815
+ * Push to GitHub
816
+ */
817
+ github?: boolean;
818
+
819
+ /**
820
+ * Push to Jira
821
+ */
822
+ jira?: boolean;
823
+
824
+ /**
825
+ * Push to Linear
826
+ */
827
+ linear?: boolean;
828
+
829
+ /**
830
+ * Push to Slack
831
+ */
832
+ slack?: boolean;
833
+ }
834
+ }
835
+
836
+ export interface PostRetrieveParams {
837
+ /**
838
+ * API version for this request. Defaults to your organization's configured API
839
+ * version if not specified.
840
+ */
841
+ 'Featurebase-Version'?: string;
842
+ }
843
+
844
+ export interface PostUpdateParams {
845
+ /**
846
+ * Body param: Admin ID to assign this post to (null to unassign)
847
+ */
848
+ assigneeId?: string | null;
849
+
850
+ /**
851
+ * Body param: Author to attribute the post to. If not provided, uses the
852
+ * authenticated user. Supports multiple identification methods: id (Featurebase
853
+ * ID), userId (external SSO ID), or email.
854
+ */
855
+ author?: TicketsAPI.AuthorInput;
856
+
857
+ /**
858
+ * Body param: Board ID to move post to
859
+ */
860
+ boardId?: string;
861
+
862
+ /**
863
+ * Body param: Whether comments are enabled on this post
864
+ */
865
+ commentsEnabled?: boolean | null;
866
+
867
+ /**
868
+ * Body param: Post content (HTML)
869
+ */
870
+ content?: string;
871
+
872
+ /**
873
+ * Body param: Creation date (for backdating)
874
+ */
875
+ createdAt?: string | null;
876
+
877
+ /**
878
+ * Body param: Custom field values. Keys must be valid ObjectIds. Values can be:
879
+ * string, boolean, number, ISO date string, array of strings, ObjectId string, or
880
+ * null.
881
+ */
882
+ customFields?: { [key: string]: Array<string> | boolean | number | string | string | null };
883
+
884
+ /**
885
+ * Body param: Estimated completion date (null to clear)
886
+ */
887
+ eta?: string | null;
888
+
889
+ /**
890
+ * Body param: Whether post is pending moderation
891
+ */
892
+ inReview?: boolean | null;
893
+
894
+ /**
895
+ * Body param: Whether to send status update email to voters
896
+ */
897
+ sendStatusUpdateEmail?: boolean | null;
898
+
899
+ /**
900
+ * Body param: Status ID to set
901
+ */
902
+ statusId?: string;
903
+
904
+ /**
905
+ * Body param: Tag names to set (replaces existing)
906
+ */
907
+ tags?: string | Array<string>;
908
+
909
+ /**
910
+ * Body param: Post title
911
+ */
912
+ title?: string;
913
+
914
+ /**
915
+ * Body param: Set the upvotes count directly. Use with caution as this overrides
916
+ * the actual vote count.
917
+ */
918
+ upvotes?: number | null;
919
+
920
+ /**
921
+ * Body param: Post visibility. 'public' = visible to all users, 'authorOnly' =
922
+ * only visible to the author and admins, 'companyOnly' = only visible to users in
923
+ * the same company as the author
924
+ */
925
+ visibility?: 'public' | 'authorOnly' | 'companyOnly';
926
+
927
+ /**
928
+ * Header param: API version for this request. Defaults to your organization's
929
+ * configured API version if not specified.
930
+ */
931
+ 'Featurebase-Version'?: string;
932
+ }
933
+
934
+ export interface PostListParams {
935
+ /**
936
+ * Query param: Filter by board (category) ID(s)
937
+ */
938
+ boardId?: string | Array<string>;
939
+
940
+ /**
941
+ * Query param: An opaque cursor for pagination. Use the nextCursor value from a
942
+ * previous response to fetch the next page of results.
943
+ */
944
+ cursor?: string;
945
+
946
+ /**
947
+ * Query param: Include posts that are in review
948
+ */
949
+ inReview?: boolean | null;
950
+
951
+ /**
952
+ * Query param: A limit on the number of posts to be returned, between 1 and 100.
953
+ */
954
+ limit?: number;
955
+
956
+ /**
957
+ * Query param: Search query to filter posts by title/content
958
+ */
959
+ q?: string;
960
+
961
+ /**
962
+ * Query param: Sort order for posts
963
+ */
964
+ sortBy?: 'createdAt' | 'upvotes' | 'trending' | 'recent';
965
+
966
+ /**
967
+ * Query param: Sort direction
968
+ */
969
+ sortOrder?: 'asc' | 'desc';
970
+
971
+ /**
972
+ * Query param: Filter by status ID(s)
973
+ */
974
+ statusId?: string | Array<string>;
975
+
976
+ /**
977
+ * Query param: Filter by tag names
978
+ */
979
+ tags?: string | Array<string>;
980
+
981
+ /**
982
+ * Header param: API version for this request. Defaults to your organization's
983
+ * configured API version if not specified.
984
+ */
985
+ 'Featurebase-Version'?: string;
986
+ }
987
+
988
+ export interface PostDeleteParams {
989
+ /**
990
+ * API version for this request. Defaults to your organization's configured API
991
+ * version if not specified.
992
+ */
993
+ 'Featurebase-Version'?: string;
994
+ }
995
+
996
+ Posts.Voters = Voters;
997
+
998
+ export declare namespace Posts {
999
+ export {
1000
+ type Post as Post,
1001
+ type PostListResponse as PostListResponse,
1002
+ type PostDeleteResponse as PostDeleteResponse,
1003
+ type PostCreateParams as PostCreateParams,
1004
+ type PostRetrieveParams as PostRetrieveParams,
1005
+ type PostUpdateParams as PostUpdateParams,
1006
+ type PostListParams as PostListParams,
1007
+ type PostDeleteParams as PostDeleteParams,
1008
+ };
1009
+
1010
+ export {
1011
+ Voters as Voters,
1012
+ type VoterListResponse as VoterListResponse,
1013
+ type VoterAddResponse as VoterAddResponse,
1014
+ type VoterRemoveResponse as VoterRemoveResponse,
1015
+ type VoterListParams as VoterListParams,
1016
+ type VoterAddParams as VoterAddParams,
1017
+ type VoterRemoveParams as VoterRemoveParams,
1018
+ };
1019
+ }