@makeplane/plane-node-sdk 0.2.11 → 0.2.13

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 (325) hide show
  1. package/README.md +17 -1
  2. package/dist/api/BaseResource.d.ts +1 -1
  3. package/dist/api/BaseResource.d.ts.map +1 -1
  4. package/dist/api/BaseResource.js +18 -2
  5. package/dist/api/BaseResource.js.map +1 -1
  6. package/dist/api/Collections/Members.d.ts +31 -0
  7. package/dist/api/Collections/Members.d.ts.map +1 -0
  8. package/dist/api/Collections/Members.js +44 -0
  9. package/dist/api/Collections/Members.js.map +1 -0
  10. package/dist/api/Collections/Pages.d.ts +40 -0
  11. package/dist/api/Collections/Pages.d.ts.map +1 -0
  12. package/dist/api/Collections/Pages.js +55 -0
  13. package/dist/api/Collections/Pages.js.map +1 -0
  14. package/dist/api/Collections/index.d.ts +41 -0
  15. package/dist/api/Collections/index.d.ts.map +1 -0
  16. package/dist/api/Collections/index.js +57 -0
  17. package/dist/api/Collections/index.js.map +1 -0
  18. package/dist/api/Customers/Properties.d.ts +10 -1
  19. package/dist/api/Customers/Properties.d.ts.map +1 -1
  20. package/dist/api/Customers/Properties.js +11 -0
  21. package/dist/api/Customers/Properties.js.map +1 -1
  22. package/dist/api/Customers/index.d.ts +6 -0
  23. package/dist/api/Customers/index.d.ts.map +1 -1
  24. package/dist/api/Customers/index.js +11 -0
  25. package/dist/api/Customers/index.js.map +1 -1
  26. package/dist/api/Cycles.d.ts +12 -4
  27. package/dist/api/Cycles.d.ts.map +1 -1
  28. package/dist/api/Cycles.js +14 -3
  29. package/dist/api/Cycles.js.map +1 -1
  30. package/dist/api/Epics.d.ts +21 -1
  31. package/dist/api/Epics.d.ts.map +1 -1
  32. package/dist/api/Epics.js +30 -0
  33. package/dist/api/Epics.js.map +1 -1
  34. package/dist/api/Estimates.d.ts +50 -0
  35. package/dist/api/Estimates.d.ts.map +1 -0
  36. package/dist/api/Estimates.js +73 -0
  37. package/dist/api/Estimates.js.map +1 -0
  38. package/dist/api/Intake.d.ts +8 -1
  39. package/dist/api/Intake.d.ts.map +1 -1
  40. package/dist/api/Intake.js +9 -0
  41. package/dist/api/Intake.js.map +1 -1
  42. package/dist/api/Modules.d.ts +12 -4
  43. package/dist/api/Modules.d.ts.map +1 -1
  44. package/dist/api/Modules.js +14 -3
  45. package/dist/api/Modules.js.map +1 -1
  46. package/dist/api/Pages.d.ts +56 -1
  47. package/dist/api/Pages.d.ts.map +1 -1
  48. package/dist/api/Pages.js +74 -0
  49. package/dist/api/Pages.js.map +1 -1
  50. package/dist/api/ProjectTemplates/Pages.d.ts +27 -0
  51. package/dist/api/ProjectTemplates/Pages.d.ts.map +1 -0
  52. package/dist/api/ProjectTemplates/Pages.js +40 -0
  53. package/dist/api/ProjectTemplates/Pages.js.map +1 -0
  54. package/dist/api/ProjectTemplates/WorkItems.d.ts +27 -0
  55. package/dist/api/ProjectTemplates/WorkItems.d.ts.map +1 -0
  56. package/dist/api/ProjectTemplates/WorkItems.js +40 -0
  57. package/dist/api/ProjectTemplates/WorkItems.js.map +1 -0
  58. package/dist/api/ProjectTemplates/index.d.ts +14 -0
  59. package/dist/api/ProjectTemplates/index.d.ts.map +1 -0
  60. package/dist/api/ProjectTemplates/index.js +19 -0
  61. package/dist/api/ProjectTemplates/index.js.map +1 -0
  62. package/dist/api/Projects.d.ts +15 -4
  63. package/dist/api/Projects.d.ts.map +1 -1
  64. package/dist/api/Projects.js +18 -3
  65. package/dist/api/Projects.js.map +1 -1
  66. package/dist/api/Releases/Changelog.d.ts +19 -0
  67. package/dist/api/Releases/Changelog.d.ts.map +1 -0
  68. package/dist/api/Releases/Changelog.js +27 -0
  69. package/dist/api/Releases/Changelog.js.map +1 -0
  70. package/dist/api/Releases/Comments.d.ts +31 -0
  71. package/dist/api/Releases/Comments.d.ts.map +1 -0
  72. package/dist/api/Releases/Comments.js +46 -0
  73. package/dist/api/Releases/Comments.js.map +1 -0
  74. package/dist/api/Releases/ItemLabels.d.ts +23 -0
  75. package/dist/api/Releases/ItemLabels.d.ts.map +1 -0
  76. package/dist/api/Releases/ItemLabels.js +39 -0
  77. package/dist/api/Releases/ItemLabels.js.map +1 -0
  78. package/dist/api/Releases/Labels.d.ts +16 -0
  79. package/dist/api/Releases/Labels.d.ts.map +1 -0
  80. package/dist/api/Releases/Labels.js +31 -0
  81. package/dist/api/Releases/Labels.js.map +1 -0
  82. package/dist/api/Releases/Links.d.ts +31 -0
  83. package/dist/api/Releases/Links.d.ts.map +1 -0
  84. package/dist/api/Releases/Links.js +46 -0
  85. package/dist/api/Releases/Links.js.map +1 -0
  86. package/dist/api/Releases/Tags.d.ts +16 -0
  87. package/dist/api/Releases/Tags.d.ts.map +1 -0
  88. package/dist/api/Releases/Tags.js +31 -0
  89. package/dist/api/Releases/Tags.js.map +1 -0
  90. package/dist/api/Releases/WorkItems.d.ts +23 -0
  91. package/dist/api/Releases/WorkItems.d.ts.map +1 -0
  92. package/dist/api/Releases/WorkItems.js +38 -0
  93. package/dist/api/Releases/WorkItems.js.map +1 -0
  94. package/dist/api/Releases/index.d.ts +31 -0
  95. package/dist/api/Releases/index.d.ts.map +1 -0
  96. package/dist/api/Releases/index.js +46 -0
  97. package/dist/api/Releases/index.js.map +1 -0
  98. package/dist/api/Roles.d.ts +26 -0
  99. package/dist/api/Roles.d.ts.map +1 -0
  100. package/dist/api/Roles.js +33 -0
  101. package/dist/api/Roles.js.map +1 -0
  102. package/dist/api/Users.d.ts +5 -1
  103. package/dist/api/Users.d.ts.map +1 -1
  104. package/dist/api/Users.js +6 -0
  105. package/dist/api/Users.js.map +1 -1
  106. package/dist/api/WorkItemProperties/index.d.ts +30 -0
  107. package/dist/api/WorkItemProperties/index.d.ts.map +1 -1
  108. package/dist/api/WorkItemProperties/index.js +46 -0
  109. package/dist/api/WorkItemProperties/index.js.map +1 -1
  110. package/dist/api/WorkItemRelationDefinitions.d.ts +15 -0
  111. package/dist/api/WorkItemRelationDefinitions.d.ts.map +1 -0
  112. package/dist/api/WorkItemRelationDefinitions.js +33 -0
  113. package/dist/api/WorkItemRelationDefinitions.js.map +1 -0
  114. package/dist/api/WorkItemTypeGovernance/Pins.d.ts +26 -0
  115. package/dist/api/WorkItemTypeGovernance/Pins.d.ts.map +1 -0
  116. package/dist/api/WorkItemTypeGovernance/Pins.js +38 -0
  117. package/dist/api/WorkItemTypeGovernance/Pins.js.map +1 -0
  118. package/dist/api/WorkItemTypeGovernance/ProjectWorkflows.d.ts +37 -0
  119. package/dist/api/WorkItemTypeGovernance/ProjectWorkflows.d.ts.map +1 -0
  120. package/dist/api/WorkItemTypeGovernance/ProjectWorkflows.js +56 -0
  121. package/dist/api/WorkItemTypeGovernance/ProjectWorkflows.js.map +1 -0
  122. package/dist/api/WorkItemTypeGovernance/index.d.ts +36 -0
  123. package/dist/api/WorkItemTypeGovernance/index.d.ts.map +1 -0
  124. package/dist/api/WorkItemTypeGovernance/index.js +50 -0
  125. package/dist/api/WorkItemTypeGovernance/index.js.map +1 -0
  126. package/dist/api/WorkItemTypes.d.ts +7 -0
  127. package/dist/api/WorkItemTypes.d.ts.map +1 -1
  128. package/dist/api/WorkItemTypes.js +11 -0
  129. package/dist/api/WorkItemTypes.js.map +1 -1
  130. package/dist/api/WorkItems/CustomRelations.d.ts +29 -0
  131. package/dist/api/WorkItems/CustomRelations.d.ts.map +1 -0
  132. package/dist/api/WorkItems/CustomRelations.js +39 -0
  133. package/dist/api/WorkItems/CustomRelations.js.map +1 -0
  134. package/dist/api/WorkItems/Dependencies.d.ts +24 -0
  135. package/dist/api/WorkItems/Dependencies.d.ts.map +1 -0
  136. package/dist/api/WorkItems/Dependencies.js +34 -0
  137. package/dist/api/WorkItems/Dependencies.js.map +1 -0
  138. package/dist/api/WorkItems/Pages.d.ts +28 -0
  139. package/dist/api/WorkItems/Pages.d.ts.map +1 -0
  140. package/dist/api/WorkItems/Pages.js +39 -0
  141. package/dist/api/WorkItems/Pages.js.map +1 -0
  142. package/dist/api/WorkItems/index.d.ts +65 -2
  143. package/dist/api/WorkItems/index.d.ts.map +1 -1
  144. package/dist/api/WorkItems/index.js +83 -2
  145. package/dist/api/WorkItems/index.js.map +1 -1
  146. package/dist/api/Workflows/Hooks.d.ts +34 -0
  147. package/dist/api/Workflows/Hooks.d.ts.map +1 -0
  148. package/dist/api/Workflows/Hooks.js +52 -0
  149. package/dist/api/Workflows/Hooks.js.map +1 -0
  150. package/dist/api/Workflows/States.d.ts +31 -0
  151. package/dist/api/Workflows/States.d.ts.map +1 -0
  152. package/dist/api/Workflows/States.js +47 -0
  153. package/dist/api/Workflows/States.js.map +1 -0
  154. package/dist/api/Workflows/Transitions.d.ts +32 -0
  155. package/dist/api/Workflows/Transitions.d.ts.map +1 -0
  156. package/dist/api/Workflows/Transitions.js +67 -0
  157. package/dist/api/Workflows/Transitions.js.map +1 -0
  158. package/dist/api/Workflows/index.d.ts +54 -0
  159. package/dist/api/Workflows/index.d.ts.map +1 -0
  160. package/dist/api/Workflows/index.js +71 -0
  161. package/dist/api/Workflows/index.js.map +1 -0
  162. package/dist/api/Workspace.d.ts +16 -3
  163. package/dist/api/Workspace.d.ts.map +1 -1
  164. package/dist/api/Workspace.js +17 -1
  165. package/dist/api/Workspace.js.map +1 -1
  166. package/dist/api/WorkspaceProjectLabels.d.ts +15 -0
  167. package/dist/api/WorkspaceProjectLabels.d.ts.map +1 -0
  168. package/dist/api/WorkspaceProjectLabels.js +28 -0
  169. package/dist/api/WorkspaceProjectLabels.js.map +1 -0
  170. package/dist/api/WorkspaceProjectStates.d.ts +15 -0
  171. package/dist/api/WorkspaceProjectStates.d.ts.map +1 -0
  172. package/dist/api/WorkspaceProjectStates.js +28 -0
  173. package/dist/api/WorkspaceProjectStates.js.map +1 -0
  174. package/dist/api/WorkspaceStates.d.ts +55 -0
  175. package/dist/api/WorkspaceStates.d.ts.map +1 -0
  176. package/dist/api/WorkspaceStates.js +73 -0
  177. package/dist/api/WorkspaceStates.js.map +1 -0
  178. package/dist/api/WorkspaceTemplates/Pages.d.ts +15 -0
  179. package/dist/api/WorkspaceTemplates/Pages.d.ts.map +1 -0
  180. package/dist/api/WorkspaceTemplates/Pages.js +28 -0
  181. package/dist/api/WorkspaceTemplates/Pages.js.map +1 -0
  182. package/dist/api/WorkspaceTemplates/Projects.d.ts +15 -0
  183. package/dist/api/WorkspaceTemplates/Projects.d.ts.map +1 -0
  184. package/dist/api/WorkspaceTemplates/Projects.js +28 -0
  185. package/dist/api/WorkspaceTemplates/Projects.js.map +1 -0
  186. package/dist/api/WorkspaceTemplates/WorkItems.d.ts +15 -0
  187. package/dist/api/WorkspaceTemplates/WorkItems.d.ts.map +1 -0
  188. package/dist/api/WorkspaceTemplates/WorkItems.js +28 -0
  189. package/dist/api/WorkspaceTemplates/WorkItems.js.map +1 -0
  190. package/dist/api/WorkspaceTemplates/index.d.ts +16 -0
  191. package/dist/api/WorkspaceTemplates/index.d.ts.map +1 -0
  192. package/dist/api/WorkspaceTemplates/index.js +21 -0
  193. package/dist/api/WorkspaceTemplates/index.js.map +1 -0
  194. package/dist/api/WorkspaceWorkItemProperties/Options.d.ts +16 -0
  195. package/dist/api/WorkspaceWorkItemProperties/Options.d.ts.map +1 -0
  196. package/dist/api/WorkspaceWorkItemProperties/Options.js +31 -0
  197. package/dist/api/WorkspaceWorkItemProperties/Options.js.map +1 -0
  198. package/dist/api/WorkspaceWorkItemProperties/index.d.ts +18 -0
  199. package/dist/api/WorkspaceWorkItemProperties/index.d.ts.map +1 -0
  200. package/dist/api/WorkspaceWorkItemProperties/index.js +33 -0
  201. package/dist/api/WorkspaceWorkItemProperties/index.js.map +1 -0
  202. package/dist/api/WorkspaceWorkItemTypes/Properties.d.ts +15 -0
  203. package/dist/api/WorkspaceWorkItemTypes/Properties.d.ts.map +1 -0
  204. package/dist/api/WorkspaceWorkItemTypes/Properties.js +25 -0
  205. package/dist/api/WorkspaceWorkItemTypes/Properties.js.map +1 -0
  206. package/dist/api/WorkspaceWorkItemTypes/index.d.ts +18 -0
  207. package/dist/api/WorkspaceWorkItemTypes/index.d.ts.map +1 -0
  208. package/dist/api/WorkspaceWorkItemTypes/index.js +33 -0
  209. package/dist/api/WorkspaceWorkItemTypes/index.js.map +1 -0
  210. package/dist/api/WorkspaceWorkflows/Hooks.d.ts +56 -0
  211. package/dist/api/WorkspaceWorkflows/Hooks.d.ts.map +1 -0
  212. package/dist/api/WorkspaceWorkflows/Hooks.js +65 -0
  213. package/dist/api/WorkspaceWorkflows/Hooks.js.map +1 -0
  214. package/dist/api/WorkspaceWorkflows/States.d.ts +34 -0
  215. package/dist/api/WorkspaceWorkflows/States.d.ts.map +1 -0
  216. package/dist/api/WorkspaceWorkflows/States.js +47 -0
  217. package/dist/api/WorkspaceWorkflows/States.js.map +1 -0
  218. package/dist/api/WorkspaceWorkflows/Transitions.d.ts +31 -0
  219. package/dist/api/WorkspaceWorkflows/Transitions.d.ts.map +1 -0
  220. package/dist/api/WorkspaceWorkflows/Transitions.js +46 -0
  221. package/dist/api/WorkspaceWorkflows/Transitions.js.map +1 -0
  222. package/dist/api/WorkspaceWorkflows/index.d.ts +67 -0
  223. package/dist/api/WorkspaceWorkflows/index.d.ts.map +1 -0
  224. package/dist/api/WorkspaceWorkflows/index.js +73 -0
  225. package/dist/api/WorkspaceWorkflows/index.js.map +1 -0
  226. package/dist/client/plane-client.d.ts +30 -2
  227. package/dist/client/plane-client.d.ts.map +1 -1
  228. package/dist/client/plane-client.js +30 -2
  229. package/dist/client/plane-client.js.map +1 -1
  230. package/dist/index.d.ts +42 -1
  231. package/dist/index.d.ts.map +1 -1
  232. package/dist/index.js +86 -3
  233. package/dist/index.js.map +1 -1
  234. package/dist/models/Collection.d.ts +147 -0
  235. package/dist/models/Collection.d.ts.map +1 -0
  236. package/dist/models/Collection.js +19 -0
  237. package/dist/models/Collection.js.map +1 -0
  238. package/dist/models/Customer.d.ts +9 -0
  239. package/dist/models/Customer.d.ts.map +1 -1
  240. package/dist/models/Cycle.d.ts +25 -0
  241. package/dist/models/Cycle.d.ts.map +1 -1
  242. package/dist/models/Epic.d.ts +54 -0
  243. package/dist/models/Epic.d.ts.map +1 -1
  244. package/dist/models/Estimate.d.ts +72 -0
  245. package/dist/models/Estimate.d.ts.map +1 -0
  246. package/dist/models/Estimate.js +7 -0
  247. package/dist/models/Estimate.js.map +1 -0
  248. package/dist/models/Initiative.d.ts +4 -2
  249. package/dist/models/Initiative.d.ts.map +1 -1
  250. package/dist/models/Intake.d.ts +8 -0
  251. package/dist/models/Intake.d.ts.map +1 -1
  252. package/dist/models/Member.d.ts +54 -0
  253. package/dist/models/Member.d.ts.map +1 -0
  254. package/dist/models/Member.js +3 -0
  255. package/dist/models/Member.js.map +1 -0
  256. package/dist/models/Module.d.ts +21 -0
  257. package/dist/models/Module.d.ts.map +1 -1
  258. package/dist/models/Page.d.ts +27 -1
  259. package/dist/models/Page.d.ts.map +1 -1
  260. package/dist/models/Project.d.ts +27 -0
  261. package/dist/models/Project.d.ts.map +1 -1
  262. package/dist/models/ProjectTemplate.d.ts +25 -0
  263. package/dist/models/ProjectTemplate.d.ts.map +1 -0
  264. package/dist/models/ProjectTemplate.js +3 -0
  265. package/dist/models/ProjectTemplate.js.map +1 -0
  266. package/dist/models/Release.d.ts +157 -0
  267. package/dist/models/Release.d.ts.map +1 -0
  268. package/dist/models/Release.js +3 -0
  269. package/dist/models/Release.js.map +1 -0
  270. package/dist/models/Role.d.ts +31 -0
  271. package/dist/models/Role.d.ts.map +1 -0
  272. package/dist/models/Role.js +11 -0
  273. package/dist/models/Role.js.map +1 -0
  274. package/dist/models/State.d.ts +31 -0
  275. package/dist/models/State.d.ts.map +1 -1
  276. package/dist/models/User.d.ts +23 -0
  277. package/dist/models/User.d.ts.map +1 -1
  278. package/dist/models/WorkItem.d.ts +102 -0
  279. package/dist/models/WorkItem.d.ts.map +1 -1
  280. package/dist/models/WorkItemPage.d.ts +37 -0
  281. package/dist/models/WorkItemPage.d.ts.map +1 -0
  282. package/dist/models/WorkItemPage.js +3 -0
  283. package/dist/models/WorkItemPage.js.map +1 -0
  284. package/dist/models/WorkItemRelationDefinition.d.ts +21 -0
  285. package/dist/models/WorkItemRelationDefinition.d.ts.map +1 -0
  286. package/dist/models/WorkItemRelationDefinition.js +3 -0
  287. package/dist/models/WorkItemRelationDefinition.js.map +1 -0
  288. package/dist/models/WorkItemType.d.ts +6 -0
  289. package/dist/models/WorkItemType.d.ts.map +1 -1
  290. package/dist/models/WorkItemTypeGovernance.d.ts +130 -0
  291. package/dist/models/WorkItemTypeGovernance.d.ts.map +1 -0
  292. package/dist/models/WorkItemTypeGovernance.js +3 -0
  293. package/dist/models/WorkItemTypeGovernance.js.map +1 -0
  294. package/dist/models/Workflow.d.ts +92 -0
  295. package/dist/models/Workflow.d.ts.map +1 -0
  296. package/dist/models/Workflow.js +3 -0
  297. package/dist/models/Workflow.js.map +1 -0
  298. package/dist/models/WorkspaceFeatures.d.ts +18 -7
  299. package/dist/models/WorkspaceFeatures.d.ts.map +1 -1
  300. package/dist/models/WorkspaceProjectLabel.d.ts +13 -0
  301. package/dist/models/WorkspaceProjectLabel.d.ts.map +1 -0
  302. package/dist/models/WorkspaceProjectLabel.js +3 -0
  303. package/dist/models/WorkspaceProjectLabel.js.map +1 -0
  304. package/dist/models/WorkspaceProjectState.d.ts +16 -0
  305. package/dist/models/WorkspaceProjectState.d.ts.map +1 -0
  306. package/dist/models/WorkspaceProjectState.js +3 -0
  307. package/dist/models/WorkspaceProjectState.js.map +1 -0
  308. package/dist/models/WorkspaceTemplate.d.ts +35 -0
  309. package/dist/models/WorkspaceTemplate.d.ts.map +1 -0
  310. package/dist/models/WorkspaceTemplate.js +3 -0
  311. package/dist/models/WorkspaceTemplate.js.map +1 -0
  312. package/dist/models/WorkspaceWorkflow.d.ts +145 -0
  313. package/dist/models/WorkspaceWorkflow.d.ts.map +1 -0
  314. package/dist/models/WorkspaceWorkflow.js +3 -0
  315. package/dist/models/WorkspaceWorkflow.js.map +1 -0
  316. package/dist/models/index.d.ts +14 -0
  317. package/dist/models/index.d.ts.map +1 -1
  318. package/dist/models/index.js +14 -0
  319. package/dist/models/index.js.map +1 -1
  320. package/dist/types.bundle.d.ts +3042 -539
  321. package/package.json +4 -10
  322. package/dist/api/Members.d.ts +0 -56
  323. package/dist/api/Members.d.ts.map +0 -1
  324. package/dist/api/Members.js +0 -45
  325. package/dist/api/Members.js.map +0 -1
@@ -55,7 +55,7 @@ export declare abstract class BaseResource {
55
55
  /**
56
56
  * DELETE request
57
57
  */
58
- protected httpDelete(endpoint: string, data?: any): Promise<void>;
58
+ protected httpDelete(endpoint: string, data?: any, params?: any): Promise<void>;
59
59
  /**
60
60
  * Builds the complete URL for API requests
61
61
  */
@@ -148,6 +148,7 @@ export interface Project extends BaseModel {
148
148
  cover_image_url: null;
149
149
  name: string;
150
150
  description: string;
151
+ description_html?: string;
151
152
  network?: number;
152
153
  identifier?: string;
153
154
  emoji?: null;
@@ -178,6 +179,32 @@ export interface ListProjectsParams {
178
179
  limit?: number;
179
180
  offset?: number;
180
181
  }
182
+ /**
183
+ * Lite project shape returned by the read-only projects-lite list endpoint,
184
+ * intended for pickers and reference lookups.
185
+ */
186
+ export interface ProjectLite {
187
+ id: string;
188
+ identifier: string;
189
+ name: string;
190
+ cover_image?: string;
191
+ icon_prop?: Record<string, unknown>;
192
+ emoji?: string;
193
+ description?: string;
194
+ cover_image_url?: string;
195
+ archived_at?: string;
196
+ }
197
+ /**
198
+ * Query params for the paginated projects-lite endpoint.
199
+ */
200
+ export interface ListProjectsLiteParams {
201
+ /** Include archived projects in the results (defaults to false) */
202
+ include_archived?: boolean;
203
+ order_by?: string;
204
+ per_page?: number;
205
+ cursor?: string;
206
+ [key: string]: unknown;
207
+ }
181
208
  export interface User {
182
209
  id?: string;
183
210
  first_name?: string;
@@ -187,6 +214,81 @@ export interface User {
187
214
  avatar_url?: string;
188
215
  display_name?: string;
189
216
  }
217
+ /**
218
+ * Type of user asset being uploaded.
219
+ */
220
+ export type UserAssetEntityType = "USER_AVATAR" | "USER_COVER";
221
+ /**
222
+ * Request model for uploading a user asset (avatar or cover).
223
+ */
224
+ export interface UserAssetUploadRequest {
225
+ /** Original filename of the asset */
226
+ name: string;
227
+ /** MIME type of the file */
228
+ type?: "image/jpeg" | "image/png" | "image/webp" | "image/jpg" | "image/gif";
229
+ /** File size in bytes */
230
+ size: number;
231
+ /** Type of user asset */
232
+ entity_type: UserAssetEntityType;
233
+ }
234
+ /**
235
+ * Response from the user asset upload endpoint.
236
+ */
237
+ export interface UserAssetUploadResponse {
238
+ [key: string]: unknown;
239
+ }
240
+ /**
241
+ * A project member — a User with an additional role and role_slug field.
242
+ *
243
+ * Returned by Projects.getMembers(). The role field is the numeric role value
244
+ * (e.g. 20 = Member, 15 = Viewer, 10 = Guest, 5 = Viewer), role_slug is the
245
+ * human-readable equivalent (e.g. "member", "viewer").
246
+ */
247
+ export interface ProjectMember extends User {
248
+ role: number | null;
249
+ role_slug: string | null;
250
+ }
251
+ /**
252
+ * A workspace member — a User with an additional role and role_slug field.
253
+ *
254
+ * Returned by Workspace.getMembers().
255
+ */
256
+ export interface WorkspaceMember extends User {
257
+ role: number | null;
258
+ role_slug: string | null;
259
+ }
260
+ /**
261
+ * Query params for the paginated members-lite endpoints.
262
+ */
263
+ export interface ListMembersLiteParams {
264
+ /** Number of results per page */
265
+ per_page?: number;
266
+ /** Pagination cursor from a previous response's next_cursor */
267
+ cursor?: string;
268
+ [key: string]: unknown;
269
+ }
270
+ /**
271
+ * One role's aggregate membership counts within a workspace.
272
+ */
273
+ export interface ProjectRoleDistributionEntry {
274
+ role_id?: string;
275
+ name?: string;
276
+ slug?: string;
277
+ is_system?: boolean;
278
+ level?: number;
279
+ membership_count?: number;
280
+ distinct_member_count?: number;
281
+ }
282
+ /**
283
+ * Aggregate count of project members by role across a workspace.
284
+ * Counts span all active (non-archived) projects and include both
285
+ * built-in roles (admin, contributor, commenter, guest) and custom roles.
286
+ */
287
+ export interface ProjectRoleDistribution {
288
+ total_memberships?: number;
289
+ total_distinct_members?: number;
290
+ roles: ProjectRoleDistributionEntry[];
291
+ }
190
292
  /**
191
293
  * Project Features model interfaces
192
294
  */
@@ -227,9 +329,20 @@ export declare class Projects extends BaseResource {
227
329
  */
228
330
  list(workspaceSlug: string, params?: ListProjectsParams): Promise<PaginatedResponse<Project>>;
229
331
  /**
230
- * Get project members
332
+ * List projects as a paginated "lite" response, intended for pickers and
333
+ * reference lookups.
334
+ */
335
+ listLite(workspaceSlug: string, params?: ListProjectsLiteParams): Promise<PaginatedResponse<ProjectLite>>;
336
+ /**
337
+ * Get project members with their role information.
338
+ */
339
+ getMembers(workspaceSlug: string, projectId: string): Promise<ProjectMember[]>;
340
+ /**
341
+ * List project members as a paginated "lite" response.
342
+ * Unlike getMembers() (which returns a bare list), this returns a
343
+ * cursor-paginated envelope.
231
344
  */
232
- getMembers(workspaceSlug: string, projectId: string): Promise<User[]>;
345
+ getMembersLite(workspaceSlug: string, projectId: string, params?: ListMembersLiteParams): Promise<PaginatedResponse<ProjectMember>>;
233
346
  /**
234
347
  * Get total work logs for a project
235
348
  */
@@ -267,6 +380,12 @@ export interface WorkItemType extends BaseModel {
267
380
  }
268
381
  export type CreateWorkItemType = Partial<WorkItemType>;
269
382
  export type UpdateWorkItemType = Partial<WorkItemType>;
383
+ /**
384
+ * DTO for linking a property to a workspace work item type
385
+ */
386
+ export interface WorkspaceWorkItemTypePropertyLink {
387
+ property_id: string;
388
+ }
270
389
  export interface CreateModuleRequest {
271
390
  name: string;
272
391
  description?: string;
@@ -324,6 +443,27 @@ export interface ListModulesParamsRequest {
324
443
  limit?: number;
325
444
  offset?: number;
326
445
  }
446
+ /**
447
+ * Lite module shape returned by the read-only modules-lite list endpoint.
448
+ */
449
+ export interface ModuleLite {
450
+ id: string;
451
+ name: string;
452
+ description?: string;
453
+ created_at?: string;
454
+ updated_at?: string;
455
+ deleted_at?: string;
456
+ [key: string]: unknown;
457
+ }
458
+ /**
459
+ * Query params for the paginated modules-lite endpoint.
460
+ */
461
+ export interface ListModulesLiteParams {
462
+ order_by?: string;
463
+ per_page?: number;
464
+ cursor?: string;
465
+ [key: string]: unknown;
466
+ }
327
467
  export interface Label {
328
468
  id?: string;
329
469
  created_at?: string;
@@ -381,6 +521,37 @@ export type ListStatesParams = {
381
521
  offset?: number;
382
522
  };
383
523
  export type GroupEnum = "backlog" | "unstarted" | "started" | "completed" | "cancelled" | "triage";
524
+ /**
525
+ * Workspace (catalog) states accept only the five lifecycle groups — the
526
+ * triage state is system-managed under workspace governance.
527
+ */
528
+ export type CatalogGroupEnum = "backlog" | "unstarted" | "started" | "completed" | "cancelled";
529
+ /**
530
+ * Request model for creating a workspace (catalog) state.
531
+ *
532
+ * Only accepted when the workspace owns states and workflows (workspace
533
+ * governance). `group` is required and must be one of the five lifecycle
534
+ * groups. Catalog states carry no `default` flag; the workspace default lives
535
+ * on the workflow's default state.
536
+ */
537
+ export type CreateWorkspaceState = {
538
+ name: string;
539
+ color: string;
540
+ group: CatalogGroupEnum;
541
+ description?: string;
542
+ external_source?: string;
543
+ external_id?: string;
544
+ };
545
+ /**
546
+ * Request model for updating a workspace (catalog) state.
547
+ * `default` is not accepted for catalog states — the API rejects it with
548
+ * code `workspace_managed`.
549
+ */
550
+ export type UpdateWorkspaceState = Partial<CreateWorkspaceState>;
551
+ export type ListWorkspaceStatesParams = {
552
+ cursor?: string;
553
+ per_page?: number;
554
+ };
384
555
  /**
385
556
  * WorkItem model interfaces
386
557
  */
@@ -455,7 +626,26 @@ export interface ListWorkItemsParams {
455
626
  assignee?: string;
456
627
  limit?: number;
457
628
  offset?: number;
629
+ /**
630
+ * Plane Query Language expression — a string-based alternative to the
631
+ * structured `filters` object. The two have equivalent expressive power.
632
+ * Example: `priority = "urgent" AND assignee = currentUser()`.
633
+ */
458
634
  pql?: string;
635
+ /**
636
+ * Structured filter expression. Supports nested `and`/`or`/`not` groups and
637
+ * field operators like `__in`, `__gte`, `__range`, `__icontains`. The SDK
638
+ * JSON-encodes this object into the `filters=` query parameter before sending.
639
+ */
640
+ filters?: Record<string, unknown>;
641
+ order_by?: string;
642
+ cursor?: string;
643
+ per_page?: number;
644
+ /** Comma-separated field list to return */
645
+ fields?: string;
646
+ /** Comma-separated relations to expand */
647
+ expand?: string;
648
+ [key: string]: unknown;
459
649
  }
460
650
  export interface WorkItemActivity {
461
651
  id: string;
@@ -503,6 +693,11 @@ export type AdvancedSearchFilter = {
503
693
  export interface AdvancedSearchWorkItem {
504
694
  query?: string;
505
695
  filters?: AdvancedSearchFilter;
696
+ /**
697
+ * Plane Query Language expression. Alternative to `filters` with the same
698
+ * expressive power. The backend accepts either or both.
699
+ */
700
+ pql?: string;
506
701
  limit?: number;
507
702
  }
508
703
  /**
@@ -521,6 +716,84 @@ export interface AdvancedSearchResult {
521
716
  target_date?: string | null;
522
717
  start_date?: string | null;
523
718
  }
719
+ /**
720
+ * Query params for workspace-wide work item count.
721
+ */
722
+ export interface WorkItemCountParams {
723
+ /** JSON-encoded filters object */
724
+ filters?: string;
725
+ /** PQL query string */
726
+ pql?: string;
727
+ group_by?: string;
728
+ sub_group_by?: string;
729
+ [key: string]: unknown;
730
+ }
731
+ export interface WorkItemCountEntry {
732
+ count: number;
733
+ sub_grouped_counts?: Record<string, {
734
+ count: number;
735
+ }>;
736
+ }
737
+ /**
738
+ * Response for GET /workspaces/{slug}/work-items/count.
739
+ * grouped_counts keys are raw ORM field values ("None" for empty).
740
+ */
741
+ export interface WorkItemCountResponse {
742
+ grouped_by?: string | null;
743
+ sub_grouped_by?: string | null;
744
+ total_count: number;
745
+ grouped_counts?: Record<string, WorkItemCountEntry>;
746
+ }
747
+ /**
748
+ * Built-in dependency directions, from the perspective of the work item.
749
+ */
750
+ export type DependencyType = "blocking" | "blocked_by" | "start_before" | "start_after" | "finish_before" | "finish_after";
751
+ /**
752
+ * Work item with an injected relation_type label.
753
+ */
754
+ export interface WorkItemWithRelationType {
755
+ id: string;
756
+ name?: string;
757
+ sequence_id?: number;
758
+ project_id?: string;
759
+ state_id?: string;
760
+ priority?: string;
761
+ type_id?: string;
762
+ is_epic?: boolean;
763
+ relation_type?: string;
764
+ [key: string]: unknown;
765
+ }
766
+ /**
767
+ * Response for GET .../work-items/{id}/dependencies/ grouped by direction.
768
+ */
769
+ export interface WorkItemDependencyResponse {
770
+ blocking: WorkItemWithRelationType[];
771
+ blocked_by: WorkItemWithRelationType[];
772
+ start_before: WorkItemWithRelationType[];
773
+ start_after: WorkItemWithRelationType[];
774
+ finish_before: WorkItemWithRelationType[];
775
+ finish_after: WorkItemWithRelationType[];
776
+ }
777
+ /**
778
+ * Request model for creating work item dependency relations.
779
+ */
780
+ export interface CreateWorkItemDependencyRequest {
781
+ /** Dependency direction from the perspective of this work item */
782
+ relation_type: DependencyType;
783
+ /** UUIDs of work items to create dependencies with (min 1) */
784
+ work_item_ids: string[];
785
+ }
786
+ /**
787
+ * Request model for creating a custom (definition-based) work item relation.
788
+ */
789
+ export interface CreateWorkItemCustomRelationRequest {
790
+ /** UUID of the workspace relation definition */
791
+ relation_definition_id: string;
792
+ /** The outward or inward label of the definition (controls directionality) */
793
+ relation_definition_type: string;
794
+ /** UUIDs of work items to create the relation with (min 1) */
795
+ work_item_ids: string[];
796
+ }
524
797
  /**
525
798
  * Link model interfaces
526
799
  * TODO: Replace with proper types after API verification
@@ -822,6 +1095,109 @@ export declare class WorkLogs extends BaseResource {
822
1095
  */
823
1096
  delete(workspaceSlug: string, projectId: string, workItemId: string, workLogId: string): Promise<void>;
824
1097
  }
1098
+ /**
1099
+ * WorkItemDependencies API resource
1100
+ * Manages work item dependency relations across the six built-in directions:
1101
+ * blocking / blocked_by / start_before / start_after / finish_before / finish_after
1102
+ */
1103
+ declare class Dependencies extends BaseResource {
1104
+ constructor(config: Configuration);
1105
+ /**
1106
+ * List all dependency relations for a work item grouped by direction
1107
+ */
1108
+ list(workspaceSlug: string, projectId: string, workItemId: string): Promise<WorkItemDependencyResponse>;
1109
+ /**
1110
+ * Create one or more dependency relations for a work item
1111
+ */
1112
+ create(workspaceSlug: string, projectId: string, workItemId: string, createDependency: CreateWorkItemDependencyRequest): Promise<WorkItemWithRelationType[]>;
1113
+ /**
1114
+ * Remove a dependency relation between this work item and a target
1115
+ */
1116
+ remove(workspaceSlug: string, projectId: string, workItemId: string, relatedWorkItemId: string): Promise<void>;
1117
+ }
1118
+ /**
1119
+ * WorkItemCustomRelations API resource
1120
+ * Manages custom (definition-based) work item relations.
1121
+ *
1122
+ * Custom relations are workspace-level types defined via the
1123
+ * work-item-relation-definitions endpoint. Each definition has an outward
1124
+ * label and an inward label that controls directionality.
1125
+ */
1126
+ declare class CustomRelations extends BaseResource {
1127
+ constructor(config: Configuration);
1128
+ /**
1129
+ * List all custom relations for a work item grouped by definition label.
1130
+ * Response keys are the outward/inward labels from active workspace relation
1131
+ * definitions (e.g. "implements", "implemented by", "relates to").
1132
+ */
1133
+ list(workspaceSlug: string, projectId: string, workItemId: string): Promise<Record<string, WorkItemWithRelationType[]>>;
1134
+ /**
1135
+ * Create one or more custom relations for a work item
1136
+ */
1137
+ create(workspaceSlug: string, projectId: string, workItemId: string, createRelation: CreateWorkItemCustomRelationRequest): Promise<WorkItemWithRelationType[]>;
1138
+ /**
1139
+ * Remove a custom relation between this work item and a target
1140
+ */
1141
+ remove(workspaceSlug: string, projectId: string, workItemId: string, relatedWorkItemId: string): Promise<void>;
1142
+ }
1143
+ /**
1144
+ * Work item page link model interfaces
1145
+ * Represents a page linked to a work item.
1146
+ */
1147
+ /**
1148
+ * Nested page info returned inside a WorkItemPage response
1149
+ */
1150
+ export interface WorkItemPageLite {
1151
+ id?: string;
1152
+ name?: string;
1153
+ created_at?: string;
1154
+ updated_at?: string;
1155
+ created_by?: string;
1156
+ is_global?: boolean;
1157
+ logo_props?: LogoProps;
1158
+ }
1159
+ /**
1160
+ * Work item to page link
1161
+ */
1162
+ export interface WorkItemPage {
1163
+ id?: string;
1164
+ page?: WorkItemPageLite;
1165
+ issue?: string;
1166
+ project?: string;
1167
+ workspace?: string;
1168
+ created_at?: string;
1169
+ updated_at?: string;
1170
+ created_by?: string;
1171
+ }
1172
+ /**
1173
+ * Request model for linking a page to a work item
1174
+ */
1175
+ export interface CreateWorkItemPageRequest {
1176
+ page_id: string;
1177
+ }
1178
+ /**
1179
+ * WorkItemPages API resource
1180
+ * Manages page links on a work item
1181
+ */
1182
+ declare class Pages extends BaseResource {
1183
+ constructor(config: Configuration);
1184
+ /**
1185
+ * List page links for a work item
1186
+ */
1187
+ list(workspaceSlug: string, projectId: string, workItemId: string, params?: any): Promise<PaginatedResponse<WorkItemPage>>;
1188
+ /**
1189
+ * Retrieve a specific page link for a work item
1190
+ */
1191
+ retrieve(workspaceSlug: string, projectId: string, workItemId: string, workItemPageId: string): Promise<WorkItemPage>;
1192
+ /**
1193
+ * Link a page to a work item
1194
+ */
1195
+ create(workspaceSlug: string, projectId: string, workItemId: string, createPage: CreateWorkItemPageRequest): Promise<WorkItemPage>;
1196
+ /**
1197
+ * Remove a page link from a work item
1198
+ */
1199
+ delete(workspaceSlug: string, projectId: string, workItemId: string, workItemPageId: string): Promise<void>;
1200
+ }
825
1201
  /**
826
1202
  * WorkItems API resource
827
1203
  * Handles all work item (issue) related operations
@@ -833,6 +1209,9 @@ export declare class WorkItems extends BaseResource {
833
1209
  comments: Comments;
834
1210
  activities: Activities;
835
1211
  workLogs: WorkLogs;
1212
+ dependencies: Dependencies;
1213
+ customRelations: CustomRelations;
1214
+ pages: Pages;
836
1215
  constructor(config: Configuration);
837
1216
  /**
838
1217
  * Create a new work item
@@ -849,9 +1228,54 @@ export declare class WorkItems extends BaseResource {
849
1228
  */
850
1229
  delete(workspaceSlug: string, projectId: string, workItemId: string): Promise<void>;
851
1230
  /**
852
- * List work items with optional filtering
1231
+ * List work items in a project with optional filtering.
1232
+ *
1233
+ * Supports rich filtering via `filters` (a structured object, JSON-encoded
1234
+ * into a single `filters=` query param) and `pql` (Plane Query Language).
1235
+ *
1236
+ * @example
1237
+ * ```ts
1238
+ * await client.workItems.list("my-workspace", "project-id", {
1239
+ * filters: { and: [{ priority: "urgent" }, { state_group__in: ["unstarted", "started"] }] },
1240
+ * order_by: "-created_at",
1241
+ * per_page: 50,
1242
+ * });
1243
+ * ```
853
1244
  */
854
1245
  list(workspaceSlug: string, projectId: string, params?: ListWorkItemsParams): Promise<PaginatedResponse<WorkItem>>;
1246
+ /**
1247
+ * List work items across an entire workspace.
1248
+ *
1249
+ * Returns a paginated envelope of work items the caller can view, spanning
1250
+ * every project in the workspace (per-project authorization is honored
1251
+ * server-side). Supports the same `filters` and `pql` query params as
1252
+ * {@link WorkItems.list}, plus `order_by`, `cursor`, `per_page`, `fields`,
1253
+ * and `expand`.
1254
+ */
1255
+ listWorkspace(workspaceSlug: string, params?: ListWorkItemsParams): Promise<PaginatedResponse<WorkItem>>;
1256
+ /**
1257
+ * Return the count of work items across an entire workspace.
1258
+ *
1259
+ * Supports `filters`, `pql`, `group_by`, and `sub_group_by` query params.
1260
+ * `grouped_counts` keys are raw ORM field values: UUID strings for FK/M2M
1261
+ * dimensions, plain strings for `priority` / `state__group`, ISO-date strings
1262
+ * for `target_date` / `start_date`. "None" is used for empty values.
1263
+ */
1264
+ countWorkspace(workspaceSlug: string, params?: WorkItemCountParams): Promise<WorkItemCountResponse>;
1265
+ /**
1266
+ * List archived work items in a project.
1267
+ * Supports the same `filters` and `pql` query parameters as list().
1268
+ */
1269
+ listArchived(workspaceSlug: string, projectId: string, params?: ListWorkItemsParams): Promise<PaginatedResponse<WorkItem>>;
1270
+ /**
1271
+ * Archive a work item.
1272
+ * Only work items in a completed or cancelled state can be archived.
1273
+ */
1274
+ archive(workspaceSlug: string, projectId: string, workItemId: string): Promise<void>;
1275
+ /**
1276
+ * Unarchive a work item — restore it to active status.
1277
+ */
1278
+ unarchive(workspaceSlug: string, projectId: string, workItemId: string): Promise<void>;
855
1279
  retrieveByIdentifier(workspaceSlug: string, identifier: string): Promise<WorkItemBase>;
856
1280
  retrieveByIdentifier<E extends WorkItemExpandableFieldName>(workspaceSlug: string, identifier: string, expand: E[]): Promise<WorkItem<E>>;
857
1281
  /**
@@ -897,6 +1321,13 @@ export declare class WorkItemTypes extends BaseResource {
897
1321
  * List work item types with optional filtering
898
1322
  */
899
1323
  list(workspaceSlug: string, projectId: string, params?: ListWorkItemTypesParams): Promise<WorkItemType[]>;
1324
+ /**
1325
+ * Import workspace-level work item types into a project.
1326
+ *
1327
+ * @param workItemTypeIds - IDs of the workspace work item types to import.
1328
+ * @returns The resulting project-level work item types after import.
1329
+ */
1330
+ importToProject(workspaceSlug: string, projectId: string, workItemTypeIds: string[]): Promise<WorkItemType[]>;
900
1331
  }
901
1332
  export type WorkItemPropertySettings = TextSettings | undefined;
902
1333
  /**
@@ -1147,6 +1578,36 @@ export declare class WorkItemProperties extends BaseResource {
1147
1578
  * List work item properties with optional filtering
1148
1579
  */
1149
1580
  list(workspaceSlug: string, projectId: string, workItemTypeId: string, params?: ListWorkItemPropertiesParams): Promise<WorkItemProperty[]>;
1581
+ /**
1582
+ * List project-level work item properties (not scoped to a type)
1583
+ */
1584
+ listProject(workspaceSlug: string, projectId: string, params?: ListWorkItemPropertiesParams): Promise<WorkItemProperty[]>;
1585
+ /**
1586
+ * Create a project-level work item property
1587
+ */
1588
+ createProject(workspaceSlug: string, projectId: string, createWorkItemProperty: CreateWorkItemProperty): Promise<WorkItemProperty>;
1589
+ /**
1590
+ * Retrieve a project-level work item property
1591
+ */
1592
+ retrieveProject(workspaceSlug: string, projectId: string, propertyId: string): Promise<WorkItemProperty>;
1593
+ /**
1594
+ * Update a project-level work item property
1595
+ */
1596
+ updateProject(workspaceSlug: string, projectId: string, propertyId: string, updateWorkItemProperty: UpdateWorkItemProperty): Promise<WorkItemProperty>;
1597
+ /**
1598
+ * Delete a project-level work item property
1599
+ */
1600
+ deleteProject(workspaceSlug: string, projectId: string, propertyId: string): Promise<void>;
1601
+ /**
1602
+ * Attach existing project-level properties to a work item type.
1603
+ *
1604
+ * @returns The property ids now attached to the type.
1605
+ */
1606
+ attachToType(workspaceSlug: string, projectId: string, workItemTypeId: string, propertyIds: string[]): Promise<string[]>;
1607
+ /**
1608
+ * Detach a property from a work item type
1609
+ */
1610
+ detachFromType(workspaceSlug: string, projectId: string, workItemTypeId: string, propertyId: string): Promise<void>;
1150
1611
  }
1151
1612
  /**
1152
1613
  * Customer model interfaces
@@ -1282,6 +1743,15 @@ export interface LinkedIssue {
1282
1743
  project_id: string;
1283
1744
  project__identifier: string;
1284
1745
  }
1746
+ /**
1747
+ * Request model for setting several customer property values at once.
1748
+ * Maps property id to its list of values. Every value is sent as a string
1749
+ * regardless of the property's type — dates as YYYY-MM-DD, booleans as
1750
+ * "True"/"False", options and relations as UUIDs.
1751
+ */
1752
+ export interface SetCustomerPropertyValues {
1753
+ customer_property_values: Record<string, string[]>;
1754
+ }
1285
1755
  /**
1286
1756
  * Customer Properties API resource
1287
1757
  * Handles customer property definitions and property value operations
@@ -1312,6 +1782,15 @@ declare class Properties extends BaseResource {
1312
1782
  * Get customer property values
1313
1783
  */
1314
1784
  listValues(workspaceSlug: string, customerId: string, params?: ListCustomerPropertyValuesParams): Promise<CustomPropertyValueResponse>;
1785
+ /**
1786
+ * Set several of a customer's property values at once.
1787
+ *
1788
+ * Acts as an upsert: the properties named are given these values, replacing
1789
+ * any they already held. Properties absent from the payload are untouched.
1790
+ * Every value is sent as a string — dates as YYYY-MM-DD, booleans as
1791
+ * "True"/"False", options and relations as UUIDs.
1792
+ */
1793
+ createValues(workspaceSlug: string, customerId: string, values: SetCustomerPropertyValues): Promise<void>;
1315
1794
  /**
1316
1795
  * Get single property value
1317
1796
  */
@@ -1373,6 +1852,12 @@ export declare class Customers extends BaseResource {
1373
1852
  * Delete a customer
1374
1853
  */
1375
1854
  delete(workspaceSlug: string, customerId: string): Promise<void>;
1855
+ /**
1856
+ * Delete a customer addressed by its external reference
1857
+ * (external_source + external_id query params) instead of its id.
1858
+ * Deleting by an external reference that matches nothing succeeds silently.
1859
+ */
1860
+ deleteByExternalId(workspaceSlug: string, externalSource: string, externalId: string): Promise<void>;
1376
1861
  /**
1377
1862
  * List customers with optional filtering
1378
1863
  */
@@ -1402,14 +1887,40 @@ export interface Page extends BaseModel {
1402
1887
  description_stripped?: string;
1403
1888
  created_by: string;
1404
1889
  updated_by?: string;
1890
+ /** 0 = public, 1 = private */
1891
+ access?: number;
1892
+ is_locked?: boolean;
1893
+ /** Set when the page is archived; deleting a page requires it to be archived first */
1894
+ archived_at?: string;
1895
+ parent_id?: string;
1896
+ /**
1897
+ * Where the page is filed, and the id of the row that files it there -- the
1898
+ * second is what addresses the membership when moving the page between
1899
+ * collections. Both are null for a page in no collection.
1900
+ */
1901
+ collection_id?: string;
1902
+ page_collection_id?: string;
1405
1903
  [key: string]: any;
1406
1904
  }
1407
- export type CreatePage = Partial<Page>;
1905
+ export type CreatePage = Partial<Page> & {
1906
+ /** Create the page as a sub-page of this parent page */
1907
+ parent_id?: string;
1908
+ /** Create the page directly inside this collection */
1909
+ collection_id?: string;
1910
+ };
1911
+ /**
1912
+ * Fields a page update may change. At least one is required; sending neither is
1913
+ * refused with 400 "Either name or description_html is required."
1914
+ */
1915
+ export interface UpdatePage {
1916
+ name?: string;
1917
+ description_html?: string;
1918
+ }
1408
1919
  /**
1409
1920
  * Pages API resource
1410
1921
  * Handles both workspace and project page operations
1411
1922
  */
1412
- export declare class Pages extends BaseResource {
1923
+ declare class Pages$1 extends BaseResource {
1413
1924
  constructor(config: Configuration);
1414
1925
  /**
1415
1926
  * Create a workspace page
@@ -1419,6 +1930,33 @@ export declare class Pages extends BaseResource {
1419
1930
  * Get a workspace page by ID
1420
1931
  */
1421
1932
  getWorkspacePage(workspaceSlug: string, pageId: string): Promise<Page>;
1933
+ /**
1934
+ * List workspace pages
1935
+ */
1936
+ listWorkspacePages(workspaceSlug: string, params?: any): Promise<PaginatedResponse<Page>>;
1937
+ /**
1938
+ * Update a workspace page's name, content, or both. A page that is locked or
1939
+ * archived is refused.
1940
+ *
1941
+ * Content is written through Plane's live collaboration service, which owns the
1942
+ * document. If it is unreachable the API answers 502 and nothing is written,
1943
+ * rather than leaving the editor showing the old text.
1944
+ */
1945
+ updateWorkspacePage(workspaceSlug: string, pageId: string, updatePage: UpdatePage): Promise<Page>;
1946
+ /**
1947
+ * Archive a workspace page. Archiving is the reversible step the API requires
1948
+ * before a page can be deleted.
1949
+ */
1950
+ archiveWorkspacePage(workspaceSlug: string, pageId: string): Promise<void>;
1951
+ /**
1952
+ * Restore an archived workspace page
1953
+ */
1954
+ unarchiveWorkspacePage(workspaceSlug: string, pageId: string): Promise<void>;
1955
+ /**
1956
+ * Delete a workspace page. The page must be archived first; the API answers 400
1957
+ * "The page should be archived before deleting" otherwise.
1958
+ */
1959
+ deleteWorkspacePage(workspaceSlug: string, pageId: string): Promise<void>;
1422
1960
  /**
1423
1961
  * Create a project page
1424
1962
  */
@@ -1427,6 +1965,33 @@ export declare class Pages extends BaseResource {
1427
1965
  * Get a project page by ID
1428
1966
  */
1429
1967
  getProjectPage(workspaceSlug: string, projectId: string, pageId: string): Promise<Page>;
1968
+ /**
1969
+ * List project pages
1970
+ */
1971
+ listProjectPages(workspaceSlug: string, projectId: string, params?: any): Promise<PaginatedResponse<Page>>;
1972
+ /**
1973
+ * Update a project page's name, content, or both. A page that is locked or
1974
+ * archived is refused.
1975
+ *
1976
+ * Content is written through Plane's live collaboration service, which owns the
1977
+ * document. If it is unreachable the API answers 502 and nothing is written,
1978
+ * rather than leaving the editor showing the old text.
1979
+ */
1980
+ updateProjectPage(workspaceSlug: string, projectId: string, pageId: string, updatePage: UpdatePage): Promise<Page>;
1981
+ /**
1982
+ * Archive a project page. Archiving is the reversible step the API requires
1983
+ * before a page can be deleted.
1984
+ */
1985
+ archiveProjectPage(workspaceSlug: string, projectId: string, pageId: string): Promise<void>;
1986
+ /**
1987
+ * Restore an archived project page
1988
+ */
1989
+ unarchiveProjectPage(workspaceSlug: string, projectId: string, pageId: string): Promise<void>;
1990
+ /**
1991
+ * Delete a project page. The page must be archived first; the API answers 400
1992
+ * "The page should be archived before deleting" otherwise.
1993
+ */
1994
+ deleteProjectPage(workspaceSlug: string, projectId: string, pageId: string): Promise<void>;
1430
1995
  /**
1431
1996
  * Retrieve workspace page
1432
1997
  */
@@ -1515,61 +2080,8 @@ export declare class States extends BaseResource {
1515
2080
  list(workspaceSlug: string, projectId: string, params?: ListStatesParams): Promise<PaginatedResponse<State>>;
1516
2081
  }
1517
2082
  /**
1518
- * Member model interfaces
1519
- */
1520
- export interface Member {
1521
- id: string;
1522
- user: string;
1523
- project: string;
1524
- role: string;
1525
- created_at: string;
1526
- updated_at: string;
1527
- }
1528
- export interface CreateMember {
1529
- user: string;
1530
- project: string;
1531
- role: string;
1532
- }
1533
- export interface UpdateMember {
1534
- role?: string;
1535
- }
1536
- export interface ListMembersParams {
1537
- project?: string;
1538
- user?: string;
1539
- role?: string;
1540
- limit?: number;
1541
- offset?: number;
1542
- }
1543
- /**
1544
- * Members API resource
1545
- * Handles all team membership related operations
1546
- */
1547
- export declare class Members extends BaseResource {
1548
- constructor(config: Configuration);
1549
- /**
1550
- * Create a new member
1551
- */
1552
- create(createMember: CreateMember): Promise<Member>;
1553
- /**
1554
- * Retrieve a member by ID
1555
- */
1556
- retrieve(memberId: string): Promise<Member>;
1557
- /**
1558
- * Update a member
1559
- */
1560
- update(memberId: string, updateMember: UpdateMember): Promise<Member>;
1561
- /**
1562
- * Delete a member
1563
- */
1564
- delete(memberId: string): Promise<void>;
1565
- /**
1566
- * List members with optional filtering
1567
- */
1568
- list(params?: ListMembersParams): Promise<Member[]>;
1569
- }
1570
- /**
1571
- * Modules API resource
1572
- * Handles all module related operations
2083
+ * Modules API resource
2084
+ * Handles all module related operations
1573
2085
  */
1574
2086
  export declare class Modules extends BaseResource {
1575
2087
  constructor(config: Configuration);
@@ -1594,9 +2106,17 @@ export declare class Modules extends BaseResource {
1594
2106
  */
1595
2107
  list(workspaceSlug: string, projectId: string, params?: ListModulesParamsRequest): Promise<PaginatedResponse<Module>>;
1596
2108
  /**
1597
- * List work items in module
2109
+ * List modules as a paginated "lite" response, intended for pickers and
2110
+ * reference lookups.
2111
+ */
2112
+ listLite(workspaceSlug: string, projectId: string, params?: ListModulesLiteParams): Promise<PaginatedResponse<ModuleLite>>;
2113
+ /**
2114
+ * List work items in a module.
2115
+ *
2116
+ * Supports the same `filters` and `pql` query parameters as
2117
+ * {@link WorkItems.list}.
1598
2118
  */
1599
- listWorkItemsInModule(workspaceSlug: string, projectId: string, moduleId: string, params?: any): Promise<PaginatedResponse<WorkItem>>;
2119
+ listWorkItemsInModule(workspaceSlug: string, projectId: string, moduleId: string, params?: ListWorkItemsParams): Promise<PaginatedResponse<WorkItem>>;
1600
2120
  /**
1601
2121
  * Add work items to module
1602
2122
  */
@@ -1680,6 +2200,31 @@ export interface RemoveCycleIssuesRequestRequest {
1680
2200
  export interface TransferCycleIssueRequestRequest {
1681
2201
  new_cycle_id: string;
1682
2202
  }
2203
+ /**
2204
+ * Lite cycle shape returned by the read-only cycles-lite list endpoint.
2205
+ */
2206
+ export interface CycleLite {
2207
+ id: string;
2208
+ name: string;
2209
+ description?: string;
2210
+ start_date?: string;
2211
+ end_date?: string;
2212
+ created_at?: string;
2213
+ updated_at?: string;
2214
+ deleted_at?: string;
2215
+ [key: string]: unknown;
2216
+ }
2217
+ /**
2218
+ * Query params for the paginated cycles-lite endpoint.
2219
+ */
2220
+ export interface ListCyclesLiteParams {
2221
+ /** Filter by cycle status: current | upcoming | completed | draft */
2222
+ status?: string;
2223
+ order_by?: string;
2224
+ per_page?: number;
2225
+ cursor?: string;
2226
+ [key: string]: unknown;
2227
+ }
1683
2228
  /**
1684
2229
  * Cycles API resource
1685
2230
  * Handles all cycle (sprint) related operations
@@ -1706,6 +2251,11 @@ export declare class Cycles extends BaseResource {
1706
2251
  * List cycles with optional filtering
1707
2252
  */
1708
2253
  list(workspaceSlug: string, projectId: string): Promise<PaginatedResponse<Cycle>>;
2254
+ /**
2255
+ * List cycles as a paginated "lite" response, intended for pickers and
2256
+ * reference lookups. Accepts an optional status filter.
2257
+ */
2258
+ listLite(workspaceSlug: string, projectId: string, params?: ListCyclesLiteParams): Promise<PaginatedResponse<CycleLite>>;
1709
2259
  /**
1710
2260
  * List archived cycles
1711
2261
  */
@@ -1719,9 +2269,12 @@ export declare class Cycles extends BaseResource {
1719
2269
  */
1720
2270
  archive(workspaceSlug: string, projectId: string, cycleId: string): Promise<void>;
1721
2271
  /**
1722
- * List work items in cycle
2272
+ * List work items in a cycle.
2273
+ *
2274
+ * Supports the same `filters` and `pql` query parameters as
2275
+ * {@link WorkItems.list}.
1723
2276
  */
1724
- listWorkItemsInCycle(workspaceSlug: string, projectId: string, cycleId: string, params?: any): Promise<PaginatedResponse<WorkItem>>;
2277
+ listWorkItemsInCycle(workspaceSlug: string, projectId: string, cycleId: string, params?: ListWorkItemsParams): Promise<PaginatedResponse<WorkItem>>;
1725
2278
  /**
1726
2279
  * Add work items to cycle
1727
2280
  */
@@ -1745,19 +2298,34 @@ export declare class Users extends BaseResource {
1745
2298
  * Get current user information
1746
2299
  */
1747
2300
  me(): Promise<User>;
2301
+ /**
2302
+ * Upload a user asset (avatar or cover)
2303
+ */
2304
+ uploadAsset(assetData: UserAssetUploadRequest): Promise<UserAssetUploadResponse>;
1748
2305
  }
1749
2306
  /**
1750
2307
  * Workspace Features model interfaces
2308
+ *
2309
+ * All fields are optional so a caller can toggle a single feature; the update
2310
+ * endpoint is a partial (PATCH) that only applies the fields that are sent.
1751
2311
  */
1752
2312
  export interface WorkspaceFeatures {
1753
- project_grouping: boolean;
1754
- initiatives: boolean;
1755
- teams: boolean;
1756
- customers: boolean;
1757
- wiki: boolean;
1758
- pi: boolean;
1759
- }
1760
- export type UpdateWorkspaceFeatures = Partial<WorkspaceFeatures>;
2313
+ project_grouping?: boolean;
2314
+ initiatives?: boolean;
2315
+ teams?: boolean;
2316
+ customers?: boolean;
2317
+ wiki?: boolean;
2318
+ pi?: boolean;
2319
+ work_item_types?: boolean;
2320
+ releases?: boolean;
2321
+ /**
2322
+ * Read-only: reports whether states and workflows live at the workspace
2323
+ * level (workspace governance). Only the governance migration can change
2324
+ * it — the update endpoint rejects it as an input.
2325
+ */
2326
+ states_owned_by_workspace?: boolean;
2327
+ }
2328
+ export type UpdateWorkspaceFeatures = Partial<Omit<WorkspaceFeatures, "states_owned_by_workspace">>;
1761
2329
  /**
1762
2330
  * Workspace API resource
1763
2331
  * Handles all workspace-related operations
@@ -1765,9 +2333,21 @@ export type UpdateWorkspaceFeatures = Partial<WorkspaceFeatures>;
1765
2333
  export declare class Workspace extends BaseResource {
1766
2334
  constructor(config: Configuration);
1767
2335
  /**
1768
- * Get workspace members
2336
+ * Get workspace members with their role information.
2337
+ */
2338
+ getMembers(workspaceSlug: string): Promise<WorkspaceMember[]>;
2339
+ /**
2340
+ * List workspace members as a paginated "lite" response.
2341
+ * Unlike getMembers() (which returns a bare list), this returns a
2342
+ * cursor-paginated envelope.
2343
+ */
2344
+ getMembersLite(workspaceSlug: string, params?: ListMembersLiteParams): Promise<PaginatedResponse<WorkspaceMember>>;
2345
+ /**
2346
+ * Aggregate count of project members by role across the workspace.
2347
+ * Counts span all active (non-archived) projects and include both built-in
2348
+ * and custom roles.
1769
2349
  */
1770
- getMembers(workspaceSlug: string): Promise<User[]>;
2350
+ getProjectRoleDistribution(workspaceSlug: string): Promise<ProjectRoleDistribution>;
1771
2351
  /**
1772
2352
  * Retrieve workspace features
1773
2353
  */
@@ -1777,683 +2357,2564 @@ export declare class Workspace extends BaseResource {
1777
2357
  */
1778
2358
  updateFeatures(workspaceSlug: string, updateFeatures: UpdateWorkspaceFeatures): Promise<WorkspaceFeatures>;
1779
2359
  }
1780
- export interface Epic {
1781
- id?: string;
1782
- deleted_at?: string;
1783
- created_at?: string;
1784
- updated_at?: string;
1785
- point?: number;
2360
+ /**
2361
+ * Estimate model interfaces
2362
+ * An estimate is the sizing scale configured for a project (categories, points, or time).
2363
+ */
2364
+ export type EstimateType = "categories" | "points" | "time";
2365
+ export interface Estimate {
2366
+ id: string;
1786
2367
  name: string;
1787
- description?: any;
1788
- description_html?: string;
1789
- description_stripped?: string;
1790
- description_binary?: string;
1791
- priority?: PriorityEnum;
1792
- start_date?: string;
1793
- target_date?: string;
1794
- sequence_id?: number;
1795
- sort_order?: number;
1796
- completed_at?: string;
1797
- archived_at?: string;
1798
- is_draft?: boolean;
1799
- external_source?: string;
2368
+ description?: string;
2369
+ type?: EstimateType;
2370
+ last_used?: boolean;
1800
2371
  external_id?: string;
2372
+ external_source?: string;
2373
+ created_at?: string;
2374
+ updated_at?: string;
1801
2375
  created_by?: string;
1802
2376
  updated_by?: string;
1803
- project: string;
1804
- workspace: string;
1805
- parent?: string;
1806
- state?: string;
1807
- estimate_point?: string;
1808
- type?: string;
1809
- assignees?: string[];
1810
- labels?: string[];
2377
+ project?: string;
2378
+ workspace?: string;
2379
+ }
2380
+ export interface CreateEstimateRequest {
2381
+ name: string;
2382
+ description?: string;
2383
+ type?: EstimateType;
2384
+ last_used?: boolean;
2385
+ external_id?: string;
2386
+ external_source?: string;
1811
2387
  }
1812
2388
  /**
1813
- * Epics API resource
1814
- * Handles all epic-related operations
2389
+ * Only name, description, external_id, and external_source are updatable.
1815
2390
  */
1816
- export declare class Epics extends BaseResource {
1817
- constructor(config: Configuration);
1818
- /**
1819
- * Retrieve an epic by ID
1820
- */
1821
- retrieve(workspaceSlug: string, projectId: string, epicId: string): Promise<Epic>;
1822
- /**
1823
- * List epics with optional filtering
1824
- */
1825
- list(workspaceSlug: string, projectId: string, params?: any): Promise<PaginatedResponse<Epic>>;
2391
+ export interface UpdateEstimateRequest {
2392
+ name?: string;
2393
+ description?: string;
2394
+ external_id?: string;
2395
+ external_source?: string;
1826
2396
  }
1827
- export interface IntakeWorkItem {
2397
+ /**
2398
+ * An individual value within an estimate scale (e.g. "1", "2", "3" for story points).
2399
+ */
2400
+ export interface EstimatePoint {
1828
2401
  id: string;
1829
- issue_detail?: WorkItem;
1830
- inbox?: string;
2402
+ estimate?: string;
2403
+ key?: number;
2404
+ value: string;
2405
+ description?: string;
2406
+ external_id?: string;
2407
+ external_source?: string;
1831
2408
  created_at?: string;
1832
2409
  updated_at?: string;
1833
- deleted_at?: string;
1834
- status?: IntakeWorkItemStatusEnum;
1835
- snoozed_till?: string;
1836
- source?: string;
1837
- source_email?: string;
1838
- external_source?: string;
1839
- external_id?: string;
1840
- extra?: any;
1841
2410
  created_by?: string;
1842
2411
  updated_by?: string;
1843
2412
  project?: string;
1844
2413
  workspace?: string;
1845
- intake: string;
1846
- issue?: string;
1847
- duplicate_to?: string;
1848
- }
1849
- export interface IntakeWorkItemCreateRequest {
1850
- issue: WorkItemForIntakeRequest;
1851
- intake?: string;
1852
- status?: IntakeWorkItemStatusEnum;
1853
- snoozed_till?: string;
1854
- duplicate_to?: string;
1855
- source?: string;
1856
- source_email?: string;
1857
2414
  }
1858
- export type IntakeWorkItemStatusEnum = number;
1859
- export interface WorkItemForIntakeRequest {
1860
- name: string;
1861
- description_html?: string;
1862
- priority?: PriorityEnum;
2415
+ export interface CreateEstimatePointRequest {
2416
+ /** Max length 20 characters */
2417
+ value: string;
2418
+ key?: number;
2419
+ description?: string;
2420
+ external_id?: string;
2421
+ external_source?: string;
1863
2422
  }
1864
- export interface UpdateIntakeWorkItemRequest {
1865
- status?: IntakeWorkItemStatusEnum;
1866
- snoozed_till?: string;
1867
- duplicate_to?: string;
1868
- source?: string;
1869
- source_email?: string;
1870
- issue?: WorkItemForIntakeRequest;
2423
+ export interface UpdateEstimatePointRequest {
2424
+ key?: number;
2425
+ /** Max length 20 characters */
2426
+ value?: string;
2427
+ description?: string;
2428
+ external_id?: string;
2429
+ external_source?: string;
1871
2430
  }
1872
2431
  /**
1873
- * Intake API resource
1874
- * Handles all intake issue operations
2432
+ * Estimates API resource
2433
+ * Manages project estimates and estimate points
1875
2434
  */
1876
- export declare class Intake extends BaseResource {
2435
+ export declare class Estimates extends BaseResource {
1877
2436
  constructor(config: Configuration);
1878
2437
  /**
1879
- * Retrieve an intake issue by ID
2438
+ * Create a new estimate for a project
1880
2439
  */
1881
- retrieve(workspaceSlug: string, projectId: string, intakeId: string): Promise<IntakeWorkItem>;
2440
+ create(workspaceSlug: string, projectId: string, createEstimate: CreateEstimateRequest): Promise<Estimate>;
1882
2441
  /**
1883
- * List intake issues
2442
+ * Retrieve the estimate configured for a project
1884
2443
  */
1885
- list(workspaceSlug: string, projectId: string, params?: any): Promise<PaginatedResponse<IntakeWorkItem>>;
2444
+ retrieve(workspaceSlug: string, projectId: string): Promise<Estimate>;
1886
2445
  /**
1887
- * Create an intake issue
2446
+ * Update the estimate for a project
1888
2447
  */
1889
- create(workspaceSlug: string, projectId: string, intakeData: IntakeWorkItemCreateRequest): Promise<IntakeWorkItem>;
2448
+ update(workspaceSlug: string, projectId: string, updateEstimate: UpdateEstimateRequest): Promise<Estimate>;
1890
2449
  /**
1891
- * Update an intake issue
2450
+ * Delete the estimate for a project
1892
2451
  */
1893
- update(workspaceSlug: string, projectId: string, intakeId: string, updateData: UpdateIntakeWorkItemRequest): Promise<IntakeWorkItem>;
2452
+ delete(workspaceSlug: string, projectId: string): Promise<void>;
1894
2453
  /**
1895
- * Delete an intake issue
2454
+ * Link an estimate to a project so it becomes the active estimate system.
2455
+ * Delegates to the project update endpoint (PATCH .../projects/{projectId}).
1896
2456
  */
1897
- delete(workspaceSlug: string, projectId: string, intakeId: string): Promise<void>;
2457
+ linkToProject(workspaceSlug: string, projectId: string, estimateId: string): Promise<Project>;
2458
+ /**
2459
+ * List all estimate points for a project estimate
2460
+ */
2461
+ listPoints(workspaceSlug: string, projectId: string, estimateId: string): Promise<EstimatePoint[]>;
2462
+ /**
2463
+ * Create estimate points for a project estimate.
2464
+ * The API accepts a JSON array directly as the request body.
2465
+ */
2466
+ createPoints(workspaceSlug: string, projectId: string, estimateId: string, points: CreateEstimatePointRequest[]): Promise<EstimatePoint[]>;
2467
+ /**
2468
+ * Update a single estimate point
2469
+ */
2470
+ updatePoint(workspaceSlug: string, projectId: string, estimateId: string, estimatePointId: string, updatePoint: UpdateEstimatePointRequest): Promise<EstimatePoint>;
2471
+ /**
2472
+ * Delete a single estimate point
2473
+ */
2474
+ deletePoint(workspaceSlug: string, projectId: string, estimateId: string, estimatePointId: string): Promise<void>;
1898
2475
  }
1899
2476
  /**
1900
- * Sticky model interfaces
2477
+ * Role model interfaces
2478
+ *
2479
+ * Roles are defined at the workspace level. namespace "workspace" covers
2480
+ * workspace-level roles (Owner / Admin / Member / Guest); namespace "project"
2481
+ * covers the project-role definitions shared by every project in the workspace
2482
+ * (Admin / Contributor / Commenter / Guest).
1901
2483
  */
1902
- export interface Sticky extends BaseModel {
2484
+ export type RoleNamespace = "workspace" | "project";
2485
+ export interface Role {
2486
+ id?: string;
1903
2487
  name?: string;
1904
- description?: Record<string, any>;
1905
- description_html?: string;
1906
- description_stripped?: string;
1907
- description_binary?: string;
1908
- logo_props?: LogoProps;
1909
- color?: string;
1910
- background_color?: string;
1911
- workspace: string;
1912
- owner: string;
1913
- sort_order: number;
2488
+ /**
2489
+ * Stable identifier to use in code. Not globally unique — e.g. "admin" and
2490
+ * "guest" exist in both namespaces — so key roles by (namespace, slug).
2491
+ */
2492
+ slug?: string;
2493
+ namespace?: RoleNamespace | string;
2494
+ level?: number;
2495
+ is_system?: boolean;
2496
+ [key: string]: unknown;
1914
2497
  }
1915
- export type CreateSticky = Omit<Sticky, "id" | "created_at" | "updated_at" | "deleted_at" | "created_by" | "updated_by" | "workspace" | "owner" | "sort_order" | "description_binary" | "description_stripped" | "description">;
1916
- export type UpdateSticky = Partial<CreateSticky>;
1917
- export interface ListStickiesParams {
1918
- limit?: number;
1919
- offset?: number;
1920
- [key: string]: any;
2498
+ export interface ListRolesParams {
2499
+ /** Filter by namespace. When omitted, both are returned. */
2500
+ namespace?: RoleNamespace;
2501
+ /** Number of results per page (server default 20) */
2502
+ per_page?: number;
2503
+ /** Pagination cursor from a previous response's next_cursor */
2504
+ cursor?: string;
1921
2505
  }
1922
2506
  /**
1923
- * Sticky API resource
1924
- * Handles all sticky related operations
2507
+ * Roles API resource
2508
+ * Read-only access to workspace and project role definitions.
2509
+ *
2510
+ * Roles are defined at the workspace level. The project-role definitions are
2511
+ * shared by every project in the workspace — there is no per-project roles
2512
+ * endpoint, so this resource takes no project id.
1925
2513
  */
1926
- export declare class Stickies extends BaseResource {
2514
+ export declare class Roles extends BaseResource {
1927
2515
  constructor(config: Configuration);
1928
2516
  /**
1929
- * Create a new sticky
1930
- */
1931
- create(workspaceSlug: string, createSticky: CreateSticky): Promise<Sticky>;
1932
- /**
1933
- * Retrieve a sticky by ID
1934
- */
1935
- retrieve(workspaceSlug: string, stickyId: string): Promise<Sticky>;
1936
- /**
1937
- * Update a sticky
1938
- */
1939
- update(workspaceSlug: string, stickyId: string, updateSticky: UpdateSticky): Promise<Sticky>;
1940
- /**
1941
- * Delete a sticky
2517
+ * List role definitions in a workspace.
2518
+ * Filter with params.namespace ("workspace" | "project"); when omitted,
2519
+ * both are returned, ordered by namespace, sort order, then name.
1942
2520
  */
1943
- delete(workspaceSlug: string, stickyId: string): Promise<void>;
2521
+ list(workspaceSlug: string, params?: ListRolesParams): Promise<PaginatedResponse<Role>>;
1944
2522
  /**
1945
- * List stickies with optional filtering
2523
+ * Retrieve a single role definition by id
1946
2524
  */
1947
- list(workspaceSlug: string, params?: ListStickiesParams): Promise<PaginatedResponse<Sticky>>;
2525
+ retrieve(workspaceSlug: string, roleId: string): Promise<Role>;
1948
2526
  }
1949
2527
  /**
1950
- * Teamspace model interfaces
2528
+ * Collection model interfaces
2529
+ * A collection is a folder that groups workspace pages.
1951
2530
  */
1952
- export interface Teamspace extends BaseModel {
1953
- name: string;
1954
- description_json?: Record<string, any>;
1955
- description_html?: string;
1956
- description_stripped?: string;
1957
- description_binary?: string;
2531
+ /** Access level of a collection: 0 = public, 1 = private */
2532
+ export declare const CollectionAccess: {
2533
+ readonly PUBLIC: 0;
2534
+ readonly PRIVATE: 1;
2535
+ };
2536
+ export type CollectionAccessEnum = (typeof CollectionAccess)[keyof typeof CollectionAccess];
2537
+ /** Access level of a member within a collection: 0 = view, 1 = comment, 2 = edit */
2538
+ export declare const CollectionMemberAccess: {
2539
+ readonly VIEW: 0;
2540
+ readonly COMMENT: 1;
2541
+ readonly EDIT: 2;
2542
+ };
2543
+ export type CollectionMemberAccessEnum = (typeof CollectionMemberAccess)[keyof typeof CollectionMemberAccess];
2544
+ export interface Collection {
2545
+ id: string;
2546
+ name?: string;
2547
+ owned_by_id?: string;
2548
+ access?: CollectionAccessEnum;
2549
+ current_user_access?: CollectionMemberAccessEnum;
2550
+ has_pages?: boolean;
2551
+ is_default?: boolean;
2552
+ is_global?: boolean;
1958
2553
  logo_props?: LogoProps;
1959
- lead?: string;
1960
- workspace: string;
2554
+ sort_order?: number;
2555
+ workspace?: string;
2556
+ created_at?: string;
2557
+ updated_at?: string;
2558
+ created_by?: string;
2559
+ updated_by?: string;
2560
+ [key: string]: unknown;
1961
2561
  }
1962
- export type CreateTeamspace = Omit<Teamspace, "id" | "created_at" | "updated_at" | "deleted_at" | "created_by" | "updated_by" | "workspace">;
1963
- export type UpdateTeamspace = Partial<CreateTeamspace>;
1964
- export interface ListTeamspacesParams {
1965
- limit?: number;
1966
- offset?: number;
1967
- [key: string]: any;
2562
+ export interface CreateCollection {
2563
+ name: string;
2564
+ access?: CollectionAccessEnum;
2565
+ logo_props?: LogoProps;
1968
2566
  }
1969
- export interface AddTeamspaceProjectsRequest {
1970
- project_ids: string[];
2567
+ /**
2568
+ * Request model for updating a collection.
2569
+ * Deliberately has no `access` field — the API rejects (400) any attempt to
2570
+ * change a collection's access level after creation.
2571
+ */
2572
+ export interface UpdateCollection {
2573
+ name?: string;
2574
+ logo_props?: LogoProps;
2575
+ sort_order?: number;
2576
+ }
2577
+ export interface CollectionMember {
2578
+ id: string;
2579
+ collection?: string;
2580
+ member?: string;
2581
+ access?: CollectionMemberAccessEnum;
2582
+ workspace?: string;
2583
+ created_at?: string;
2584
+ updated_at?: string;
2585
+ created_by?: string;
2586
+ updated_by?: string;
2587
+ [key: string]: unknown;
2588
+ }
2589
+ export interface CreateCollectionMember {
2590
+ /** User id of the member to add */
2591
+ member: string;
2592
+ access: CollectionMemberAccessEnum;
2593
+ }
2594
+ export interface UpdateCollectionMember {
2595
+ access: CollectionMemberAccessEnum;
2596
+ }
2597
+ /**
2598
+ * Flat page-collection membership record, returned by the move/reorder endpoint.
2599
+ */
2600
+ export interface CollectionPage {
2601
+ id: string;
2602
+ collection?: string;
2603
+ page?: string;
2604
+ workspace?: string;
2605
+ sort_order?: number;
2606
+ created_at?: string;
2607
+ updated_at?: string;
2608
+ created_by?: string;
2609
+ updated_by?: string;
2610
+ [key: string]: unknown;
2611
+ }
2612
+ /**
2613
+ * Nested page object inside a CollectionBranchPage row.
2614
+ */
2615
+ export interface CollectionBranchPageDetail {
2616
+ id?: string;
2617
+ name?: string;
2618
+ logo_props?: LogoProps;
2619
+ [key: string]: unknown;
2620
+ }
2621
+ /**
2622
+ * A row in the list-pages-in-collection response, with a nested page object.
2623
+ */
2624
+ export interface CollectionBranchPage {
2625
+ page_collection_id?: string;
2626
+ collection_id?: string;
2627
+ parent_id?: string;
2628
+ sort_order?: number;
2629
+ page?: CollectionBranchPageDetail;
2630
+ [key: string]: unknown;
2631
+ }
2632
+ export interface AddCollectionPages {
2633
+ page_ids: string[];
2634
+ /** Optional explicit sort order per page id */
2635
+ sort_orders?: Record<string, number>;
2636
+ placement?: Record<string, unknown>;
2637
+ }
2638
+ /**
2639
+ * Request model for moving/reordering a page within or between collections.
2640
+ * Omit `collection` entirely to reorder the page within its current collection
2641
+ * — setting it triggers a move to that target collection.
2642
+ */
2643
+ export interface UpdateCollectionPage {
2644
+ collection?: string;
2645
+ sort_order?: number;
2646
+ placement?: Record<string, unknown>;
2647
+ }
2648
+ /**
2649
+ * A page eligible to be added to a collection.
2650
+ */
2651
+ export interface CollectionPageSearchResult {
2652
+ id: string;
2653
+ name?: string;
2654
+ logo_props?: LogoProps;
2655
+ [key: string]: unknown;
2656
+ }
2657
+ /**
2658
+ * Query params for the list-pages-in-collection endpoint.
2659
+ */
2660
+ export interface ListCollectionPagesParams {
2661
+ /** Case-insensitive substring filter on page name */
2662
+ search?: string;
2663
+ /**
2664
+ * Filter to direct children of this page within the collection.
2665
+ * Omit to return only top-level (non-sub) pages.
2666
+ */
2667
+ parent_id?: string;
2668
+ per_page?: number;
2669
+ cursor?: string;
2670
+ [key: string]: unknown;
2671
+ }
2672
+ /**
2673
+ * CollectionMembers sub-resource
2674
+ * Manages members of a (typically private) collection
2675
+ */
2676
+ declare class Members extends BaseResource {
2677
+ constructor(config: Configuration);
2678
+ /**
2679
+ * List members of a collection
2680
+ */
2681
+ list(workspaceSlug: string, collectionId: string): Promise<CollectionMember[]>;
2682
+ /**
2683
+ * Add a member to a collection
2684
+ */
2685
+ add(workspaceSlug: string, collectionId: string, memberData: CreateCollectionMember): Promise<CollectionMember>;
2686
+ /**
2687
+ * Update a collection member's access level.
2688
+ *
2689
+ * @param memberId - UUID of the CollectionMember row (not the user id)
2690
+ */
2691
+ update(workspaceSlug: string, collectionId: string, memberId: string, memberData: UpdateCollectionMember): Promise<CollectionMember>;
2692
+ /**
2693
+ * Remove a member from a collection.
2694
+ *
2695
+ * @param memberId - UUID of the CollectionMember row (not the user id)
2696
+ */
2697
+ remove(workspaceSlug: string, collectionId: string, memberId: string): Promise<void>;
2698
+ }
2699
+ /**
2700
+ * CollectionPages sub-resource
2701
+ * Manages the pages that belong to a collection
2702
+ */
2703
+ declare class Pages$2 extends BaseResource {
2704
+ constructor(config: Configuration);
2705
+ /**
2706
+ * List pages that belong to a collection.
2707
+ * Without `parent_id`, returns only top-level (non-sub) pages.
2708
+ */
2709
+ list(workspaceSlug: string, collectionId: string, params?: ListCollectionPagesParams): Promise<PaginatedResponse<CollectionBranchPage>>;
2710
+ /**
2711
+ * Add existing page(s) to a collection
2712
+ */
2713
+ add(workspaceSlug: string, collectionId: string, pagesData: AddCollectionPages): Promise<CollectionPage[]>;
2714
+ /**
2715
+ * Search pages that are not yet in a collection, to add them.
2716
+ *
2717
+ * @param search - Optional case-insensitive substring filter on page name
2718
+ */
2719
+ search(workspaceSlug: string, collectionId: string, search?: string): Promise<CollectionPageSearchResult[]>;
2720
+ /**
2721
+ * Move a page to a different collection, or reorder it within the current one.
2722
+ * Omit `collection` in the payload to just reorder.
2723
+ *
2724
+ * @param pageCollectionId - UUID of the page-collection membership row
2725
+ */
2726
+ update(workspaceSlug: string, collectionId: string, pageCollectionId: string, updateData: UpdateCollectionPage): Promise<CollectionPage>;
2727
+ /**
2728
+ * Remove a page from a collection (does not delete the page itself).
2729
+ *
2730
+ * @param pageCollectionId - UUID of the page-collection membership row
2731
+ */
2732
+ remove(workspaceSlug: string, collectionId: string, pageCollectionId: string): Promise<void>;
2733
+ }
2734
+ /**
2735
+ * Collections API resource
2736
+ * Manages collections (folders that group workspace pages) with member and
2737
+ * page sub-resources
2738
+ */
2739
+ export declare class Collections extends BaseResource {
2740
+ members: Members;
2741
+ pages: Pages$2;
2742
+ constructor(config: Configuration);
2743
+ /**
2744
+ * List all collections in a workspace
2745
+ */
2746
+ list(workspaceSlug: string): Promise<Collection[]>;
2747
+ /**
2748
+ * Create a new collection in a workspace
2749
+ */
2750
+ create(workspaceSlug: string, createCollection: CreateCollection): Promise<Collection>;
2751
+ /**
2752
+ * Retrieve a collection by ID
2753
+ */
2754
+ retrieve(workspaceSlug: string, collectionId: string): Promise<Collection>;
2755
+ /**
2756
+ * Update a collection's name, logo, or sort order.
2757
+ * A collection's access level cannot be changed after creation.
2758
+ */
2759
+ update(workspaceSlug: string, collectionId: string, updateCollection: UpdateCollection): Promise<Collection>;
2760
+ /**
2761
+ * Delete a collection.
2762
+ *
2763
+ * @param archivePages - Whether to archive the collection's pages instead of
2764
+ * leaving them unfiled. Omit to use the server's default (true). Private
2765
+ * collections always archive their pages regardless.
2766
+ */
2767
+ delete(workspaceSlug: string, collectionId: string, archivePages?: boolean): Promise<void>;
2768
+ }
2769
+ export interface Epic {
2770
+ id?: string;
2771
+ deleted_at?: string;
2772
+ created_at?: string;
2773
+ updated_at?: string;
2774
+ point?: number;
2775
+ name: string;
2776
+ description?: any;
2777
+ description_html?: string;
2778
+ description_stripped?: string;
2779
+ description_binary?: string;
2780
+ priority?: PriorityEnum;
2781
+ start_date?: string;
2782
+ target_date?: string;
2783
+ sequence_id?: number;
2784
+ sort_order?: number;
2785
+ completed_at?: string;
2786
+ archived_at?: string;
2787
+ is_draft?: boolean;
2788
+ external_source?: string;
2789
+ external_id?: string;
2790
+ created_by?: string;
2791
+ updated_by?: string;
2792
+ project: string;
2793
+ workspace: string;
2794
+ parent?: string;
2795
+ state?: string;
2796
+ estimate_point?: string;
2797
+ type?: string;
2798
+ assignees?: string[];
2799
+ labels?: string[];
2800
+ }
2801
+ export interface CreateEpic {
2802
+ name: string;
2803
+ description_html?: string;
2804
+ state_id?: string;
2805
+ parent_id?: string;
2806
+ assignee_ids?: string[];
2807
+ label_ids?: string[];
2808
+ priority?: PriorityEnum;
2809
+ start_date?: string;
2810
+ target_date?: string;
2811
+ estimate_point?: string;
2812
+ external_source?: string;
2813
+ external_id?: string;
2814
+ }
2815
+ export type UpdateEpic = Partial<CreateEpic>;
2816
+ export interface AddEpicWorkItems {
2817
+ work_item_ids: string[];
2818
+ }
2819
+ /**
2820
+ * A work item nested under an epic, as returned by the epic issues endpoints.
2821
+ */
2822
+ export interface EpicIssue {
2823
+ id: string;
2824
+ type_id?: string | null;
2825
+ parent?: string | null;
2826
+ created_at?: string;
2827
+ updated_at?: string;
2828
+ deleted_at?: string | null;
2829
+ point?: number | null;
2830
+ name: string;
2831
+ description_html?: string;
2832
+ description_stripped?: string;
2833
+ description_binary?: string | null;
2834
+ priority?: PriorityEnum;
2835
+ start_date?: string | null;
2836
+ target_date?: string | null;
2837
+ sequence_id?: number;
2838
+ sort_order?: number;
2839
+ completed_at?: string | null;
2840
+ archived_at?: string | null;
2841
+ last_activity_at?: string;
2842
+ is_draft?: boolean;
2843
+ external_source?: string | null;
2844
+ external_id?: string | null;
2845
+ created_by?: string;
2846
+ updated_by?: string | null;
2847
+ project?: string;
2848
+ workspace?: string;
2849
+ state?: string;
2850
+ estimate_point?: string | null;
2851
+ type?: string | null;
2852
+ assignees?: string[];
2853
+ labels?: string[];
2854
+ }
2855
+ /**
2856
+ * Epics API resource
2857
+ * Handles all epic-related operations
2858
+ */
2859
+ export declare class Epics extends BaseResource {
2860
+ constructor(config: Configuration);
2861
+ /**
2862
+ * Create a new epic in the specified project
2863
+ */
2864
+ create(workspaceSlug: string, projectId: string, data: CreateEpic): Promise<Epic>;
2865
+ /**
2866
+ * Retrieve an epic by ID
2867
+ */
2868
+ retrieve(workspaceSlug: string, projectId: string, epicId: string): Promise<Epic>;
2869
+ /**
2870
+ * Partially update an existing epic
2871
+ */
2872
+ update(workspaceSlug: string, projectId: string, epicId: string, data: UpdateEpic): Promise<Epic>;
2873
+ /**
2874
+ * Delete an epic
2875
+ */
2876
+ delete(workspaceSlug: string, projectId: string, epicId: string): Promise<void>;
2877
+ /**
2878
+ * List epics with optional filtering
2879
+ */
2880
+ list(workspaceSlug: string, projectId: string, params?: any): Promise<PaginatedResponse<Epic>>;
2881
+ /**
2882
+ * List work items under an epic
2883
+ */
2884
+ listIssues(workspaceSlug: string, projectId: string, epicId: string, params?: any): Promise<PaginatedResponse<EpicIssue>>;
2885
+ /**
2886
+ * Add work items as sub-issues under an epic
2887
+ */
2888
+ addIssues(workspaceSlug: string, projectId: string, epicId: string, data: AddEpicWorkItems): Promise<EpicIssue[]>;
2889
+ }
2890
+ export interface IntakeWorkItem {
2891
+ id: string;
2892
+ issue_detail?: WorkItem;
2893
+ inbox?: string;
2894
+ created_at?: string;
2895
+ updated_at?: string;
2896
+ deleted_at?: string;
2897
+ status?: IntakeWorkItemStatusEnum;
2898
+ snoozed_till?: string;
2899
+ source?: string;
2900
+ source_email?: string;
2901
+ external_source?: string;
2902
+ external_id?: string;
2903
+ extra?: any;
2904
+ created_by?: string;
2905
+ updated_by?: string;
2906
+ project?: string;
2907
+ workspace?: string;
2908
+ intake: string;
2909
+ issue?: string;
2910
+ duplicate_to?: string;
2911
+ }
2912
+ export interface IntakeWorkItemCreateRequest {
2913
+ issue: WorkItemForIntakeRequest;
2914
+ intake?: string;
2915
+ status?: IntakeWorkItemStatusEnum;
2916
+ snoozed_till?: string;
2917
+ duplicate_to?: string;
2918
+ source?: string;
2919
+ source_email?: string;
2920
+ }
2921
+ export type IntakeWorkItemStatusEnum = number;
2922
+ export interface WorkItemForIntakeRequest {
2923
+ name: string;
2924
+ description_html?: string;
2925
+ priority?: PriorityEnum;
2926
+ }
2927
+ export interface UpdateIntakeWorkItemRequest {
2928
+ status?: IntakeWorkItemStatusEnum;
2929
+ snoozed_till?: string;
2930
+ duplicate_to?: string;
2931
+ source?: string;
2932
+ source_email?: string;
2933
+ issue?: WorkItemForIntakeRequest;
2934
+ }
2935
+ /**
2936
+ * Request model for updating the triage status of an intake work item.
2937
+ */
2938
+ export interface UpdateIntakeStatusRequest {
2939
+ status?: IntakeWorkItemStatusEnum;
2940
+ snoozed_till?: string;
2941
+ duplicate_to?: string;
2942
+ }
2943
+ /**
2944
+ * Intake API resource
2945
+ * Handles all intake issue operations
2946
+ */
2947
+ export declare class Intake extends BaseResource {
2948
+ constructor(config: Configuration);
2949
+ /**
2950
+ * Retrieve an intake issue by ID
2951
+ */
2952
+ retrieve(workspaceSlug: string, projectId: string, intakeId: string): Promise<IntakeWorkItem>;
2953
+ /**
2954
+ * List intake issues
2955
+ */
2956
+ list(workspaceSlug: string, projectId: string, params?: any): Promise<PaginatedResponse<IntakeWorkItem>>;
2957
+ /**
2958
+ * Create an intake issue
2959
+ */
2960
+ create(workspaceSlug: string, projectId: string, intakeData: IntakeWorkItemCreateRequest): Promise<IntakeWorkItem>;
2961
+ /**
2962
+ * Update an intake issue
2963
+ */
2964
+ update(workspaceSlug: string, projectId: string, intakeId: string, updateData: UpdateIntakeWorkItemRequest): Promise<IntakeWorkItem>;
2965
+ /**
2966
+ * Update the triage status of an intake work item.
2967
+ *
2968
+ * @param workItemId - UUID of the underlying work item (the `issue` field
2969
+ * from the IntakeWorkItem response, not the intake issue ID)
2970
+ */
2971
+ updateStatus(workspaceSlug: string, projectId: string, workItemId: string, statusData: UpdateIntakeStatusRequest): Promise<IntakeWorkItem>;
2972
+ /**
2973
+ * Delete an intake issue
2974
+ */
2975
+ delete(workspaceSlug: string, projectId: string, intakeId: string): Promise<void>;
2976
+ }
2977
+ /**
2978
+ * Sticky model interfaces
2979
+ */
2980
+ export interface Sticky extends BaseModel {
2981
+ name?: string;
2982
+ description?: Record<string, any>;
2983
+ description_html?: string;
2984
+ description_stripped?: string;
2985
+ description_binary?: string;
2986
+ logo_props?: LogoProps;
2987
+ color?: string;
2988
+ background_color?: string;
2989
+ workspace: string;
2990
+ owner: string;
2991
+ sort_order: number;
2992
+ }
2993
+ export type CreateSticky = Omit<Sticky, "id" | "created_at" | "updated_at" | "deleted_at" | "created_by" | "updated_by" | "workspace" | "owner" | "sort_order" | "description_binary" | "description_stripped" | "description">;
2994
+ export type UpdateSticky = Partial<CreateSticky>;
2995
+ export interface ListStickiesParams {
2996
+ limit?: number;
2997
+ offset?: number;
2998
+ [key: string]: any;
2999
+ }
3000
+ /**
3001
+ * Sticky API resource
3002
+ * Handles all sticky related operations
3003
+ */
3004
+ export declare class Stickies extends BaseResource {
3005
+ constructor(config: Configuration);
3006
+ /**
3007
+ * Create a new sticky
3008
+ */
3009
+ create(workspaceSlug: string, createSticky: CreateSticky): Promise<Sticky>;
3010
+ /**
3011
+ * Retrieve a sticky by ID
3012
+ */
3013
+ retrieve(workspaceSlug: string, stickyId: string): Promise<Sticky>;
3014
+ /**
3015
+ * Update a sticky
3016
+ */
3017
+ update(workspaceSlug: string, stickyId: string, updateSticky: UpdateSticky): Promise<Sticky>;
3018
+ /**
3019
+ * Delete a sticky
3020
+ */
3021
+ delete(workspaceSlug: string, stickyId: string): Promise<void>;
3022
+ /**
3023
+ * List stickies with optional filtering
3024
+ */
3025
+ list(workspaceSlug: string, params?: ListStickiesParams): Promise<PaginatedResponse<Sticky>>;
3026
+ }
3027
+ /**
3028
+ * Teamspace model interfaces
3029
+ */
3030
+ export interface Teamspace extends BaseModel {
3031
+ name: string;
3032
+ description_json?: Record<string, any>;
3033
+ description_html?: string;
3034
+ description_stripped?: string;
3035
+ description_binary?: string;
3036
+ logo_props?: LogoProps;
3037
+ lead?: string;
3038
+ workspace: string;
3039
+ }
3040
+ export type CreateTeamspace = Omit<Teamspace, "id" | "created_at" | "updated_at" | "deleted_at" | "created_by" | "updated_by" | "workspace">;
3041
+ export type UpdateTeamspace = Partial<CreateTeamspace>;
3042
+ export interface ListTeamspacesParams {
3043
+ limit?: number;
3044
+ offset?: number;
3045
+ [key: string]: any;
3046
+ }
3047
+ export interface AddTeamspaceProjectsRequest {
3048
+ project_ids: string[];
3049
+ }
3050
+ export interface RemoveTeamspaceProjectsRequest {
3051
+ project_ids: string[];
3052
+ }
3053
+ export interface AddTeamspaceMembersRequest {
3054
+ member_ids: string[];
3055
+ }
3056
+ export interface RemoveTeamspaceMembersRequest {
3057
+ member_ids: string[];
3058
+ }
3059
+ /**
3060
+ * Teamspace Projects API resource
3061
+ * Handles teamspace project relationships
3062
+ */
3063
+ declare class Projects$1 extends BaseResource {
3064
+ constructor(config: Configuration);
3065
+ /**
3066
+ * Get projects associated with a teamspace
3067
+ */
3068
+ list(workspaceSlug: string, teamspaceId: string, params?: {
3069
+ limit?: number;
3070
+ offset?: number;
3071
+ }): Promise<PaginatedResponse<Project>>;
3072
+ /**
3073
+ * Add projects to a teamspace
3074
+ */
3075
+ add(workspaceSlug: string, teamspaceId: string, addProjects: AddTeamspaceProjectsRequest): Promise<Project[]>;
3076
+ /**
3077
+ * Remove projects from a teamspace
3078
+ */
3079
+ remove(workspaceSlug: string, teamspaceId: string, removeProjects: RemoveTeamspaceProjectsRequest): Promise<void>;
3080
+ }
3081
+ /**
3082
+ * Teamspace Members API resource
3083
+ * Handles teamspace member relationships
3084
+ */
3085
+ declare class Members$1 extends BaseResource {
3086
+ constructor(config: Configuration);
3087
+ /**
3088
+ * Get members associated with a teamspace
3089
+ */
3090
+ list(workspaceSlug: string, teamspaceId: string, params?: {
3091
+ limit?: number;
3092
+ offset?: number;
3093
+ }): Promise<PaginatedResponse<User>>;
3094
+ /**
3095
+ * Add members to a teamspace
3096
+ */
3097
+ add(workspaceSlug: string, teamspaceId: string, addMembers: AddTeamspaceMembersRequest): Promise<User[]>;
3098
+ /**
3099
+ * Remove members from a teamspace
3100
+ */
3101
+ remove(workspaceSlug: string, teamspaceId: string, removeMembers: RemoveTeamspaceMembersRequest): Promise<void>;
3102
+ }
3103
+ /**
3104
+ * Teamspaces API resource
3105
+ * Handles all teamspace-related operations
3106
+ */
3107
+ export declare class Teamspaces extends BaseResource {
3108
+ projects: Projects$1;
3109
+ members: Members$1;
3110
+ constructor(config: Configuration);
3111
+ /**
3112
+ * Create a new teamspace
3113
+ */
3114
+ create(workspaceSlug: string, createTeamspace: CreateTeamspace): Promise<Teamspace>;
3115
+ /**
3116
+ * Retrieve a teamspace by ID
3117
+ */
3118
+ retrieve(workspaceSlug: string, teamspaceId: string): Promise<Teamspace>;
3119
+ /**
3120
+ * Update a teamspace
3121
+ */
3122
+ update(workspaceSlug: string, teamspaceId: string, updateTeamspace: UpdateTeamspace): Promise<Teamspace>;
3123
+ /**
3124
+ * Delete a teamspace
3125
+ */
3126
+ delete(workspaceSlug: string, teamspaceId: string): Promise<void>;
3127
+ /**
3128
+ * List teamspaces with optional filtering
3129
+ */
3130
+ list(workspaceSlug: string, params?: ListTeamspacesParams): Promise<PaginatedResponse<Teamspace>>;
3131
+ }
3132
+ export declare enum InitiativeState {
3133
+ DRAFT = "DRAFT",
3134
+ PLANNED = "PLANNED",
3135
+ ACTIVE = "ACTIVE",
3136
+ COMPLETED = "COMPLETED",
3137
+ CLOSED = "CLOSED"
3138
+ }
3139
+ /**
3140
+ * Initiative model interfaces
3141
+ */
3142
+ export interface Initiative extends BaseModel {
3143
+ name: string;
3144
+ description?: string;
3145
+ description_html?: string;
3146
+ description_stripped?: string;
3147
+ description_binary?: string;
3148
+ lead?: string;
3149
+ start_date?: string;
3150
+ end_date?: string;
3151
+ logo_props?: LogoProps;
3152
+ state?: InitiativeState;
3153
+ workspace: string;
3154
+ }
3155
+ export type CreateInitiative = Omit<Initiative, "id" | "created_at" | "updated_at" | "deleted_at" | "created_by" | "updated_by" | "workspace">;
3156
+ export type UpdateInitiative = Partial<CreateInitiative>;
3157
+ export interface ListInitiativesParams {
3158
+ /** Page size. Maps to the API's `per_page` query param. */
3159
+ per_page?: number;
3160
+ /** Pagination position. Use `next_cursor` from the previous response. */
3161
+ cursor?: string;
3162
+ [key: string]: any;
3163
+ }
3164
+ export interface AddInitiativeLabelsRequest {
3165
+ label_ids: string[];
3166
+ }
3167
+ export interface RemoveInitiativeLabelsRequest {
3168
+ label_ids: string[];
3169
+ }
3170
+ export interface AddInitiativeProjectsRequest {
3171
+ project_ids: string[];
3172
+ }
3173
+ export interface RemoveInitiativeProjectsRequest {
3174
+ project_ids: string[];
3175
+ }
3176
+ export interface AddInitiativeEpicsRequest {
3177
+ epic_ids: string[];
3178
+ }
3179
+ export interface RemoveInitiativeEpicsRequest {
3180
+ epic_ids: string[];
3181
+ }
3182
+ /**
3183
+ * InitiativeLabel model interfaces
3184
+ */
3185
+ export interface InitiativeLabel extends BaseModel {
3186
+ name: string;
3187
+ description?: string;
3188
+ color?: string;
3189
+ sort_order: number;
3190
+ workspace: string;
3191
+ }
3192
+ export type CreateInitiativeLabel = Omit<InitiativeLabel, "id" | "created_at" | "updated_at" | "deleted_at" | "created_by" | "updated_by" | "workspace"> & {
3193
+ sort_order?: number;
3194
+ };
3195
+ export type UpdateInitiativeLabel = Partial<CreateInitiativeLabel>;
3196
+ export interface ListInitiativeLabelsParams {
3197
+ limit?: number;
3198
+ offset?: number;
3199
+ [key: string]: any;
3200
+ }
3201
+ /**
3202
+ * Initiative Labels API resource
3203
+ * Handles initiative label relationships
3204
+ */
3205
+ declare class Labels$1 extends BaseResource {
3206
+ constructor(config: Configuration);
3207
+ /**
3208
+ * Create a new initiative label
3209
+ */
3210
+ create(workspaceSlug: string, createInitiativeLabel: CreateInitiativeLabel): Promise<InitiativeLabel>;
3211
+ /**
3212
+ * Retrieve an initiative label by ID
3213
+ */
3214
+ retrieve(workspaceSlug: string, initiativeLabelId: string): Promise<InitiativeLabel>;
3215
+ /**
3216
+ * Update an initiative label
3217
+ */
3218
+ update(workspaceSlug: string, initiativeLabelId: string, updateInitiativeLabel: UpdateInitiativeLabel): Promise<InitiativeLabel>;
3219
+ /**
3220
+ * Delete an initiative label
3221
+ */
3222
+ delete(workspaceSlug: string, initiativeLabelId: string): Promise<void>;
3223
+ /**
3224
+ * List initiative labels with optional filtering
3225
+ */
3226
+ list(workspaceSlug: string, params?: ListInitiativeLabelsParams): Promise<PaginatedResponse<InitiativeLabel>>;
3227
+ /**
3228
+ * Add labels to an initiative
3229
+ */
3230
+ addLabels(workspaceSlug: string, initiativeId: string, addLabels: AddInitiativeLabelsRequest): Promise<InitiativeLabel[]>;
3231
+ /**
3232
+ * Remove labels from an initiative
3233
+ */
3234
+ removeLabels(workspaceSlug: string, initiativeId: string, removeLabels: RemoveInitiativeLabelsRequest): Promise<void>;
3235
+ /**
3236
+ * Get labels associated with an initiative
3237
+ */
3238
+ listLabels(workspaceSlug: string, initiativeId: string, params?: {
3239
+ limit?: number;
3240
+ offset?: number;
3241
+ }): Promise<PaginatedResponse<InitiativeLabel>>;
3242
+ }
3243
+ /**
3244
+ * Initiative Projects API resource
3245
+ * Handles initiative project relationships
3246
+ */
3247
+ declare class Projects$2 extends BaseResource {
3248
+ constructor(config: Configuration);
3249
+ /**
3250
+ * Get projects associated with an initiative
3251
+ */
3252
+ list(workspaceSlug: string, initiativeId: string, params?: {
3253
+ limit?: number;
3254
+ offset?: number;
3255
+ }): Promise<PaginatedResponse<Project>>;
3256
+ /**
3257
+ * Add projects to an initiative
3258
+ */
3259
+ add(workspaceSlug: string, initiativeId: string, addProjects: AddInitiativeProjectsRequest): Promise<Project[]>;
3260
+ /**
3261
+ * Remove projects from an initiative
3262
+ */
3263
+ remove(workspaceSlug: string, initiativeId: string, removeProjects: RemoveInitiativeProjectsRequest): Promise<void>;
3264
+ }
3265
+ /**
3266
+ * Initiative Epics API resource
3267
+ * Handles initiative epic relationships
3268
+ */
3269
+ declare class Epics$1 extends BaseResource {
3270
+ constructor(config: Configuration);
3271
+ /**
3272
+ * Get epics associated with an initiative
3273
+ */
3274
+ list(workspaceSlug: string, initiativeId: string, params?: {
3275
+ limit?: number;
3276
+ offset?: number;
3277
+ }): Promise<PaginatedResponse<Epic>>;
3278
+ /**
3279
+ * Add epics to an initiative
3280
+ */
3281
+ add(workspaceSlug: string, initiativeId: string, addEpics: AddInitiativeEpicsRequest): Promise<Epic[]>;
3282
+ /**
3283
+ * Remove epics from an initiative
3284
+ */
3285
+ remove(workspaceSlug: string, initiativeId: string, removeEpics: RemoveInitiativeEpicsRequest): Promise<void>;
3286
+ }
3287
+ /**
3288
+ * Initiatives API resource
3289
+ * Handles all initiative-related operations
3290
+ */
3291
+ export declare class Initiatives extends BaseResource {
3292
+ labels: Labels$1;
3293
+ projects: Projects$2;
3294
+ epics: Epics$1;
3295
+ constructor(config: Configuration);
3296
+ /**
3297
+ * Create a new initiative
3298
+ */
3299
+ create(workspaceSlug: string, createInitiative: CreateInitiative): Promise<Initiative>;
3300
+ /**
3301
+ * Retrieve an initiative by ID
3302
+ */
3303
+ retrieve(workspaceSlug: string, initiativeId: string): Promise<Initiative>;
3304
+ /**
3305
+ * Update an initiative
3306
+ */
3307
+ update(workspaceSlug: string, initiativeId: string, updateInitiative: UpdateInitiative): Promise<Initiative>;
3308
+ /**
3309
+ * Delete an initiative
3310
+ */
3311
+ delete(workspaceSlug: string, initiativeId: string): Promise<void>;
3312
+ /**
3313
+ * List initiatives with optional filtering
3314
+ */
3315
+ list(workspaceSlug: string, params?: ListInitiativesParams): Promise<PaginatedResponse<Initiative>>;
3316
+ }
3317
+ export interface Milestone extends BaseModel {
3318
+ title: string;
3319
+ target_date?: string;
3320
+ project: string;
3321
+ workspace: string;
3322
+ }
3323
+ export interface MilestoneLite {
3324
+ id?: string;
3325
+ title: string;
3326
+ target_date?: string;
3327
+ external_source?: string;
3328
+ external_id?: string;
3329
+ created_at?: string;
3330
+ updated_at?: string;
3331
+ }
3332
+ export interface CreateMilestoneRequest {
3333
+ title: string;
3334
+ target_date?: string;
3335
+ external_source?: string;
3336
+ external_id?: string;
3337
+ }
3338
+ export interface UpdateMilestoneRequest {
3339
+ title?: string;
3340
+ target_date?: string;
3341
+ external_source?: string;
3342
+ external_id?: string;
3343
+ }
3344
+ export interface MilestoneWorkItem {
3345
+ id?: string;
3346
+ issue?: string;
3347
+ milestone?: string;
3348
+ }
3349
+ /**
3350
+ * Milestones API resource
3351
+ * Handles all milestone related operations
3352
+ */
3353
+ export declare class Milestones extends BaseResource {
3354
+ constructor(config: Configuration);
3355
+ /**
3356
+ * Create a new milestone
3357
+ */
3358
+ create(workspaceSlug: string, projectId: string, createMilestone: CreateMilestoneRequest): Promise<Milestone>;
3359
+ /**
3360
+ * Retrieve a milestone by ID
3361
+ */
3362
+ retrieve(workspaceSlug: string, projectId: string, milestoneId: string): Promise<Milestone>;
3363
+ /**
3364
+ * Update a milestone
3365
+ */
3366
+ update(workspaceSlug: string, projectId: string, milestoneId: string, updateMilestone: UpdateMilestoneRequest): Promise<Milestone>;
3367
+ /**
3368
+ * Delete a milestone
3369
+ */
3370
+ delete(workspaceSlug: string, projectId: string, milestoneId: string): Promise<void>;
3371
+ /**
3372
+ * List milestones with optional filtering
3373
+ */
3374
+ list(workspaceSlug: string, projectId: string, params?: any): Promise<PaginatedResponse<Milestone>>;
3375
+ /**
3376
+ * Add work items to a milestone
3377
+ */
3378
+ addWorkItems(workspaceSlug: string, projectId: string, milestoneId: string, issueIds: string[]): Promise<void>;
3379
+ /**
3380
+ * Remove work items from a milestone
3381
+ */
3382
+ removeWorkItems(workspaceSlug: string, projectId: string, milestoneId: string, issueIds: string[]): Promise<void>;
3383
+ /**
3384
+ * List work items in a milestone
3385
+ */
3386
+ listWorkItems(workspaceSlug: string, projectId: string, milestoneId: string, params?: any): Promise<PaginatedResponse<MilestoneWorkItem>>;
3387
+ }
3388
+ /**
3389
+ * Agent run status enum
3390
+ */
3391
+ export type AgentRunStatus = "created" | "in_progress" | "awaiting" | "completed" | "stopping" | "stopped" | "failed" | "stale";
3392
+ /**
3393
+ * Agent run type enum
3394
+ */
3395
+ export type AgentRunType = "comment_thread";
3396
+ /**
3397
+ * Agent run activity signal enum
3398
+ */
3399
+ export type AgentRunActivitySignal = "auth_request" | "continue" | "select" | "stop";
3400
+ /**
3401
+ * Agent run activity type enum
3402
+ */
3403
+ export type AgentRunActivityType = "action" | "elicitation" | "error" | "prompt" | "response" | "thought";
3404
+ /**
3405
+ * Agent Run interface
3406
+ */
3407
+ export interface AgentRun extends BaseModel {
3408
+ agent_user: string;
3409
+ comment?: string;
3410
+ source_comment?: string;
3411
+ creator: string;
3412
+ stopped_at?: string;
3413
+ stopped_by?: string;
3414
+ started_at: string;
3415
+ ended_at?: string;
3416
+ external_link?: string;
3417
+ issue?: string;
3418
+ workspace: string;
3419
+ project?: string;
3420
+ status: AgentRunStatus;
3421
+ error_metadata?: Record<string, any>;
3422
+ type: AgentRunType;
3423
+ }
3424
+ /**
3425
+ * Create agent run request interface
3426
+ */
3427
+ export interface CreateAgentRunRequest {
3428
+ agent_slug: string;
3429
+ issue?: string;
3430
+ project?: string;
3431
+ comment?: string;
3432
+ source_comment?: string;
3433
+ external_link?: string;
3434
+ type?: AgentRunType;
3435
+ }
3436
+ /**
3437
+ * Agent run activity content for action type
3438
+ */
3439
+ export interface AgentRunActivityActionContent {
3440
+ type: "action";
3441
+ action: string;
3442
+ parameters: Record<string, string>;
3443
+ }
3444
+ /**
3445
+ * Agent run activity content for other types
3446
+ */
3447
+ export interface AgentRunActivityTextContent {
3448
+ type: Exclude<AgentRunActivityType, "action">;
3449
+ body: string;
3450
+ }
3451
+ /**
3452
+ * Agent run activity content
3453
+ */
3454
+ export type AgentRunActivityContent = AgentRunActivityActionContent | AgentRunActivityTextContent;
3455
+ /**
3456
+ * Agent Run Activity interface
3457
+ */
3458
+ export interface AgentRunActivity extends BaseModel {
3459
+ agent_run: string;
3460
+ content: AgentRunActivityContent;
3461
+ content_metadata?: Record<string, any>;
3462
+ ephemeral: boolean;
3463
+ signal: AgentRunActivitySignal;
3464
+ signal_metadata?: Record<string, any>;
3465
+ comment?: string;
3466
+ actor?: string;
3467
+ type: AgentRunActivityType;
3468
+ project?: string;
3469
+ workspace: string;
3470
+ }
3471
+ /**
3472
+ * Create agent run activity request interface
3473
+ */
3474
+ export interface CreateAgentRunActivityRequest {
3475
+ content: AgentRunActivityContent;
3476
+ content_metadata?: Record<string, any>;
3477
+ signal?: AgentRunActivitySignal;
3478
+ signal_metadata?: Record<string, any>;
3479
+ type: Exclude<AgentRunActivityType, "prompt">;
3480
+ project?: string;
3481
+ }
3482
+ /**
3483
+ * Agent Run Activities API resource
3484
+ * Handles all agent run activity operations
3485
+ */
3486
+ declare class Activities$1 extends BaseResource {
3487
+ constructor(config: Configuration);
3488
+ /**
3489
+ * List activities for an agent run
3490
+ * @param workspaceSlug - The workspace slug
3491
+ * @param runId - The agent run ID
3492
+ * @param params - Optional query parameters for pagination
3493
+ * @returns Paginated list of agent run activities
3494
+ */
3495
+ list(workspaceSlug: string, runId: string, params?: {
3496
+ per_page?: number;
3497
+ cursor?: string;
3498
+ }): Promise<PaginatedResponse<AgentRunActivity>>;
3499
+ /**
3500
+ * Retrieve a specific agent run activity by ID
3501
+ * @param workspaceSlug - The workspace slug
3502
+ * @param runId - The agent run ID
3503
+ * @param activityId - The activity ID
3504
+ * @returns The agent run activity
3505
+ */
3506
+ retrieve(workspaceSlug: string, runId: string, activityId: string): Promise<AgentRunActivity>;
3507
+ /**
3508
+ * Create a new agent run activity
3509
+ * @param workspaceSlug - The workspace slug
3510
+ * @param runId - The agent run ID
3511
+ * @param data - The activity data to create
3512
+ * @returns The created agent run activity
3513
+ */
3514
+ create(workspaceSlug: string, runId: string, data: CreateAgentRunActivityRequest): Promise<AgentRunActivity>;
3515
+ }
3516
+ /**
3517
+ * Agent Runs API resource
3518
+ * Handles all agent run operations
3519
+ */
3520
+ export declare class AgentRuns extends BaseResource {
3521
+ activities: Activities$1;
3522
+ constructor(config: Configuration);
3523
+ /**
3524
+ * Create a new agent run
3525
+ * @param workspaceSlug - The workspace slug
3526
+ * @param data - The agent run data to create
3527
+ * @returns The created agent run
3528
+ */
3529
+ create(workspaceSlug: string, data: CreateAgentRunRequest): Promise<AgentRun>;
3530
+ /**
3531
+ * Retrieve an agent run by ID
3532
+ * @param workspaceSlug - The workspace slug
3533
+ * @param runId - The agent run ID
3534
+ * @returns The agent run
3535
+ */
3536
+ retrieve(workspaceSlug: string, runId: string): Promise<AgentRun>;
3537
+ }
3538
+ /**
3539
+ * Workspace-level template model interfaces
3540
+ * These are distinct from project-scoped templates (ProjectTemplate.ts)
3541
+ */
3542
+ export interface WorkspaceWorkItemTemplate extends BaseModel {
3543
+ name: string;
3544
+ description?: string;
3545
+ description_html?: string;
3546
+ template_data?: Record<string, unknown>;
3547
+ logo_props?: Record<string, unknown>;
3548
+ workspace: string;
3549
+ }
3550
+ export type CreateWorkspaceWorkItemTemplate = Pick<WorkspaceWorkItemTemplate, "name" | "description" | "description_html" | "template_data" | "logo_props">;
3551
+ export type UpdateWorkspaceWorkItemTemplate = Partial<CreateWorkspaceWorkItemTemplate>;
3552
+ export interface WorkspaceProjectTemplate extends BaseModel {
3553
+ name: string;
3554
+ description?: string;
3555
+ logo_props?: Record<string, unknown>;
3556
+ template_data?: Record<string, unknown>;
3557
+ workspace: string;
3558
+ }
3559
+ export type CreateWorkspaceProjectTemplate = Pick<WorkspaceProjectTemplate, "name" | "description" | "logo_props" | "template_data">;
3560
+ export type UpdateWorkspaceProjectTemplate = Partial<CreateWorkspaceProjectTemplate>;
3561
+ export interface WorkspacePageTemplate extends BaseModel {
3562
+ name: string;
3563
+ description?: string;
3564
+ description_html?: string;
3565
+ template_data?: Record<string, unknown>;
3566
+ logo_props?: Record<string, unknown>;
3567
+ workspace: string;
1971
3568
  }
1972
- export interface RemoveTeamspaceProjectsRequest {
1973
- project_ids: string[];
3569
+ export type CreateWorkspacePageTemplate = Pick<WorkspacePageTemplate, "name" | "description" | "description_html" | "template_data" | "logo_props">;
3570
+ export type UpdateWorkspacePageTemplate = Partial<CreateWorkspacePageTemplate>;
3571
+ /**
3572
+ * WorkspaceWorkItemTemplates sub-resource
3573
+ * Manages work item templates at the workspace level
3574
+ */
3575
+ declare class WorkItems$1 extends BaseResource {
3576
+ constructor(config: Configuration);
3577
+ list(workspaceSlug: string): Promise<WorkspaceWorkItemTemplate[]>;
3578
+ create(workspaceSlug: string, data: CreateWorkspaceWorkItemTemplate): Promise<WorkspaceWorkItemTemplate>;
3579
+ update(workspaceSlug: string, templateId: string, data: UpdateWorkspaceWorkItemTemplate): Promise<WorkspaceWorkItemTemplate>;
3580
+ del(workspaceSlug: string, templateId: string): Promise<void>;
3581
+ }
3582
+ /**
3583
+ * WorkspaceProjectTemplates sub-resource
3584
+ * Manages project templates at the workspace level
3585
+ */
3586
+ declare class Projects$3 extends BaseResource {
3587
+ constructor(config: Configuration);
3588
+ list(workspaceSlug: string): Promise<WorkspaceProjectTemplate[]>;
3589
+ create(workspaceSlug: string, data: CreateWorkspaceProjectTemplate): Promise<WorkspaceProjectTemplate>;
3590
+ update(workspaceSlug: string, templateId: string, data: UpdateWorkspaceProjectTemplate): Promise<WorkspaceProjectTemplate>;
3591
+ del(workspaceSlug: string, templateId: string): Promise<void>;
3592
+ }
3593
+ /**
3594
+ * WorkspacePageTemplates sub-resource
3595
+ * Manages page templates at the workspace level
3596
+ */
3597
+ declare class Pages$3 extends BaseResource {
3598
+ constructor(config: Configuration);
3599
+ list(workspaceSlug: string): Promise<WorkspacePageTemplate[]>;
3600
+ create(workspaceSlug: string, data: CreateWorkspacePageTemplate): Promise<WorkspacePageTemplate>;
3601
+ update(workspaceSlug: string, templateId: string, data: UpdateWorkspacePageTemplate): Promise<WorkspacePageTemplate>;
3602
+ del(workspaceSlug: string, templateId: string): Promise<void>;
3603
+ }
3604
+ /**
3605
+ * WorkspaceTemplates API resource
3606
+ * Container for workspace-level template sub-resources
3607
+ */
3608
+ export declare class WorkspaceTemplates extends BaseResource {
3609
+ workItems: WorkItems$1;
3610
+ projects: Projects$3;
3611
+ pages: Pages$3;
3612
+ constructor(config: Configuration);
3613
+ }
3614
+ /**
3615
+ * WorkspaceWorkItemTypeProperties sub-resource
3616
+ * Manages property links on workspace-level work item types
3617
+ */
3618
+ declare class Properties$1 extends BaseResource {
3619
+ constructor(config: Configuration);
3620
+ list(workspaceSlug: string, typeId: string): Promise<WorkItemProperty[]>;
3621
+ create(workspaceSlug: string, typeId: string, data: WorkspaceWorkItemTypePropertyLink): Promise<WorkItemProperty>;
3622
+ del(workspaceSlug: string, typeId: string, propertyId: string): Promise<void>;
3623
+ }
3624
+ /**
3625
+ * WorkspaceWorkItemTypes API resource
3626
+ * Manages work item types at the workspace level
3627
+ */
3628
+ export declare class WorkspaceWorkItemTypes extends BaseResource {
3629
+ properties: Properties$1;
3630
+ constructor(config: Configuration);
3631
+ list(workspaceSlug: string): Promise<WorkItemType[]>;
3632
+ create(workspaceSlug: string, data: CreateWorkItemType): Promise<WorkItemType>;
3633
+ retrieve(workspaceSlug: string, typeId: string): Promise<WorkItemType>;
3634
+ update(workspaceSlug: string, typeId: string, data: UpdateWorkItemType): Promise<WorkItemType>;
3635
+ delete(workspaceSlug: string, typeId: string): Promise<void>;
3636
+ }
3637
+ /**
3638
+ * WorkspaceWorkItemPropertyOptions sub-resource
3639
+ * Manages options on workspace-level work item properties
3640
+ */
3641
+ declare class Options$1 extends BaseResource {
3642
+ constructor(config: Configuration);
3643
+ list(workspaceSlug: string, propertyId: string): Promise<WorkItemPropertyOption[]>;
3644
+ create(workspaceSlug: string, propertyId: string, data: CreateWorkItemPropertyOption): Promise<WorkItemPropertyOption>;
3645
+ retrieve(workspaceSlug: string, propertyId: string, optionId: string): Promise<WorkItemPropertyOption>;
3646
+ update(workspaceSlug: string, propertyId: string, optionId: string, data: UpdateWorkItemPropertyOption): Promise<WorkItemPropertyOption>;
3647
+ delete(workspaceSlug: string, propertyId: string, optionId: string): Promise<void>;
3648
+ }
3649
+ /**
3650
+ * WorkspaceWorkItemProperties API resource
3651
+ * Manages work item properties at the workspace level
3652
+ */
3653
+ export declare class WorkspaceWorkItemProperties extends BaseResource {
3654
+ options: Options$1;
3655
+ constructor(config: Configuration);
3656
+ list(workspaceSlug: string): Promise<WorkItemProperty[]>;
3657
+ create(workspaceSlug: string, data: CreateWorkItemProperty): Promise<WorkItemProperty>;
3658
+ retrieve(workspaceSlug: string, propertyId: string): Promise<WorkItemProperty>;
3659
+ update(workspaceSlug: string, propertyId: string, data: UpdateWorkItemProperty): Promise<WorkItemProperty>;
3660
+ del(workspaceSlug: string, propertyId: string): Promise<void>;
3661
+ }
3662
+ /**
3663
+ * Workspace project label model interfaces
3664
+ */
3665
+ export interface WorkspaceProjectLabel extends BaseModel {
3666
+ name: string;
3667
+ color?: string;
3668
+ sort_order?: number;
3669
+ workspace: string;
3670
+ }
3671
+ export type CreateWorkspaceProjectLabel = Pick<WorkspaceProjectLabel, "name" | "color" | "sort_order">;
3672
+ export type UpdateWorkspaceProjectLabel = Partial<CreateWorkspaceProjectLabel>;
3673
+ /**
3674
+ * WorkspaceProjectLabels API resource
3675
+ * Manages project labels at the workspace level
3676
+ */
3677
+ export declare class WorkspaceProjectLabels extends BaseResource {
3678
+ constructor(config: Configuration);
3679
+ list(workspaceSlug: string): Promise<WorkspaceProjectLabel[]>;
3680
+ create(workspaceSlug: string, data: CreateWorkspaceProjectLabel): Promise<WorkspaceProjectLabel>;
3681
+ update(workspaceSlug: string, labelId: string, data: UpdateWorkspaceProjectLabel): Promise<WorkspaceProjectLabel>;
3682
+ del(workspaceSlug: string, labelId: string): Promise<void>;
3683
+ }
3684
+ /**
3685
+ * Workspace project state model interfaces
3686
+ */
3687
+ export interface WorkspaceProjectState extends BaseModel {
3688
+ name: string;
3689
+ color?: string;
3690
+ group?: string;
3691
+ sequence?: number;
3692
+ default?: boolean;
3693
+ description?: string;
3694
+ workspace: string;
3695
+ }
3696
+ export type CreateWorkspaceProjectState = Pick<WorkspaceProjectState, "name" | "color" | "group" | "sequence" | "default" | "description">;
3697
+ export type UpdateWorkspaceProjectState = Partial<CreateWorkspaceProjectState>;
3698
+ /**
3699
+ * WorkspaceProjectStates API resource
3700
+ * Manages project states at the workspace level
3701
+ */
3702
+ export declare class WorkspaceProjectStates extends BaseResource {
3703
+ constructor(config: Configuration);
3704
+ list(workspaceSlug: string): Promise<WorkspaceProjectState[]>;
3705
+ create(workspaceSlug: string, data: CreateWorkspaceProjectState): Promise<WorkspaceProjectState>;
3706
+ update(workspaceSlug: string, stateId: string, data: UpdateWorkspaceProjectState): Promise<WorkspaceProjectState>;
3707
+ del(workspaceSlug: string, stateId: string): Promise<void>;
3708
+ }
3709
+ /**
3710
+ * Work item relation definition model interfaces
3711
+ */
3712
+ export interface WorkItemRelationDefinition extends BaseModel {
3713
+ name: string;
3714
+ outward?: string;
3715
+ inward?: string;
3716
+ is_default?: boolean;
3717
+ is_active?: boolean;
3718
+ color?: string;
3719
+ sort_order?: number;
3720
+ workspace: string;
3721
+ }
3722
+ export type CreateWorkItemRelationDefinition = Pick<WorkItemRelationDefinition, "name" | "outward" | "inward" | "is_default" | "is_active" | "color" | "sort_order">;
3723
+ export type UpdateWorkItemRelationDefinition = Partial<CreateWorkItemRelationDefinition>;
3724
+ export interface ListWorkItemRelationDefinitionsParams {
3725
+ is_default?: boolean;
3726
+ is_active?: boolean;
3727
+ }
3728
+ /**
3729
+ * WorkItemRelationDefinitions API resource
3730
+ * Manages work item relation definitions at the workspace level
3731
+ */
3732
+ export declare class WorkItemRelationDefinitions extends BaseResource {
3733
+ constructor(config: Configuration);
3734
+ list(workspaceSlug: string, params?: ListWorkItemRelationDefinitionsParams): Promise<WorkItemRelationDefinition[]>;
3735
+ create(workspaceSlug: string, data: CreateWorkItemRelationDefinition): Promise<WorkItemRelationDefinition>;
3736
+ update(workspaceSlug: string, definitionId: string, data: UpdateWorkItemRelationDefinition): Promise<WorkItemRelationDefinition>;
3737
+ del(workspaceSlug: string, definitionId: string): Promise<void>;
3738
+ }
3739
+ /**
3740
+ * Release model interfaces
3741
+ */
3742
+ export type ReleaseStatus = "unreleased" | "released" | "cancelled";
3743
+ export interface Release extends BaseModel {
3744
+ name: string;
3745
+ /**
3746
+ * Returned as a nested object ({description_html, description_json, ...}),
3747
+ * not a plain string. Write it with description_html / description_json.
3748
+ */
3749
+ description?: Record<string, unknown> | string;
3750
+ start_date?: string;
3751
+ target_date?: string;
3752
+ release_date?: string;
3753
+ status?: ReleaseStatus | string;
3754
+ lead?: string;
3755
+ tag?: string;
3756
+ is_latest?: boolean;
3757
+ is_prerelease?: boolean;
3758
+ logo_props?: Record<string, unknown>;
3759
+ workspace: string;
3760
+ }
3761
+ export interface CreateRelease {
3762
+ name: string;
3763
+ description_html?: string;
3764
+ description_json?: Record<string, unknown>;
3765
+ status?: ReleaseStatus | string;
3766
+ target_date?: string;
3767
+ release_date?: string;
3768
+ lead?: string;
3769
+ tag?: string;
3770
+ is_prerelease?: boolean;
3771
+ external_source?: string;
3772
+ external_id?: string;
3773
+ }
3774
+ export type UpdateRelease = Partial<CreateRelease>;
3775
+ /**
3776
+ * A tag is a version marker (version + optional git metadata), not a label.
3777
+ */
3778
+ export interface ReleaseTag extends BaseModel {
3779
+ version: string;
3780
+ description?: string;
3781
+ commit_hash?: string;
3782
+ git_tag?: string;
3783
+ workspace: string;
3784
+ /** @deprecated Ignored by the API. Kept for backward compatibility. */
3785
+ name?: string;
3786
+ /** @deprecated Ignored by the API. Kept for backward compatibility. */
3787
+ color?: string;
3788
+ }
3789
+ export interface CreateReleaseTag {
3790
+ /** Must be unique in the workspace */
3791
+ version: string;
3792
+ description?: string;
3793
+ commit_hash?: string;
3794
+ git_tag?: string;
3795
+ /** @deprecated Ignored by the API. Kept for backward compatibility. */
3796
+ name?: string;
3797
+ /** @deprecated Ignored by the API. Kept for backward compatibility. */
3798
+ color?: string;
3799
+ }
3800
+ export interface UpdateReleaseTag {
3801
+ version?: string;
3802
+ description?: string;
3803
+ commit_hash?: string;
3804
+ git_tag?: string;
3805
+ }
3806
+ export interface ReleaseLabel extends BaseModel {
3807
+ name: string;
3808
+ color?: string;
3809
+ sort_order?: number;
3810
+ workspace: string;
3811
+ }
3812
+ export type CreateReleaseLabel = Pick<ReleaseLabel, "name" | "color">;
3813
+ export interface UpdateReleaseLabel {
3814
+ name?: string;
3815
+ color?: string;
3816
+ sort_order?: number;
3817
+ }
3818
+ export interface AddReleaseItemLabel {
3819
+ label_ids: string[];
3820
+ }
3821
+ export interface RemoveReleaseItemLabel {
3822
+ label_ids: string[];
3823
+ }
3824
+ export interface ReleaseChangelog {
3825
+ id?: string;
3826
+ /** Nested description object; write it with description_html / description_json */
3827
+ description?: Record<string, unknown> | string;
3828
+ release?: string;
3829
+ workspace?: string;
3830
+ created_at?: string;
3831
+ updated_at?: string;
3832
+ created_by?: string;
3833
+ updated_by?: string;
3834
+ [key: string]: unknown;
3835
+ }
3836
+ export interface UpdateReleaseChangelog {
3837
+ description_html?: string;
3838
+ description_json?: Record<string, unknown>;
3839
+ }
3840
+ export interface ReleaseComment {
3841
+ id?: string;
3842
+ /** Nested object ({description_html, ...}). Write it with comment_html. */
3843
+ comment?: Record<string, unknown> | string;
3844
+ is_hidden?: boolean;
3845
+ is_resolved?: boolean;
3846
+ parent?: string;
3847
+ edited_at?: string;
3848
+ created_at?: string;
3849
+ updated_at?: string;
3850
+ created_by?: string;
3851
+ updated_by?: string;
3852
+ [key: string]: unknown;
3853
+ }
3854
+ export interface CreateReleaseComment {
3855
+ comment_html: string;
3856
+ parent?: string;
3857
+ }
3858
+ export interface UpdateReleaseComment {
3859
+ comment_html?: string;
3860
+ is_resolved?: boolean;
3861
+ }
3862
+ export interface ReleaseLink {
3863
+ id?: string;
3864
+ title?: string;
3865
+ url?: string;
3866
+ metadata?: Record<string, unknown>;
3867
+ created_at?: string;
3868
+ updated_at?: string;
3869
+ workspace?: string;
3870
+ release?: string;
3871
+ }
3872
+ export interface CreateReleaseLink {
3873
+ url: string;
3874
+ title?: string;
3875
+ metadata?: Record<string, unknown>;
3876
+ }
3877
+ export interface UpdateReleaseLink {
3878
+ url?: string;
3879
+ title?: string;
3880
+ metadata?: Record<string, unknown>;
3881
+ }
3882
+ export interface ReleaseWorkItem {
3883
+ id: string;
3884
+ name?: string;
3885
+ project_id?: string;
3886
+ [key: string]: unknown;
3887
+ }
3888
+ export interface AddReleaseWorkItems {
3889
+ work_item_ids: string[];
3890
+ }
3891
+ export interface RemoveReleaseWorkItems {
3892
+ work_item_ids: string[];
3893
+ }
3894
+ /**
3895
+ * ReleaseTags sub-resource
3896
+ * Manages release tags at the workspace level
3897
+ */
3898
+ declare class Tags extends BaseResource {
3899
+ constructor(config: Configuration);
3900
+ list(workspaceSlug: string): Promise<ReleaseTag[]>;
3901
+ create(workspaceSlug: string, data: CreateReleaseTag): Promise<ReleaseTag>;
3902
+ retrieve(workspaceSlug: string, tagId: string): Promise<ReleaseTag>;
3903
+ update(workspaceSlug: string, tagId: string, data: UpdateReleaseTag): Promise<ReleaseTag>;
3904
+ delete(workspaceSlug: string, tagId: string): Promise<void>;
3905
+ }
3906
+ /**
3907
+ * ReleaseLabels sub-resource
3908
+ * Manages release labels at the workspace level
3909
+ */
3910
+ declare class Labels$2 extends BaseResource {
3911
+ constructor(config: Configuration);
3912
+ list(workspaceSlug: string): Promise<ReleaseLabel[]>;
3913
+ create(workspaceSlug: string, data: CreateReleaseLabel): Promise<ReleaseLabel>;
3914
+ retrieve(workspaceSlug: string, labelId: string): Promise<ReleaseLabel>;
3915
+ update(workspaceSlug: string, labelId: string, data: UpdateReleaseLabel): Promise<ReleaseLabel>;
3916
+ delete(workspaceSlug: string, labelId: string): Promise<void>;
3917
+ }
3918
+ /**
3919
+ * ReleaseItemLabels sub-resource
3920
+ * Manages labels assigned to a specific release
3921
+ */
3922
+ declare class ItemLabels extends BaseResource {
3923
+ constructor(config: Configuration);
3924
+ list(workspaceSlug: string, releaseId: string): Promise<ReleaseLabel[]>;
3925
+ create(workspaceSlug: string, releaseId: string, data: AddReleaseItemLabel): Promise<ReleaseLabel[]>;
3926
+ /**
3927
+ * Detach labels from a release. The API takes the label ids in the request
3928
+ * body (DELETE .../releases/{releaseId}/labels/) — there is no per-label path.
3929
+ */
3930
+ delete(workspaceSlug: string, releaseId: string, labelIds: string[]): Promise<void>;
3931
+ /**
3932
+ * @deprecated Use delete(workspaceSlug, releaseId, [labelId]) — the API
3933
+ * removes labels via ids in the request body, not a per-label path.
3934
+ */
3935
+ del(workspaceSlug: string, releaseId: string, labelId: string): Promise<void>;
3936
+ }
3937
+ /**
3938
+ * ReleaseChangelog sub-resource
3939
+ * Manages the changelog document attached to a release
3940
+ */
3941
+ declare class Changelog extends BaseResource {
3942
+ constructor(config: Configuration);
3943
+ /**
3944
+ * Retrieve the changelog for a release
3945
+ */
3946
+ retrieve(workspaceSlug: string, releaseId: string): Promise<ReleaseChangelog>;
3947
+ /**
3948
+ * Update the changelog for a release
3949
+ */
3950
+ update(workspaceSlug: string, releaseId: string, data: UpdateReleaseChangelog): Promise<ReleaseChangelog>;
3951
+ }
3952
+ /**
3953
+ * ReleaseComments sub-resource
3954
+ * Manages comments on a release
3955
+ */
3956
+ declare class Comments$1 extends BaseResource {
3957
+ constructor(config: Configuration);
3958
+ /**
3959
+ * List comments on a release
3960
+ */
3961
+ list(workspaceSlug: string, releaseId: string, params?: any): Promise<ReleaseComment[]>;
3962
+ /**
3963
+ * Retrieve a single release comment
3964
+ */
3965
+ retrieve(workspaceSlug: string, releaseId: string, commentId: string): Promise<ReleaseComment>;
3966
+ /**
3967
+ * Create a comment on a release
3968
+ */
3969
+ create(workspaceSlug: string, releaseId: string, data: CreateReleaseComment): Promise<ReleaseComment>;
3970
+ /**
3971
+ * Update a release comment
3972
+ */
3973
+ update(workspaceSlug: string, releaseId: string, commentId: string, data: UpdateReleaseComment): Promise<ReleaseComment>;
3974
+ /**
3975
+ * Delete a release comment
3976
+ */
3977
+ delete(workspaceSlug: string, releaseId: string, commentId: string): Promise<void>;
3978
+ }
3979
+ /**
3980
+ * ReleaseLinks sub-resource
3981
+ * Manages external links attached to a release
3982
+ */
3983
+ declare class Links$1 extends BaseResource {
3984
+ constructor(config: Configuration);
3985
+ /**
3986
+ * List links on a release
3987
+ */
3988
+ list(workspaceSlug: string, releaseId: string, params?: any): Promise<ReleaseLink[]>;
3989
+ /**
3990
+ * Retrieve a single release link
3991
+ */
3992
+ retrieve(workspaceSlug: string, releaseId: string, linkId: string): Promise<ReleaseLink>;
3993
+ /**
3994
+ * Create a link on a release
3995
+ */
3996
+ create(workspaceSlug: string, releaseId: string, data: CreateReleaseLink): Promise<ReleaseLink>;
3997
+ /**
3998
+ * Update a release link
3999
+ */
4000
+ update(workspaceSlug: string, releaseId: string, linkId: string, data: UpdateReleaseLink): Promise<ReleaseLink>;
4001
+ /**
4002
+ * Delete a release link
4003
+ */
4004
+ delete(workspaceSlug: string, releaseId: string, linkId: string): Promise<void>;
4005
+ }
4006
+ /**
4007
+ * ReleaseWorkItems sub-resource
4008
+ * Manages the work items attached to a release
4009
+ */
4010
+ declare class WorkItems$2 extends BaseResource {
4011
+ constructor(config: Configuration);
4012
+ /**
4013
+ * List work items attached to a release
4014
+ */
4015
+ list(workspaceSlug: string, releaseId: string, params?: any): Promise<ReleaseWorkItem[]>;
4016
+ /**
4017
+ * Attach work items to a release
4018
+ */
4019
+ create(workspaceSlug: string, releaseId: string, workItemIds: string[]): Promise<void>;
4020
+ /**
4021
+ * Detach work items from a release (ids in body)
4022
+ */
4023
+ delete(workspaceSlug: string, releaseId: string, workItemIds: string[]): Promise<void>;
4024
+ }
4025
+ /**
4026
+ * Releases API resource
4027
+ * Manages releases at the workspace level with tags, labels, item-label,
4028
+ * changelog, comment, link, and work-item sub-resources
4029
+ */
4030
+ export declare class Releases extends BaseResource {
4031
+ tags: Tags;
4032
+ labels: Labels$2;
4033
+ itemLabels: ItemLabels;
4034
+ changelog: Changelog;
4035
+ comments: Comments$1;
4036
+ links: Links$1;
4037
+ workItems: WorkItems$2;
4038
+ constructor(config: Configuration);
4039
+ list(workspaceSlug: string): Promise<Release[]>;
4040
+ retrieve(workspaceSlug: string, releaseId: string): Promise<Release>;
4041
+ create(workspaceSlug: string, data: CreateRelease): Promise<Release>;
4042
+ update(workspaceSlug: string, releaseId: string, data: UpdateRelease): Promise<Release>;
4043
+ delete(workspaceSlug: string, releaseId: string): Promise<void>;
4044
+ }
4045
+ /**
4046
+ * Workflow model interfaces
4047
+ */
4048
+ export interface Workflow extends BaseModel {
4049
+ name: string;
4050
+ description?: string;
4051
+ is_active?: boolean;
4052
+ is_default?: boolean;
4053
+ work_item_type_ids?: string[];
4054
+ project: string;
4055
+ workspace: string;
4056
+ }
4057
+ export type CreateWorkflow = Pick<Workflow, "name" | "description" | "is_active" | "work_item_type_ids">;
4058
+ export type UpdateWorkflow = Partial<CreateWorkflow>;
4059
+ export interface AttachWorkflowStates {
4060
+ state_ids: string[];
4061
+ }
4062
+ export interface WorkflowTransition extends BaseModel {
4063
+ state_id?: string;
4064
+ transition_state_id?: string;
4065
+ type?: string;
4066
+ member_ids?: string[];
4067
+ pre_rules?: Record<string, unknown>[];
4068
+ post_rules?: Record<string, unknown>[];
4069
+ workflow_state_id?: string;
4070
+ }
4071
+ export type CreateWorkflowTransition = Required<Pick<WorkflowTransition, "state_id" | "transition_state_id">> & Partial<Pick<WorkflowTransition, "type" | "member_ids" | "pre_rules" | "post_rules">>;
4072
+ export type UpdateWorkflowTransition = Partial<Pick<WorkflowTransition, "pre_rules" | "post_rules">>;
4073
+ /**
4074
+ * A state's membership row within a workflow chain. `id` is the membership
4075
+ * row's ID and `state_id` the state's own — the inverse of
4076
+ * `WorkspaceWorkflowState`, whose rows are keyed by state ID.
4077
+ */
4078
+ export interface WorkflowState {
4079
+ id?: string;
4080
+ state_id?: string;
4081
+ workflow_id?: string;
4082
+ type?: string;
4083
+ allow_issue_creation?: boolean;
4084
+ is_default?: boolean;
4085
+ created_at?: string;
4086
+ updated_at?: string;
4087
+ }
4088
+ export type UpdateWorkflowState = Partial<Pick<WorkflowState, "type" | "allow_issue_creation" | "is_default">>;
4089
+ /**
4090
+ * One workflow activity/audit entry
4091
+ */
4092
+ export interface WorkflowActivity {
4093
+ id?: string;
4094
+ verb?: string;
4095
+ field?: string;
4096
+ old_value?: unknown;
4097
+ new_value?: unknown;
4098
+ actor?: unknown;
4099
+ created_at?: string;
4100
+ }
4101
+ /**
4102
+ * Request model for approving or rejecting a work item's pending workflow
4103
+ * transition
4104
+ */
4105
+ export interface SubmitWorkItemApproval {
4106
+ type: "approve" | "reject";
1974
4107
  }
1975
- export interface AddTeamspaceMembersRequest {
1976
- member_ids: string[];
4108
+ /**
4109
+ * Response of a work item workflow approval: the state the item moved to
4110
+ */
4111
+ export interface WorkItemApprovalResult {
4112
+ state_id?: string;
1977
4113
  }
1978
- export interface RemoveTeamspaceMembersRequest {
1979
- member_ids: string[];
4114
+ /**
4115
+ * A validation/action hook attached to a workflow transition.
4116
+ * `config.secret` is masked for send_webhook handlers; the one-shot
4117
+ * `secret_plaintext` appears on create and regenerate responses only.
4118
+ */
4119
+ export interface WorkflowTransitionHook {
4120
+ id?: string;
4121
+ phase?: string;
4122
+ handler_name?: string;
4123
+ rule_type?: string;
4124
+ execution_order?: number;
4125
+ is_enabled?: boolean;
4126
+ config?: Record<string, unknown>;
4127
+ secret_plaintext?: string;
1980
4128
  }
1981
4129
  /**
1982
- * Teamspace Projects API resource
1983
- * Handles teamspace project relationships
4130
+ * Request model for creating a workflow transition hook. `phase` and
4131
+ * `handler_name` are immutable post-create.
1984
4132
  */
1985
- declare class Projects$1 extends BaseResource {
4133
+ export type CreateWorkflowTransitionHook = Pick<WorkflowTransitionHook, "phase" | "handler_name" | "config"> & Partial<Pick<WorkflowTransitionHook, "is_enabled">>;
4134
+ export type UpdateWorkflowTransitionHook = Partial<Pick<WorkflowTransitionHook, "config" | "is_enabled">>;
4135
+ /**
4136
+ * WorkflowStates sub-resource
4137
+ * Manages state attachments on a workflow
4138
+ */
4139
+ declare class States$1 extends BaseResource {
1986
4140
  constructor(config: Configuration);
1987
4141
  /**
1988
- * Get projects associated with a teamspace
4142
+ * List the states attached to a workflow
1989
4143
  */
1990
- list(workspaceSlug: string, teamspaceId: string, params?: {
1991
- limit?: number;
1992
- offset?: number;
1993
- }): Promise<PaginatedResponse<Project>>;
4144
+ list(workspaceSlug: string, projectId: string, workflowId: string): Promise<WorkflowState[]>;
1994
4145
  /**
1995
- * Add projects to a teamspace
4146
+ * Attach states to a workflow
1996
4147
  */
1997
- add(workspaceSlug: string, teamspaceId: string, addProjects: AddTeamspaceProjectsRequest): Promise<Project[]>;
4148
+ attach(workspaceSlug: string, projectId: string, workflowId: string, data: AttachWorkflowStates): Promise<void>;
1998
4149
  /**
1999
- * Remove projects from a teamspace
4150
+ * Update a state's membership row (type, allow_issue_creation, is_default)
2000
4151
  */
2001
- remove(workspaceSlug: string, teamspaceId: string, removeProjects: RemoveTeamspaceProjectsRequest): Promise<void>;
4152
+ update(workspaceSlug: string, projectId: string, workflowId: string, stateId: string, data: UpdateWorkflowState): Promise<WorkflowState | null>;
4153
+ /**
4154
+ * Detach a state from a workflow
4155
+ */
4156
+ detach(workspaceSlug: string, projectId: string, workflowId: string, stateId: string): Promise<void>;
4157
+ /**
4158
+ * Transfer work items off a state and remove it from the workflow
4159
+ */
4160
+ transfer(workspaceSlug: string, projectId: string, workflowId: string, stateId: string, newStateId: string): Promise<void>;
2002
4161
  }
2003
4162
  /**
2004
- * Teamspace Members API resource
2005
- * Handles teamspace member relationships
4163
+ * WorkflowTransitions sub-resource
4164
+ * Manages state transitions within a workflow
2006
4165
  */
2007
- declare class Members$1 extends BaseResource {
4166
+ declare class Transitions extends BaseResource {
2008
4167
  constructor(config: Configuration);
2009
4168
  /**
2010
- * Get members associated with a teamspace
4169
+ * List all state transitions for a workflow
2011
4170
  */
2012
- list(workspaceSlug: string, teamspaceId: string, params?: {
2013
- limit?: number;
2014
- offset?: number;
2015
- }): Promise<PaginatedResponse<User>>;
4171
+ list(workspaceSlug: string, projectId: string, workflowId: string): Promise<WorkflowTransition[]>;
2016
4172
  /**
2017
- * Add members to a teamspace
4173
+ * Retrieve a workflow state transition by ID
2018
4174
  */
2019
- add(workspaceSlug: string, teamspaceId: string, addMembers: AddTeamspaceMembersRequest): Promise<User[]>;
4175
+ retrieve(workspaceSlug: string, projectId: string, workflowId: string, transitionId: string): Promise<WorkflowTransition>;
2020
4176
  /**
2021
- * Remove members from a teamspace
4177
+ * Create a state transition for a workflow.
4178
+ * Returns null if the transition already exists (HTTP 400 "already exists").
2022
4179
  */
2023
- remove(workspaceSlug: string, teamspaceId: string, removeMembers: RemoveTeamspaceMembersRequest): Promise<void>;
4180
+ create(workspaceSlug: string, projectId: string, workflowId: string, data: CreateWorkflowTransition): Promise<WorkflowTransition | null>;
4181
+ /**
4182
+ * Update a workflow state transition
4183
+ */
4184
+ update(workspaceSlug: string, projectId: string, workflowId: string, transitionId: string, data: UpdateWorkflowTransition): Promise<WorkflowTransition>;
4185
+ /**
4186
+ * Delete a workflow state transition
4187
+ */
4188
+ del(workspaceSlug: string, projectId: string, workflowId: string, transitionId: string): Promise<void>;
2024
4189
  }
2025
4190
  /**
2026
- * Teamspaces API resource
2027
- * Handles all teamspace-related operations
4191
+ * WorkflowTransitionHooks sub-resource
4192
+ * Manages hooks attached to project workflow transitions
2028
4193
  */
2029
- export declare class Teamspaces extends BaseResource {
2030
- projects: Projects$1;
2031
- members: Members$1;
4194
+ declare class Hooks extends BaseResource {
2032
4195
  constructor(config: Configuration);
4196
+ private basePath;
2033
4197
  /**
2034
- * Create a new teamspace
4198
+ * List hooks on a workflow transition
2035
4199
  */
2036
- create(workspaceSlug: string, createTeamspace: CreateTeamspace): Promise<Teamspace>;
4200
+ list(workspaceSlug: string, projectId: string, workflowId: string, transitionId: string): Promise<WorkflowTransitionHook[]>;
2037
4201
  /**
2038
- * Retrieve a teamspace by ID
4202
+ * Create a hook on a workflow transition.
4203
+ * For send_webhook handlers the one-shot `secret_plaintext` is included in
4204
+ * the response of this call only.
2039
4205
  */
2040
- retrieve(workspaceSlug: string, teamspaceId: string): Promise<Teamspace>;
4206
+ create(workspaceSlug: string, projectId: string, workflowId: string, transitionId: string, data: CreateWorkflowTransitionHook): Promise<WorkflowTransitionHook>;
2041
4207
  /**
2042
- * Update a teamspace
4208
+ * Retrieve a hook by ID
2043
4209
  */
2044
- update(workspaceSlug: string, teamspaceId: string, updateTeamspace: UpdateTeamspace): Promise<Teamspace>;
4210
+ retrieve(workspaceSlug: string, projectId: string, workflowId: string, transitionId: string, hookId: string): Promise<WorkflowTransitionHook>;
2045
4211
  /**
2046
- * Delete a teamspace
4212
+ * Update a hook (`phase` and `handler_name` are immutable)
2047
4213
  */
2048
- delete(workspaceSlug: string, teamspaceId: string): Promise<void>;
4214
+ update(workspaceSlug: string, projectId: string, workflowId: string, transitionId: string, hookId: string, data: UpdateWorkflowTransitionHook): Promise<WorkflowTransitionHook>;
2049
4215
  /**
2050
- * List teamspaces with optional filtering
4216
+ * Delete a hook
2051
4217
  */
2052
- list(workspaceSlug: string, params?: ListTeamspacesParams): Promise<PaginatedResponse<Teamspace>>;
4218
+ del(workspaceSlug: string, projectId: string, workflowId: string, transitionId: string, hookId: string): Promise<void>;
2053
4219
  }
2054
- export declare enum InitiativeState {
2055
- DRAFT = "DRAFT",
2056
- PLANNED = "PLANNED",
2057
- ACTIVE = "ACTIVE",
2058
- COMPLETED = "COMPLETED",
2059
- CLOSED = "CLOSED"
4220
+ export type ListWorkflowActivitiesParams = {
4221
+ created_at__gt?: string;
4222
+ };
4223
+ /**
4224
+ * Workflows API resource
4225
+ * Handles project workflow operations and exposes states/transitions/hooks
4226
+ * sub-resources.
4227
+ *
4228
+ * Under workspace governance, workflows are managed at the workspace level
4229
+ * (see `WorkspaceWorkflows`) and project-scoped writes respond 400 with code
4230
+ * `workspace_managed`.
4231
+ */
4232
+ export declare class Workflows extends BaseResource {
4233
+ states: States$1;
4234
+ transitions: Transitions;
4235
+ hooks: Hooks;
4236
+ constructor(config: Configuration);
4237
+ /**
4238
+ * List all workflows for a project
4239
+ */
4240
+ list(workspaceSlug: string, projectId: string): Promise<Workflow[]>;
4241
+ /**
4242
+ * Create a new workflow for a project
4243
+ */
4244
+ create(workspaceSlug: string, projectId: string, data: CreateWorkflow): Promise<Workflow>;
4245
+ /**
4246
+ * Retrieve a workflow by ID
4247
+ */
4248
+ retrieve(workspaceSlug: string, projectId: string, workflowId: string): Promise<Workflow>;
4249
+ /**
4250
+ * Update a workflow by ID
4251
+ */
4252
+ update(workspaceSlug: string, projectId: string, workflowId: string, data: UpdateWorkflow): Promise<Workflow>;
4253
+ /**
4254
+ * Delete a workflow by ID.
4255
+ * The default workflow cannot be deleted.
4256
+ */
4257
+ delete(workspaceSlug: string, projectId: string, workflowId: string): Promise<void>;
4258
+ /**
4259
+ * List the workflow's activity/audit entries
4260
+ */
4261
+ activities(workspaceSlug: string, projectId: string, workflowId: string, params?: ListWorkflowActivitiesParams): Promise<WorkflowActivity[]>;
4262
+ /**
4263
+ * Approve or reject a work item's pending workflow transition
4264
+ */
4265
+ submitWorkItemApproval(workspaceSlug: string, projectId: string, workItemId: string, data: SubmitWorkItemApproval): Promise<WorkItemApprovalResult>;
2060
4266
  }
2061
4267
  /**
2062
- * Initiative model interfaces
4268
+ * Project template model interfaces
2063
4269
  */
2064
- export interface Initiative extends BaseModel {
4270
+ export interface WorkItemTemplate extends BaseModel {
2065
4271
  name: string;
2066
- description?: string;
2067
- description_html?: string;
2068
- description_stripped?: string;
2069
- description_binary?: string;
2070
- lead?: string;
2071
- start_date?: string;
2072
- end_date?: string;
2073
- logo_props?: LogoProps;
2074
- state?: InitiativeState;
4272
+ short_description?: string;
4273
+ template_data?: Record<string, unknown>;
4274
+ template_type?: string;
4275
+ project: string;
2075
4276
  workspace: string;
2076
4277
  }
2077
- export type CreateInitiative = Omit<Initiative, "id" | "created_at" | "updated_at" | "deleted_at" | "created_by" | "updated_by" | "workspace">;
2078
- export type UpdateInitiative = Partial<CreateInitiative>;
2079
- export interface ListInitiativesParams {
2080
- limit?: number;
2081
- offset?: number;
2082
- [key: string]: any;
2083
- }
2084
- export interface AddInitiativeLabelsRequest {
2085
- label_ids: string[];
2086
- }
2087
- export interface RemoveInitiativeLabelsRequest {
2088
- label_ids: string[];
2089
- }
2090
- export interface AddInitiativeProjectsRequest {
2091
- project_ids: string[];
2092
- }
2093
- export interface RemoveInitiativeProjectsRequest {
2094
- project_ids: string[];
2095
- }
2096
- export interface AddInitiativeEpicsRequest {
2097
- epic_ids: string[];
2098
- }
2099
- export interface RemoveInitiativeEpicsRequest {
2100
- epic_ids: string[];
2101
- }
2102
- /**
2103
- * InitiativeLabel model interfaces
2104
- */
2105
- export interface InitiativeLabel extends BaseModel {
4278
+ export type CreateWorkItemTemplate = Pick<WorkItemTemplate, "name" | "short_description" | "template_data">;
4279
+ export type UpdateWorkItemTemplate = Partial<CreateWorkItemTemplate>;
4280
+ export interface PageTemplate extends BaseModel {
2106
4281
  name: string;
2107
- description?: string;
2108
- color?: string;
2109
- sort_order: number;
4282
+ short_description?: string;
4283
+ template_data?: Record<string, unknown>;
4284
+ template_type?: string;
4285
+ project: string;
2110
4286
  workspace: string;
2111
4287
  }
2112
- export type CreateInitiativeLabel = Omit<InitiativeLabel, "id" | "created_at" | "updated_at" | "deleted_at" | "created_by" | "updated_by" | "workspace"> & {
2113
- sort_order?: number;
2114
- };
2115
- export type UpdateInitiativeLabel = Partial<CreateInitiativeLabel>;
2116
- export interface ListInitiativeLabelsParams {
2117
- limit?: number;
2118
- offset?: number;
2119
- [key: string]: any;
4288
+ export type CreatePageTemplate = Pick<PageTemplate, "name" | "short_description" | "template_data">;
4289
+ export type UpdatePageTemplate = Partial<CreatePageTemplate>;
4290
+ /**
4291
+ * ProjectWorkItemTemplates sub-resource
4292
+ * Manages work item templates within a project
4293
+ */
4294
+ declare class WorkItems$3 extends BaseResource {
4295
+ constructor(config: Configuration);
4296
+ /**
4297
+ * List all work item templates for a project
4298
+ */
4299
+ list(workspaceSlug: string, projectId: string): Promise<WorkItemTemplate[]>;
4300
+ /**
4301
+ * Create a new work item template for a project
4302
+ */
4303
+ create(workspaceSlug: string, projectId: string, data: CreateWorkItemTemplate): Promise<WorkItemTemplate>;
4304
+ /**
4305
+ * Update a work item template by ID
4306
+ */
4307
+ update(workspaceSlug: string, projectId: string, templateId: string, data: UpdateWorkItemTemplate): Promise<WorkItemTemplate>;
4308
+ /**
4309
+ * Delete a work item template by ID
4310
+ */
4311
+ del(workspaceSlug: string, projectId: string, templateId: string): Promise<void>;
2120
4312
  }
2121
4313
  /**
2122
- * Initiative Labels API resource
2123
- * Handles initiative label relationships
4314
+ * ProjectPageTemplates sub-resource
4315
+ * Manages page templates within a project
2124
4316
  */
2125
- declare class Labels$1 extends BaseResource {
4317
+ declare class Pages$4 extends BaseResource {
2126
4318
  constructor(config: Configuration);
2127
4319
  /**
2128
- * Create a new initiative label
4320
+ * List all page templates for a project
2129
4321
  */
2130
- create(workspaceSlug: string, createInitiativeLabel: CreateInitiativeLabel): Promise<InitiativeLabel>;
4322
+ list(workspaceSlug: string, projectId: string): Promise<PageTemplate[]>;
2131
4323
  /**
2132
- * Retrieve an initiative label by ID
4324
+ * Create a new page template for a project
2133
4325
  */
2134
- retrieve(workspaceSlug: string, initiativeLabelId: string): Promise<InitiativeLabel>;
4326
+ create(workspaceSlug: string, projectId: string, data: CreatePageTemplate): Promise<PageTemplate>;
2135
4327
  /**
2136
- * Update an initiative label
4328
+ * Update a page template by ID
2137
4329
  */
2138
- update(workspaceSlug: string, initiativeLabelId: string, updateInitiativeLabel: UpdateInitiativeLabel): Promise<InitiativeLabel>;
4330
+ update(workspaceSlug: string, projectId: string, templateId: string, data: UpdatePageTemplate): Promise<PageTemplate>;
2139
4331
  /**
2140
- * Delete an initiative label
4332
+ * Delete a page template by ID
2141
4333
  */
2142
- delete(workspaceSlug: string, initiativeLabelId: string): Promise<void>;
4334
+ del(workspaceSlug: string, projectId: string, templateId: string): Promise<void>;
4335
+ }
4336
+ /**
4337
+ * ProjectTemplates API resource
4338
+ * Container for work item and page template sub-resources
4339
+ */
4340
+ export declare class ProjectTemplates extends BaseResource {
4341
+ workItems: WorkItems$3;
4342
+ pages: Pages$4;
4343
+ constructor(config: Configuration);
4344
+ }
4345
+ /**
4346
+ * WorkspaceStates API resource
4347
+ * Manages workspace-level work-item states.
4348
+ *
4349
+ * Reads are dual-mode: under workspace governance, `list`/`retrieve` serve
4350
+ * the workspace states catalog; in ungoverned workspaces they aggregate the
4351
+ * states of every project the caller can access. Writes are only available
4352
+ * when the workspace owns states and workflows — otherwise the API responds
4353
+ * 400 with code `workspace_not_managed`. Check
4354
+ * `Workspace.retrieveFeatures(...).states_owned_by_workspace` to know which
4355
+ * mode a workspace is in.
4356
+ *
4357
+ * Not to be confused with `WorkspaceProjectStates` (`{slug}/project-states/`),
4358
+ * which manages project *lifecycle* states.
4359
+ */
4360
+ export declare class WorkspaceStates extends BaseResource {
4361
+ constructor(config: Configuration);
2143
4362
  /**
2144
- * List initiative labels with optional filtering
4363
+ * List states at workspace scope (works in both modes)
2145
4364
  */
2146
- list(workspaceSlug: string, params?: ListInitiativeLabelsParams): Promise<PaginatedResponse<InitiativeLabel>>;
4365
+ list(workspaceSlug: string, params?: ListWorkspaceStatesParams): Promise<PaginatedResponse<State>>;
2147
4366
  /**
2148
- * Add labels to an initiative
4367
+ * Retrieve a workspace state by its external ID and source
2149
4368
  */
2150
- addLabels(workspaceSlug: string, initiativeId: string, addLabels: AddInitiativeLabelsRequest): Promise<InitiativeLabel[]>;
4369
+ retrieveByExternalId(workspaceSlug: string, externalId: string, externalSource: string): Promise<State>;
2151
4370
  /**
2152
- * Remove labels from an initiative
4371
+ * Create a new workspace (catalog) state.
4372
+ * Governed workspaces only (400 `workspace_not_managed` otherwise).
4373
+ * Catalog state names are workspace-unique — a duplicate name responds 409
4374
+ * with code `state_name_in_use`.
2153
4375
  */
2154
- removeLabels(workspaceSlug: string, initiativeId: string, removeLabels: RemoveInitiativeLabelsRequest): Promise<void>;
4376
+ create(workspaceSlug: string, data: CreateWorkspaceState): Promise<State>;
2155
4377
  /**
2156
- * Get labels associated with an initiative
4378
+ * Retrieve a workspace state by ID
2157
4379
  */
2158
- listLabels(workspaceSlug: string, initiativeId: string, params?: {
2159
- limit?: number;
2160
- offset?: number;
2161
- }): Promise<PaginatedResponse<InitiativeLabel>>;
4380
+ retrieve(workspaceSlug: string, stateId: string): Promise<State>;
4381
+ /**
4382
+ * Update a workspace (catalog) state by ID.
4383
+ * Governed workspaces only. The triage state cannot be updated, and the
4384
+ * `default` flag is managed by the workflow's default state.
4385
+ */
4386
+ update(workspaceSlug: string, stateId: string, data: UpdateWorkspaceState): Promise<State>;
4387
+ /**
4388
+ * Delete a workspace (catalog) state by ID.
4389
+ * Governed workspaces only. Deletion is blocked (400) while any workflow
4390
+ * chain references the state or any work item still points at it; the
4391
+ * triage state is never deletable.
4392
+ */
4393
+ delete(workspaceSlug: string, stateId: string): Promise<void>;
2162
4394
  }
2163
4395
  /**
2164
- * Initiative Projects API resource
2165
- * Handles initiative project relationships
4396
+ * One state row in a workspace workflow's chain.
4397
+ *
4398
+ * Rows are keyed by catalog state IDs, so `id` is the state's own ID — the
4399
+ * inverse of the project-scoped `WorkflowState` (see `./Workflow`), where
4400
+ * `id` is the membership row's ID and `state_id` is the state's. The API
4401
+ * never sends `state_id` on these rows; treat `id` as the state ID.
4402
+ *
4403
+ * `transitions` embeds the outgoing transitions (with approvers) when the
4404
+ * payload is the full chain projection.
2166
4405
  */
2167
- declare class Projects$2 extends BaseResource {
4406
+ export interface WorkspaceWorkflowState {
4407
+ id?: string;
4408
+ state_id?: string;
4409
+ type?: string;
4410
+ allow_issue_creation?: boolean;
4411
+ is_default?: boolean;
4412
+ sequence?: number;
4413
+ transitions?: Record<string, unknown>[];
4414
+ }
4415
+ /**
4416
+ * Workspace workflow model (catalog list row / detail superset).
4417
+ *
4418
+ * The list endpoint returns the count fields only; `retrieve` adds the full
4419
+ * `states` chain, `project_ids`/`work_item_type_ids` usage, and
4420
+ * `referenced_resources`.
4421
+ */
4422
+ export interface WorkspaceWorkflow {
4423
+ id?: string;
4424
+ name: string;
4425
+ description?: string;
4426
+ is_default?: boolean;
4427
+ is_active?: boolean;
4428
+ workspace_id?: string;
4429
+ project_id?: string;
4430
+ states_count?: number;
4431
+ projects_count?: number;
4432
+ work_item_types_count?: number;
4433
+ project_ids?: string[];
4434
+ work_item_type_ids?: string[];
4435
+ states?: WorkspaceWorkflowState[];
4436
+ referenced_resources?: unknown;
4437
+ created_at?: string;
4438
+ updated_at?: string;
4439
+ created_by?: string;
4440
+ updated_by?: string;
4441
+ }
4442
+ export type PaginatedWorkspaceWorkflowResponse = PaginatedResponse<WorkspaceWorkflow>;
4443
+ /**
4444
+ * Request model for creating a workspace workflow (a draft until its chain
4445
+ * is configured via the states endpoints)
4446
+ */
4447
+ export type CreateWorkspaceWorkflow = {
4448
+ name: string;
4449
+ description?: string;
4450
+ };
4451
+ /**
4452
+ * Request model for updating workspace workflow metadata
4453
+ */
4454
+ export type UpdateWorkspaceWorkflow = Partial<{
4455
+ name: string;
4456
+ description: string;
4457
+ is_active: boolean;
4458
+ }>;
4459
+ /**
4460
+ * Request model for appending catalog states to a workflow's chain
4461
+ */
4462
+ export interface AddWorkspaceWorkflowStates {
4463
+ state_ids: string[];
4464
+ }
4465
+ /**
4466
+ * Request model for updating a chain membership row.
4467
+ * Changing `type` (e.g. to/from `approval`) removes the row's existing
4468
+ * transitions server-side.
4469
+ */
4470
+ export type UpdateWorkspaceWorkflowState = Partial<{
4471
+ type: string;
4472
+ allow_issue_creation: boolean;
4473
+ is_default: boolean;
4474
+ }>;
4475
+ /**
4476
+ * Request body for removing a state from a chain.
4477
+ * Orphan-gated: every work item stranded by the removal must be covered by
4478
+ * `state_mapping` (409 with an orphan report otherwise). Removing the default
4479
+ * state requires `new_default_state_id`.
4480
+ */
4481
+ export interface RemoveWorkspaceWorkflowState {
4482
+ new_default_state_id?: string;
4483
+ state_mapping?: Record<string, string>;
4484
+ }
4485
+ /**
4486
+ * One project resolving to a workflow in the usage report
4487
+ */
4488
+ export interface WorkspaceWorkflowUsageProject {
4489
+ project_id?: string;
4490
+ name?: string;
4491
+ types: (string | null)[];
4492
+ }
4493
+ /**
4494
+ * Usage report for a workspace workflow: projects/types resolving to it, plus
4495
+ * the types mandating or allowing it
4496
+ */
4497
+ export interface WorkspaceWorkflowUsage {
4498
+ projects: WorkspaceWorkflowUsageProject[];
4499
+ types_mandating: string[];
4500
+ types_allowing: string[];
4501
+ }
4502
+ /**
4503
+ * State transition within a workspace workflow
4504
+ */
4505
+ export interface WorkspaceWorkflowTransition {
4506
+ id?: string;
4507
+ workflow_state_id?: string;
4508
+ transition_state_id?: string;
4509
+ rejection_state_id?: string;
4510
+ required_approvals?: number;
4511
+ member_ids?: string[];
4512
+ pre_hooks?: Record<string, unknown>[];
4513
+ post_hooks?: Record<string, unknown>[];
4514
+ created_at?: string;
4515
+ updated_at?: string;
4516
+ }
4517
+ /**
4518
+ * Request model for creating a workspace workflow transition.
4519
+ * `state_id` is the chain state the transition starts from; `member_ids` are
4520
+ * the approvers (approval-type states only).
4521
+ */
4522
+ export type CreateWorkspaceWorkflowTransition = {
4523
+ state_id: string;
4524
+ transition_state_id: string;
4525
+ rejection_state_id?: string;
4526
+ required_approvals?: number;
4527
+ member_ids?: string[];
4528
+ };
4529
+ /**
4530
+ * Request model for updating a workspace workflow transition
4531
+ */
4532
+ export type UpdateWorkspaceWorkflowTransition = Partial<{
4533
+ transition_state_id: string;
4534
+ rejection_state_id: string;
4535
+ required_approvals: number;
4536
+ member_ids: string[];
4537
+ }>;
4538
+ /**
4539
+ * WorkspaceWorkflows.states sub-resource
4540
+ * Manages a workspace workflow's chain (state memberships)
4541
+ */
4542
+ declare class States$2 extends BaseResource {
2168
4543
  constructor(config: Configuration);
2169
4544
  /**
2170
- * Get projects associated with an initiative
4545
+ * Append catalog states to the workflow's chain.
4546
+ * Returns the updated chain rows.
2171
4547
  */
2172
- list(workspaceSlug: string, initiativeId: string, params?: {
2173
- limit?: number;
2174
- offset?: number;
2175
- }): Promise<PaginatedResponse<Project>>;
4548
+ add(workspaceSlug: string, workflowId: string, data: AddWorkspaceWorkflowStates): Promise<WorkspaceWorkflowState[]>;
2176
4549
  /**
2177
- * Add projects to an initiative
4550
+ * Update a chain membership row (type, allow_issue_creation, is_default).
4551
+ * Changing `type` removes the row's existing transitions server-side.
2178
4552
  */
2179
- add(workspaceSlug: string, initiativeId: string, addProjects: AddInitiativeProjectsRequest): Promise<Project[]>;
4553
+ update(workspaceSlug: string, workflowId: string, stateId: string, data: UpdateWorkspaceWorkflowState): Promise<WorkspaceWorkflowState>;
2180
4554
  /**
2181
- * Remove projects from an initiative
4555
+ * Remove a state from the chain.
4556
+ * Orphan-gated: every work item stranded by the removal must be covered by
4557
+ * `data.state_mapping` (409 with an orphan report otherwise). Removing the
4558
+ * default state requires `data.new_default_state_id`; transitions
4559
+ * referencing the state must be removed first.
2182
4560
  */
2183
- remove(workspaceSlug: string, initiativeId: string, removeProjects: RemoveInitiativeProjectsRequest): Promise<void>;
4561
+ remove(workspaceSlug: string, workflowId: string, stateId: string, data?: RemoveWorkspaceWorkflowState): Promise<void>;
4562
+ /**
4563
+ * Mark a chain state as the workflow's default.
4564
+ * Also force-enables work-item creation on that state.
4565
+ */
4566
+ markDefault(workspaceSlug: string, workflowId: string, stateId: string): Promise<WorkspaceWorkflowState>;
2184
4567
  }
2185
4568
  /**
2186
- * Initiative Epics API resource
2187
- * Handles initiative epic relationships
4569
+ * WorkspaceWorkflows.transitions sub-resource
4570
+ * Manages state transitions within a workspace workflow
2188
4571
  */
2189
- declare class Epics$1 extends BaseResource {
4572
+ declare class Transitions$1 extends BaseResource {
2190
4573
  constructor(config: Configuration);
2191
4574
  /**
2192
- * Get epics associated with an initiative
4575
+ * List all state transitions for a workspace workflow
2193
4576
  */
2194
- list(workspaceSlug: string, initiativeId: string, params?: {
2195
- limit?: number;
2196
- offset?: number;
2197
- }): Promise<PaginatedResponse<Epic>>;
4577
+ list(workspaceSlug: string, workflowId: string): Promise<WorkspaceWorkflowTransition[]>;
2198
4578
  /**
2199
- * Add epics to an initiative
4579
+ * Create a state transition for a workspace workflow
2200
4580
  */
2201
- add(workspaceSlug: string, initiativeId: string, addEpics: AddInitiativeEpicsRequest): Promise<Epic[]>;
4581
+ create(workspaceSlug: string, workflowId: string, data: CreateWorkspaceWorkflowTransition): Promise<WorkspaceWorkflowTransition>;
2202
4582
  /**
2203
- * Remove epics from an initiative
4583
+ * Retrieve a workspace workflow transition by ID
2204
4584
  */
2205
- remove(workspaceSlug: string, initiativeId: string, removeEpics: RemoveInitiativeEpicsRequest): Promise<void>;
4585
+ retrieve(workspaceSlug: string, workflowId: string, transitionId: string): Promise<WorkspaceWorkflowTransition>;
4586
+ /**
4587
+ * Update a workspace workflow transition
4588
+ */
4589
+ update(workspaceSlug: string, workflowId: string, transitionId: string, data: UpdateWorkspaceWorkflowTransition): Promise<WorkspaceWorkflowTransition>;
4590
+ /**
4591
+ * Delete a workspace workflow transition
4592
+ */
4593
+ del(workspaceSlug: string, workflowId: string, transitionId: string): Promise<void>;
2206
4594
  }
2207
4595
  /**
2208
- * Initiatives API resource
2209
- * Handles all initiative-related operations
4596
+ * One execution history entry for a workflow transition hook
2210
4597
  */
2211
- export declare class Initiatives extends BaseResource {
2212
- labels: Labels$1;
2213
- projects: Projects$2;
2214
- epics: Epics$1;
4598
+ export interface WorkflowTransitionHookExecution {
4599
+ id: string;
4600
+ status: string;
4601
+ started_at?: string;
4602
+ completed_at?: string;
4603
+ input_data?: unknown;
4604
+ output_data?: unknown;
4605
+ error_message?: string;
4606
+ issue_id?: string;
4607
+ }
4608
+ /**
4609
+ * WorkspaceWorkflows.hooks sub-resource
4610
+ * Manages hooks attached to workspace workflow transitions
4611
+ */
4612
+ declare class Hooks$1 extends BaseResource {
2215
4613
  constructor(config: Configuration);
4614
+ private basePath;
2216
4615
  /**
2217
- * Create a new initiative
4616
+ * List hooks on a workspace workflow transition
2218
4617
  */
2219
- create(workspaceSlug: string, createInitiative: CreateInitiative): Promise<Initiative>;
4618
+ list(workspaceSlug: string, workflowId: string, transitionId: string): Promise<WorkflowTransitionHook[]>;
2220
4619
  /**
2221
- * Retrieve an initiative by ID
4620
+ * Create a hook on a workspace workflow transition.
4621
+ * For send_webhook handlers the one-shot `secret_plaintext` is included in
4622
+ * the response of this call only.
2222
4623
  */
2223
- retrieve(workspaceSlug: string, initiativeId: string): Promise<Initiative>;
4624
+ create(workspaceSlug: string, workflowId: string, transitionId: string, data: CreateWorkflowTransitionHook): Promise<WorkflowTransitionHook>;
2224
4625
  /**
2225
- * Update an initiative
4626
+ * Retrieve a hook by ID
2226
4627
  */
2227
- update(workspaceSlug: string, initiativeId: string, updateInitiative: UpdateInitiative): Promise<Initiative>;
4628
+ retrieve(workspaceSlug: string, workflowId: string, transitionId: string, hookId: string): Promise<WorkflowTransitionHook>;
2228
4629
  /**
2229
- * Delete an initiative
4630
+ * Update a hook (`phase` and `handler_name` are immutable)
2230
4631
  */
2231
- delete(workspaceSlug: string, initiativeId: string): Promise<void>;
4632
+ update(workspaceSlug: string, workflowId: string, transitionId: string, hookId: string, data: UpdateWorkflowTransitionHook): Promise<WorkflowTransitionHook>;
2232
4633
  /**
2233
- * List initiatives with optional filtering
4634
+ * Delete a hook
2234
4635
  */
2235
- list(workspaceSlug: string, params?: ListInitiativesParams): Promise<PaginatedResponse<Initiative>>;
2236
- }
2237
- export interface Milestone extends BaseModel {
2238
- title: string;
2239
- target_date?: string;
2240
- project: string;
2241
- workspace: string;
2242
- }
2243
- export interface MilestoneLite {
2244
- id?: string;
2245
- title: string;
2246
- target_date?: string;
2247
- external_source?: string;
2248
- external_id?: string;
2249
- created_at?: string;
2250
- updated_at?: string;
2251
- }
2252
- export interface CreateMilestoneRequest {
2253
- title: string;
2254
- target_date?: string;
2255
- external_source?: string;
2256
- external_id?: string;
2257
- }
2258
- export interface UpdateMilestoneRequest {
2259
- title?: string;
2260
- target_date?: string;
2261
- external_source?: string;
2262
- external_id?: string;
2263
- }
2264
- export interface MilestoneWorkItem {
2265
- id?: string;
2266
- issue?: string;
2267
- milestone?: string;
4636
+ del(workspaceSlug: string, workflowId: string, transitionId: string, hookId: string): Promise<void>;
4637
+ /**
4638
+ * Regenerate a send_webhook hook's secret.
4639
+ * The new one-shot `secret_plaintext` is included in this response only.
4640
+ */
4641
+ regenerateSecret(workspaceSlug: string, workflowId: string, transitionId: string, hookId: string): Promise<WorkflowTransitionHook>;
4642
+ /**
4643
+ * List a hook's execution history entries
4644
+ */
4645
+ executions(workspaceSlug: string, workflowId: string, transitionId: string, hookId: string): Promise<WorkflowTransitionHookExecution[]>;
2268
4646
  }
4647
+ export type ListWorkspaceWorkflowsParams = {
4648
+ search?: string;
4649
+ is_active?: boolean;
4650
+ sort_by?: "name" | "created_at" | "updated_at";
4651
+ sort_order?: "asc" | "desc";
4652
+ cursor?: string;
4653
+ per_page?: number;
4654
+ };
4655
+ export type ListWorkspaceWorkflowActivitiesParams = {
4656
+ created_at__gt?: string;
4657
+ };
2269
4658
  /**
2270
- * Milestones API resource
2271
- * Handles all milestone related operations
4659
+ * WorkspaceWorkflows API resource
4660
+ * Manages the workspace workflow catalog (workspace governance) and exposes
4661
+ * states/transitions/hooks sub-resources.
4662
+ *
4663
+ * `list` is dual-mode: under workspace governance it serves the workspace
4664
+ * workflow catalog; in ungoverned workspaces it aggregates project workflows.
4665
+ * All writes require the workspace to own states and workflows — otherwise
4666
+ * the API responds 400 with code `workspace_not_managed`.
2272
4667
  */
2273
- export declare class Milestones extends BaseResource {
4668
+ export declare class WorkspaceWorkflows extends BaseResource {
4669
+ states: States$2;
4670
+ transitions: Transitions$1;
4671
+ hooks: Hooks$1;
2274
4672
  constructor(config: Configuration);
2275
4673
  /**
2276
- * Create a new milestone
2277
- */
2278
- create(workspaceSlug: string, projectId: string, createMilestone: CreateMilestoneRequest): Promise<Milestone>;
2279
- /**
2280
- * Retrieve a milestone by ID
4674
+ * List workspace workflows
2281
4675
  */
2282
- retrieve(workspaceSlug: string, projectId: string, milestoneId: string): Promise<Milestone>;
4676
+ list(workspaceSlug: string, params?: ListWorkspaceWorkflowsParams): Promise<PaginatedResponse<WorkspaceWorkflow>>;
2283
4677
  /**
2284
- * Update a milestone
4678
+ * Create a workspace workflow draft (configure its chain via `states`).
4679
+ * Workflow names are workspace-unique.
2285
4680
  */
2286
- update(workspaceSlug: string, projectId: string, milestoneId: string, updateMilestone: UpdateMilestoneRequest): Promise<Milestone>;
4681
+ create(workspaceSlug: string, data: CreateWorkspaceWorkflow): Promise<WorkspaceWorkflow>;
2287
4682
  /**
2288
- * Delete a milestone
4683
+ * Retrieve a workspace workflow with its full chain
2289
4684
  */
2290
- delete(workspaceSlug: string, projectId: string, milestoneId: string): Promise<void>;
4685
+ retrieve(workspaceSlug: string, workflowId: string): Promise<WorkspaceWorkflow>;
2291
4686
  /**
2292
- * List milestones with optional filtering
4687
+ * Update workspace workflow metadata (name, description, is_active)
2293
4688
  */
2294
- list(workspaceSlug: string, projectId: string, params?: any): Promise<PaginatedResponse<Milestone>>;
4689
+ update(workspaceSlug: string, workflowId: string, data: UpdateWorkspaceWorkflow): Promise<WorkspaceWorkflow>;
2295
4690
  /**
2296
- * Add work items to a milestone
4691
+ * Delete a workspace workflow.
4692
+ * The default workflow and workflows in use by projects cannot be deleted.
2297
4693
  */
2298
- addWorkItems(workspaceSlug: string, projectId: string, milestoneId: string, issueIds: string[]): Promise<void>;
4694
+ delete(workspaceSlug: string, workflowId: string): Promise<void>;
2299
4695
  /**
2300
- * Remove work items from a milestone
4696
+ * Report which projects/types resolve to this workflow, and which types
4697
+ * mandate or allow it
2301
4698
  */
2302
- removeWorkItems(workspaceSlug: string, projectId: string, milestoneId: string, issueIds: string[]): Promise<void>;
4699
+ usage(workspaceSlug: string, workflowId: string): Promise<WorkspaceWorkflowUsage>;
2303
4700
  /**
2304
- * List work items in a milestone
4701
+ * List the workflow's activity/audit entries
2305
4702
  */
2306
- listWorkItems(workspaceSlug: string, projectId: string, milestoneId: string, params?: any): Promise<PaginatedResponse<MilestoneWorkItem>>;
4703
+ activities(workspaceSlug: string, workflowId: string, params?: ListWorkspaceWorkflowActivitiesParams): Promise<WorkflowActivity[]>;
2307
4704
  }
2308
4705
  /**
2309
- * Agent run status enum
4706
+ * Minimal workflow shape for embedding (pickers, pins)
2310
4707
  */
2311
- export type AgentRunStatus = "created" | "in_progress" | "awaiting" | "completed" | "stopping" | "stopped" | "failed" | "stale";
4708
+ export interface WorkflowLite {
4709
+ id?: string;
4710
+ name?: string;
4711
+ }
2312
4712
  /**
2313
- * Agent run type enum
4713
+ * Minimal project reference in governance payloads
2314
4714
  */
2315
- export type AgentRunType = "comment_thread";
4715
+ export interface GovernanceProjectRef {
4716
+ id?: string;
4717
+ name?: string;
4718
+ }
2316
4719
  /**
2317
- * Agent run activity signal enum
4720
+ * One allowlist/mandate row, enriched with its in-use projects.
4721
+ * `locked` marks workflows a project's pick already uses — a constrained
4722
+ * allowlist must retain them.
2318
4723
  */
2319
- export type AgentRunActivitySignal = "auth_request" | "continue" | "select" | "stop";
4724
+ export interface GovernanceAllowlistEntry {
4725
+ workflow_id?: string;
4726
+ name?: string;
4727
+ in_use_by_projects: GovernanceProjectRef[];
4728
+ locked?: boolean;
4729
+ }
4730
+ export type TypeGovernanceMode = "any" | "constrained" | "required";
2320
4731
  /**
2321
- * Agent run activity type enum
4732
+ * Governance settings for a work item type: mode, required workflow, and
4733
+ * allowlist. Pins are served by the dedicated pins endpoints.
2322
4734
  */
2323
- export type AgentRunActivityType = "action" | "elicitation" | "error" | "prompt" | "response" | "thought";
4735
+ export interface TypeGovernance {
4736
+ mode?: TypeGovernanceMode;
4737
+ required_workflow?: WorkflowLite | null;
4738
+ allowlist: GovernanceAllowlistEntry[];
4739
+ }
2324
4740
  /**
2325
- * Agent Run interface
4741
+ * Request model for changing a type's governance mode.
4742
+ *
4743
+ * - `any`: no restriction; `workflow_ids`/`required_workflow_id` unused.
4744
+ * - `constrained`: `workflow_ids` is the allowlist (in-use workflows are
4745
+ * locked in). Removing picks in use requires `acknowledge` and may need a
4746
+ * `state_mapping` for orphaned work items.
4747
+ * - `required`: `required_workflow_id` mandates one workflow everywhere;
4748
+ * requires `acknowledge` and may need a `state_mapping`.
2326
4749
  */
2327
- export interface AgentRun extends BaseModel {
2328
- agent_user: string;
2329
- comment?: string;
2330
- source_comment?: string;
2331
- creator: string;
2332
- stopped_at?: string;
2333
- stopped_by?: string;
2334
- started_at: string;
2335
- ended_at?: string;
2336
- external_link?: string;
2337
- issue?: string;
2338
- workspace: string;
2339
- project?: string;
2340
- status: AgentRunStatus;
2341
- error_metadata?: Record<string, any>;
2342
- type: AgentRunType;
4750
+ export interface UpdateTypeGovernance {
4751
+ mode: TypeGovernanceMode;
4752
+ workflow_ids?: string[];
4753
+ required_workflow_id?: string;
4754
+ acknowledge?: boolean;
4755
+ state_mapping?: Record<string, string>;
2343
4756
  }
2344
4757
  /**
2345
- * Create agent run request interface
4758
+ * Request model for previewing a governance mode change (no writes)
2346
4759
  */
2347
- export interface CreateAgentRunRequest {
2348
- agent_slug: string;
2349
- issue?: string;
2350
- project?: string;
2351
- comment?: string;
2352
- source_comment?: string;
2353
- external_link?: string;
2354
- type?: AgentRunType;
4760
+ export interface TypeGovernancePreviewRequest {
4761
+ mode: TypeGovernanceMode;
4762
+ workflow_ids?: string[];
4763
+ required_workflow_id?: string;
2355
4764
  }
2356
4765
  /**
2357
- * Agent run activity content for action type
4766
+ * Dry-run impact report for a governance change or workflow fallback
2358
4767
  */
2359
- export interface AgentRunActivityActionContent {
2360
- type: "action";
2361
- action: string;
2362
- parameters: Record<string, string>;
4768
+ export interface GovernancePreview {
4769
+ total?: number;
4770
+ type_total?: number;
4771
+ per_state?: Record<string, unknown>[];
2363
4772
  }
2364
4773
  /**
2365
- * Agent run activity content for other types
4774
+ * A single project-to-workflow pin for a work item type
2366
4775
  */
2367
- export interface AgentRunActivityTextContent {
2368
- type: Exclude<AgentRunActivityType, "action">;
2369
- body: string;
4776
+ export interface WorkItemTypeWorkflowPin {
4777
+ id?: string;
4778
+ project?: GovernanceProjectRef;
4779
+ workflow?: WorkflowLite;
2370
4780
  }
2371
4781
  /**
2372
- * Agent run activity content
4782
+ * Request model for pinning a workflow across one or more projects
2373
4783
  */
2374
- export type AgentRunActivityContent = AgentRunActivityActionContent | AgentRunActivityTextContent;
4784
+ export interface CreateWorkItemTypeWorkflowPins {
4785
+ workflow_id: string;
4786
+ project_ids: string[];
4787
+ }
2375
4788
  /**
2376
- * Agent Run Activity interface
4789
+ * A pickable workflow option for a project's type
2377
4790
  */
2378
- export interface AgentRunActivity extends BaseModel {
2379
- agent_run: string;
2380
- content: AgentRunActivityContent;
2381
- content_metadata?: Record<string, any>;
2382
- ephemeral: boolean;
2383
- signal: AgentRunActivitySignal;
2384
- signal_metadata?: Record<string, any>;
2385
- comment?: string;
2386
- actor?: string;
2387
- type: AgentRunActivityType;
2388
- project?: string;
2389
- workspace: string;
4791
+ export interface WorkflowOption {
4792
+ workflow_id?: string;
4793
+ name?: string;
2390
4794
  }
2391
4795
  /**
2392
- * Create agent run activity request interface
4796
+ * One active type's governance pill, effective workflow, and pickable
4797
+ * options within a project
2393
4798
  */
2394
- export interface CreateAgentRunActivityRequest {
2395
- content: AgentRunActivityContent;
2396
- content_metadata?: Record<string, any>;
2397
- signal?: AgentRunActivitySignal;
2398
- signal_metadata?: Record<string, any>;
2399
- type: Exclude<AgentRunActivityType, "prompt">;
2400
- project?: string;
4799
+ export interface ProjectTypeWorkflow {
4800
+ type_id?: string;
4801
+ /** any | constrained | required | pinned */
4802
+ governance?: string;
4803
+ allowlist_count?: number;
4804
+ allowlist_total?: number;
4805
+ effective_workflow_id?: string;
4806
+ source?: string;
4807
+ options: WorkflowOption[];
2401
4808
  }
2402
4809
  /**
2403
- * Agent Run Activities API resource
2404
- * Handles all agent run activity operations
4810
+ * Request model for setting a project's workflow pick for a type.
4811
+ * Orphan-gated: work items whose state falls outside the target chain must
4812
+ * be covered by `state_mapping`.
2405
4813
  */
2406
- declare class Activities$1 extends BaseResource {
4814
+ export interface SetProjectWorkflowPick {
4815
+ workflow_id: string;
4816
+ state_mapping?: Record<string, string>;
4817
+ }
4818
+ /**
4819
+ * Response of setting a project's workflow pick: the workflow now in effect
4820
+ */
4821
+ export interface ProjectWorkflowPickResult {
4822
+ workflow_id?: string;
4823
+ }
4824
+ /**
4825
+ * Request model for previewing the project workflow fallback.
4826
+ * Provide `new_type_id` (+ current `type_id`) for a re-type preview, or
4827
+ * `workflow_id` (+ `type_id`) for a workflow-switch preview.
4828
+ */
4829
+ export interface WorkflowFallbackPreviewRequest {
4830
+ type_id?: string;
4831
+ new_type_id?: string;
4832
+ workflow_id?: string;
4833
+ }
4834
+ /**
4835
+ * WorkItemTypeGovernance.pins sub-resource
4836
+ *
4837
+ * A pin forces one project to resolve a type to a specific workflow,
4838
+ * overriding the workspace default and the constrained allowlist.
4839
+ */
4840
+ declare class Pins extends BaseResource {
2407
4841
  constructor(config: Configuration);
2408
4842
  /**
2409
- * List activities for an agent run
2410
- * @param workspaceSlug - The workspace slug
2411
- * @param runId - The agent run ID
2412
- * @param params - Optional query parameters for pagination
2413
- * @returns Paginated list of agent run activities
4843
+ * List a type's project-to-workflow pins
2414
4844
  */
2415
- list(workspaceSlug: string, runId: string, params?: {
2416
- per_page?: number;
2417
- cursor?: string;
2418
- }): Promise<PaginatedResponse<AgentRunActivity>>;
4845
+ list(workspaceSlug: string, typeId: string): Promise<WorkItemTypeWorkflowPin[]>;
2419
4846
  /**
2420
- * Retrieve a specific agent run activity by ID
2421
- * @param workspaceSlug - The workspace slug
2422
- * @param runId - The agent run ID
2423
- * @param activityId - The activity ID
2424
- * @returns The agent run activity
4847
+ * Pin a workflow for this type across one or more projects.
4848
+ * Returns the type's pins after the change.
2425
4849
  */
2426
- retrieve(workspaceSlug: string, runId: string, activityId: string): Promise<AgentRunActivity>;
4850
+ create(workspaceSlug: string, typeId: string, data: CreateWorkItemTypeWorkflowPins): Promise<WorkItemTypeWorkflowPin[]>;
2427
4851
  /**
2428
- * Create a new agent run activity
2429
- * @param workspaceSlug - The workspace slug
2430
- * @param runId - The agent run ID
2431
- * @param data - The activity data to create
2432
- * @returns The created agent run activity
4852
+ * Remove a pin
2433
4853
  */
2434
- create(workspaceSlug: string, runId: string, data: CreateAgentRunActivityRequest): Promise<AgentRunActivity>;
4854
+ delete(workspaceSlug: string, typeId: string, pinId: string): Promise<void>;
2435
4855
  }
2436
4856
  /**
2437
- * Agent Runs API resource
2438
- * Handles all agent run operations
4857
+ * WorkItemTypeGovernance.projectWorkflows sub-resource
4858
+ *
4859
+ * Reports each active type's governance mode and the workflow it effectively
4860
+ * resolves to within a project, and manages the project's own workflow pick
4861
+ * for a type.
2439
4862
  */
2440
- export declare class AgentRuns extends BaseResource {
2441
- activities: Activities$1;
4863
+ declare class ProjectWorkflows extends BaseResource {
2442
4864
  constructor(config: Configuration);
2443
4865
  /**
2444
- * Create a new agent run
2445
- * @param workspaceSlug - The workspace slug
2446
- * @param data - The agent run data to create
2447
- * @returns The created agent run
4866
+ * List every active type's governance mode, effective workflow, and
4867
+ * pickable options for a project
2448
4868
  */
2449
- create(workspaceSlug: string, data: CreateAgentRunRequest): Promise<AgentRun>;
4869
+ list(workspaceSlug: string, projectId: string): Promise<ProjectTypeWorkflow[]>;
2450
4870
  /**
2451
- * Retrieve an agent run by ID
2452
- * @param workspaceSlug - The workspace slug
2453
- * @param runId - The agent run ID
2454
- * @returns The agent run
4871
+ * Retrieve one type's governance mode and effective workflow in a project
2455
4872
  */
2456
- retrieve(workspaceSlug: string, runId: string): Promise<AgentRun>;
4873
+ retrieve(workspaceSlug: string, projectId: string, typeId: string): Promise<ProjectTypeWorkflow>;
4874
+ /**
4875
+ * Retrieve the project's current workflow pick context for a type
4876
+ */
4877
+ retrievePick(workspaceSlug: string, projectId: string, typeId: string): Promise<ProjectTypeWorkflow>;
4878
+ /**
4879
+ * Set the project's workflow pick for a type.
4880
+ * Runs the workflow fallback for stranded work items; every orphan must be
4881
+ * covered by `data.state_mapping` (400 with an orphan report otherwise).
4882
+ */
4883
+ updatePick(workspaceSlug: string, projectId: string, typeId: string, data: SetProjectWorkflowPick): Promise<ProjectWorkflowPickResult>;
4884
+ /**
4885
+ * Dry-run the project's workflow fallback (re-type / switch dialogs)
4886
+ */
4887
+ previewFallback(workspaceSlug: string, projectId: string, data: WorkflowFallbackPreviewRequest): Promise<GovernancePreview>;
4888
+ }
4889
+ /**
4890
+ * WorkItemTypeGovernance API resource (workspace governance only)
4891
+ *
4892
+ * Governs which workflows a workspace-level work item type may use
4893
+ * (`any` / `constrained` / `required` modes and allowlists). Per-project pins
4894
+ * live on `.pins`; the project-side view of effective workflows and picks
4895
+ * lives on `.projectWorkflows`. Every endpoint requires the workspace to own
4896
+ * states and workflows — otherwise the API responds 400 with code
4897
+ * `workspace_not_managed`.
4898
+ */
4899
+ export declare class WorkItemTypeGovernance extends BaseResource {
4900
+ pins: Pins;
4901
+ projectWorkflows: ProjectWorkflows;
4902
+ constructor(config: Configuration);
4903
+ /**
4904
+ * Retrieve a type's governance settings (mode, required workflow, allowlist)
4905
+ */
4906
+ retrieve(workspaceSlug: string, typeId: string): Promise<TypeGovernance>;
4907
+ /**
4908
+ * Update a type's governance mode / allowlist / required workflow.
4909
+ * Destructive changes (dropping in-use workflows, mandating one) require
4910
+ * `data.acknowledge` and may need a `data.state_mapping` for orphaned work
4911
+ * items.
4912
+ */
4913
+ update(workspaceSlug: string, typeId: string, data: UpdateTypeGovernance): Promise<TypeGovernance>;
4914
+ /**
4915
+ * Dry-run a governance change and report affected work items (no writes)
4916
+ */
4917
+ preview(workspaceSlug: string, typeId: string, data: TypeGovernancePreviewRequest): Promise<GovernancePreview>;
2457
4918
  }
2458
4919
  /**
2459
4920
  * Main Plane Client class
@@ -2466,15 +4927,17 @@ export declare class PlaneClient {
2466
4927
  workItemProperties: WorkItemProperties;
2467
4928
  links: Links;
2468
4929
  customers: Customers;
2469
- pages: Pages;
4930
+ pages: Pages$1;
2470
4931
  projects: Projects;
2471
4932
  labels: Labels;
2472
4933
  states: States;
2473
- members: Members;
2474
4934
  modules: Modules;
2475
4935
  cycles: Cycles;
2476
4936
  users: Users;
2477
4937
  workspace: Workspace;
4938
+ estimates: Estimates;
4939
+ roles: Roles;
4940
+ collections: Collections;
2478
4941
  epics: Epics;
2479
4942
  intake: Intake;
2480
4943
  stickies: Stickies;
@@ -2482,6 +4945,18 @@ export declare class PlaneClient {
2482
4945
  milestones: Milestones;
2483
4946
  initiatives: Initiatives;
2484
4947
  agentRuns: AgentRuns;
4948
+ workspaceTemplates: WorkspaceTemplates;
4949
+ workspaceWorkItemTypes: WorkspaceWorkItemTypes;
4950
+ workspaceWorkItemProperties: WorkspaceWorkItemProperties;
4951
+ workspaceProjectLabels: WorkspaceProjectLabels;
4952
+ workspaceProjectStates: WorkspaceProjectStates;
4953
+ workItemRelationDefinitions: WorkItemRelationDefinitions;
4954
+ releases: Releases;
4955
+ workflows: Workflows;
4956
+ projectTemplates: ProjectTemplates;
4957
+ workspaceStates: WorkspaceStates;
4958
+ workspaceWorkflows: WorkspaceWorkflows;
4959
+ workItemTypeGovernance: WorkItemTypeGovernance;
2485
4960
  constructor(config: {
2486
4961
  baseUrl?: string;
2487
4962
  apiKey?: string;
@@ -2590,17 +5065,45 @@ export {
2590
5065
  Activities as WorkItemActivities,
2591
5066
  Activities$1 as AgentRunActivities,
2592
5067
  Attachments as WorkItemAttachments,
5068
+ Changelog as ReleaseChangelogResource,
2593
5069
  Comments as WorkItemComments,
5070
+ Comments$1 as ReleaseComments,
5071
+ CustomRelations as WorkItemCustomRelations,
5072
+ Dependencies as WorkItemDependencies,
2594
5073
  Epics$1 as InitiativeEpics,
5074
+ Hooks as WorkflowTransitionHooks,
5075
+ Hooks$1 as WorkspaceWorkflowTransitionHooks,
5076
+ ItemLabels as ReleaseItemLabels,
2595
5077
  Labels$1 as InitiativeLabels,
5078
+ Labels$2 as ReleaseLabels,
5079
+ Links$1 as ReleaseLinks,
5080
+ Members as CollectionMembersResource,
2596
5081
  Members$1 as TeamspaceMembers,
2597
5082
  Options as WorkItemPropertyOptions,
5083
+ Options$1 as WorkspaceWorkItemPropertyOptions,
5084
+ Pages as WorkItemPages,
5085
+ Pages$1 as Pages,
5086
+ Pages$2 as CollectionPagesResource,
5087
+ Pages$3 as WorkspacePageTemplates,
5088
+ Pages$4 as ProjectPageTemplates,
5089
+ Pins as WorkItemTypeWorkflowPins,
5090
+ ProjectWorkflows as ProjectTypeWorkflows,
2598
5091
  Projects$1 as TeamspaceProjects,
2599
5092
  Projects$2 as InitiativeProjects,
5093
+ Projects$3 as WorkspaceProjectTemplates,
2600
5094
  Properties as CustomerProperties,
5095
+ Properties$1 as WorkspaceWorkItemTypeProperties,
2601
5096
  Relations as WorkItemRelations,
2602
5097
  Requests as CustomerRequests,
5098
+ States$1 as WorkflowStates,
5099
+ States$2 as WorkspaceWorkflowStates,
5100
+ Tags as ReleaseTags,
5101
+ Transitions as WorkflowTransitions,
5102
+ Transitions$1 as WorkspaceWorkflowTransitions,
2603
5103
  Values as WorkItemPropertyValues,
5104
+ WorkItems$1 as WorkspaceWorkItemTemplates,
5105
+ WorkItems$2 as ReleaseWorkItems,
5106
+ WorkItems$3 as ProjectWorkItemTemplates,
2604
5107
  };
2605
5108
 
2606
5109
  export {};