@kernhq/module-tracker 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/LICENSE +662 -0
  2. package/README.md +265 -0
  3. package/dist/contract/events.d.ts +140 -0
  4. package/dist/contract/events.d.ts.map +1 -0
  5. package/dist/contract/events.js +51 -0
  6. package/dist/contract/events.js.map +1 -0
  7. package/dist/contract/index.d.ts +6 -0
  8. package/dist/contract/index.d.ts.map +1 -0
  9. package/dist/contract/index.js +6 -0
  10. package/dist/contract/index.js.map +1 -0
  11. package/dist/contract/models.d.ts +2547 -0
  12. package/dist/contract/models.d.ts.map +1 -0
  13. package/dist/contract/models.js +1214 -0
  14. package/dist/contract/models.js.map +1 -0
  15. package/dist/contract/notifications.d.ts +4 -0
  16. package/dist/contract/notifications.d.ts.map +1 -0
  17. package/dist/contract/notifications.js +46 -0
  18. package/dist/contract/notifications.js.map +1 -0
  19. package/dist/contract/permissions.d.ts +161 -0
  20. package/dist/contract/permissions.d.ts.map +1 -0
  21. package/dist/contract/permissions.js +192 -0
  22. package/dist/contract/permissions.js.map +1 -0
  23. package/dist/contract/router.d.ts +9659 -0
  24. package/dist/contract/router.d.ts.map +1 -0
  25. package/dist/contract/router.js +732 -0
  26. package/dist/contract/router.js.map +1 -0
  27. package/dist/kql/ast.d.ts +90 -0
  28. package/dist/kql/ast.d.ts.map +1 -0
  29. package/dist/kql/ast.js +80 -0
  30. package/dist/kql/ast.js.map +1 -0
  31. package/dist/kql/dates.d.ts +16 -0
  32. package/dist/kql/dates.d.ts.map +1 -0
  33. package/dist/kql/dates.js +54 -0
  34. package/dist/kql/dates.js.map +1 -0
  35. package/dist/kql/fields.d.ts +61 -0
  36. package/dist/kql/fields.d.ts.map +1 -0
  37. package/dist/kql/fields.js +106 -0
  38. package/dist/kql/fields.js.map +1 -0
  39. package/dist/kql/index.d.ts +16 -0
  40. package/dist/kql/index.d.ts.map +1 -0
  41. package/dist/kql/index.js +16 -0
  42. package/dist/kql/index.js.map +1 -0
  43. package/dist/kql/lexer.d.ts +28 -0
  44. package/dist/kql/lexer.d.ts.map +1 -0
  45. package/dist/kql/lexer.js +127 -0
  46. package/dist/kql/lexer.js.map +1 -0
  47. package/dist/kql/parser.d.ts +14 -0
  48. package/dist/kql/parser.d.ts.map +1 -0
  49. package/dist/kql/parser.js +290 -0
  50. package/dist/kql/parser.js.map +1 -0
  51. package/dist/kql/suggest.d.ts +8 -0
  52. package/dist/kql/suggest.d.ts.map +1 -0
  53. package/dist/kql/suggest.js +96 -0
  54. package/dist/kql/suggest.js.map +1 -0
  55. package/dist/kql/validate.d.ts +10 -0
  56. package/dist/kql/validate.d.ts.map +1 -0
  57. package/dist/kql/validate.js +84 -0
  58. package/dist/kql/validate.js.map +1 -0
  59. package/dist/server/index.d.ts +17 -0
  60. package/dist/server/index.d.ts.map +1 -0
  61. package/dist/server/index.js +583 -0
  62. package/dist/server/index.js.map +1 -0
  63. package/dist/server/kql/compile.d.ts +49 -0
  64. package/dist/server/kql/compile.d.ts.map +1 -0
  65. package/dist/server/kql/compile.js +372 -0
  66. package/dist/server/kql/compile.js.map +1 -0
  67. package/dist/server/rank.d.ts +23 -0
  68. package/dist/server/rank.d.ts.map +1 -0
  69. package/dist/server/rank.js +66 -0
  70. package/dist/server/rank.js.map +1 -0
  71. package/dist/server/rich.d.ts +30 -0
  72. package/dist/server/rich.d.ts.map +1 -0
  73. package/dist/server/rich.js +97 -0
  74. package/dist/server/rich.js.map +1 -0
  75. package/dist/server/router.d.ts +10589 -0
  76. package/dist/server/router.d.ts.map +1 -0
  77. package/dist/server/router.js +431 -0
  78. package/dist/server/router.js.map +1 -0
  79. package/dist/server/schema.d.ts +6622 -0
  80. package/dist/server/schema.d.ts.map +1 -0
  81. package/dist/server/schema.js +581 -0
  82. package/dist/server/schema.js.map +1 -0
  83. package/dist/server/services/access.d.ts +53 -0
  84. package/dist/server/services/access.d.ts.map +1 -0
  85. package/dist/server/services/access.js +146 -0
  86. package/dist/server/services/access.js.map +1 -0
  87. package/dist/server/services/comments.d.ts +36 -0
  88. package/dist/server/services/comments.d.ts.map +1 -0
  89. package/dist/server/services/comments.js +231 -0
  90. package/dist/server/services/comments.js.map +1 -0
  91. package/dist/server/services/config.d.ts +130 -0
  92. package/dist/server/services/config.d.ts.map +1 -0
  93. package/dist/server/services/config.js +797 -0
  94. package/dist/server/services/config.js.map +1 -0
  95. package/dist/server/services/db.d.ts +93 -0
  96. package/dist/server/services/db.d.ts.map +1 -0
  97. package/dist/server/services/db.js +519 -0
  98. package/dist/server/services/db.js.map +1 -0
  99. package/dist/server/services/imports.d.ts +37 -0
  100. package/dist/server/services/imports.d.ts.map +1 -0
  101. package/dist/server/services/imports.js +324 -0
  102. package/dist/server/services/imports.js.map +1 -0
  103. package/dist/server/services/index.d.ts +36 -0
  104. package/dist/server/services/index.d.ts.map +1 -0
  105. package/dist/server/services/index.js +57 -0
  106. package/dist/server/services/index.js.map +1 -0
  107. package/dist/server/services/intake.d.ts +47 -0
  108. package/dist/server/services/intake.d.ts.map +1 -0
  109. package/dist/server/services/intake.js +268 -0
  110. package/dist/server/services/intake.js.map +1 -0
  111. package/dist/server/services/issues.d.ts +763 -0
  112. package/dist/server/services/issues.d.ts.map +1 -0
  113. package/dist/server/services/issues.js +1381 -0
  114. package/dist/server/services/issues.js.map +1 -0
  115. package/dist/server/services/notify.d.ts +51 -0
  116. package/dist/server/services/notify.d.ts.map +1 -0
  117. package/dist/server/services/notify.js +90 -0
  118. package/dist/server/services/notify.js.map +1 -0
  119. package/dist/server/services/planning.d.ts +62 -0
  120. package/dist/server/services/planning.d.ts.map +1 -0
  121. package/dist/server/services/planning.js +614 -0
  122. package/dist/server/services/planning.js.map +1 -0
  123. package/dist/server/services/projects.d.ts +43 -0
  124. package/dist/server/services/projects.d.ts.map +1 -0
  125. package/dist/server/services/projects.js +375 -0
  126. package/dist/server/services/projects.js.map +1 -0
  127. package/dist/server/services/query.d.ts +24 -0
  128. package/dist/server/services/query.d.ts.map +1 -0
  129. package/dist/server/services/query.js +312 -0
  130. package/dist/server/services/query.js.map +1 -0
  131. package/dist/server/services/reports.d.ts +30 -0
  132. package/dist/server/services/reports.d.ts.map +1 -0
  133. package/dist/server/services/reports.js +295 -0
  134. package/dist/server/services/reports.js.map +1 -0
  135. package/dist/server/services/time.d.ts +53 -0
  136. package/dist/server/services/time.d.ts.map +1 -0
  137. package/dist/server/services/time.js +192 -0
  138. package/dist/server/services/time.js.map +1 -0
  139. package/dist/server/services/transitions.d.ts +61 -0
  140. package/dist/server/services/transitions.d.ts.map +1 -0
  141. package/dist/server/services/transitions.js +493 -0
  142. package/dist/server/services/transitions.js.map +1 -0
  143. package/dist/server/services/views.d.ts +33 -0
  144. package/dist/server/services/views.d.ts.map +1 -0
  145. package/dist/server/services/views.js +195 -0
  146. package/dist/server/services/views.js.map +1 -0
  147. package/migrations/0000_init.sql +529 -0
  148. package/migrations/0001_rls.sql +259 -0
  149. package/migrations/meta/0000_snapshot.json +4140 -0
  150. package/migrations/meta/_journal.json +20 -0
  151. package/package.json +82 -0
  152. package/src/client/api.ts +15 -0
  153. package/src/client/format.ts +164 -0
  154. package/src/client/group.ts +150 -0
  155. package/src/client/index.ts +60 -0
  156. package/src/client/kql.ts +492 -0
  157. package/src/client/rank.ts +87 -0
  158. package/src/client/types.ts +57 -0
@@ -0,0 +1,2547 @@
1
+ import { ApprovalState, StatusCategory, WorkflowDefinition } from '@kernhq/workflow';
2
+ import { z } from 'zod';
3
+ export declare const MODULE_ID = "tracker";
4
+ /** Project key: 2–10 uppercase letters/digits, starts with a letter (`KRN`, `OPS2`). */
5
+ export declare const ProjectKey: z.ZodString;
6
+ export type ProjectKey = z.infer<typeof ProjectKey>;
7
+ /** Issue key `KRN-123`. */
8
+ export declare const IssueKey: z.ZodString;
9
+ export type IssueKey = z.infer<typeof IssueKey>;
10
+ /** Machine key for types/fields/labels: lowercase snake, starts with a letter. */
11
+ export declare const MachineKey: z.ZodString;
12
+ export type MachineKey = z.infer<typeof MachineKey>;
13
+ /** Tiptap / ProseMirror JSON document. */
14
+ export declare const RichDoc: z.ZodObject<{
15
+ type: z.ZodLiteral<"doc">;
16
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
17
+ }, z.core.$catchall<z.ZodUnknown>>;
18
+ export type RichDoc = z.infer<typeof RichDoc>;
19
+ /** `YYYY-MM-DD` calendar date (no time zone). */
20
+ export declare const DateOnly: z.ZodString;
21
+ export type DateOnly = z.infer<typeof DateOnly>;
22
+ export declare const Priority: z.ZodEnum<{
23
+ none: "none";
24
+ low: "low";
25
+ medium: "medium";
26
+ high: "high";
27
+ urgent: "urgent";
28
+ }>;
29
+ export type Priority = z.infer<typeof Priority>;
30
+ export declare const PRIORITY_ORDER: Record<Priority, number>;
31
+ export declare const EstimateUnit: z.ZodEnum<{
32
+ none: "none";
33
+ points: "points";
34
+ hours: "hours";
35
+ }>;
36
+ export type EstimateUnit = z.infer<typeof EstimateUnit>;
37
+ export { ApprovalState, StatusCategory, WorkflowDefinition };
38
+ export declare const Ok: z.ZodObject<{
39
+ ok: z.ZodLiteral<true>;
40
+ }, z.core.$strip>;
41
+ export declare const ProjectVisibility: z.ZodEnum<{
42
+ workspace: "workspace";
43
+ private: "private";
44
+ }>;
45
+ export type ProjectVisibility = z.infer<typeof ProjectVisibility>;
46
+ export declare const CycleSettings: z.ZodObject<{
47
+ enabled: z.ZodDefault<z.ZodBoolean>;
48
+ lengthWeeks: z.ZodDefault<z.ZodNumber>;
49
+ cooldownDays: z.ZodDefault<z.ZodNumber>;
50
+ autoRoll: z.ZodDefault<z.ZodBoolean>;
51
+ startDay: z.ZodDefault<z.ZodNumber>;
52
+ autoCreateUpcoming: z.ZodDefault<z.ZodNumber>;
53
+ }, z.core.$strip>;
54
+ export type CycleSettings = z.infer<typeof CycleSettings>;
55
+ export declare const ProjectSettings: z.ZodObject<{
56
+ estimation: z.ZodDefault<z.ZodEnum<{
57
+ none: "none";
58
+ points: "points";
59
+ hours: "hours";
60
+ }>>;
61
+ estimateScale: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
62
+ cycles: z.ZodDefault<z.ZodObject<{
63
+ enabled: z.ZodDefault<z.ZodBoolean>;
64
+ lengthWeeks: z.ZodDefault<z.ZodNumber>;
65
+ cooldownDays: z.ZodDefault<z.ZodNumber>;
66
+ autoRoll: z.ZodDefault<z.ZodBoolean>;
67
+ startDay: z.ZodDefault<z.ZodNumber>;
68
+ autoCreateUpcoming: z.ZodDefault<z.ZodNumber>;
69
+ }, z.core.$strip>>;
70
+ triage: z.ZodDefault<z.ZodObject<{
71
+ enabled: z.ZodDefault<z.ZodBoolean>;
72
+ }, z.core.$strip>>;
73
+ sla: z.ZodDefault<z.ZodObject<{
74
+ enabled: z.ZodDefault<z.ZodBoolean>;
75
+ goals: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
76
+ none: "none";
77
+ low: "low";
78
+ medium: "medium";
79
+ high: "high";
80
+ urgent: "urgent";
81
+ }> & z.core.$partial, z.ZodObject<{
82
+ firstResponseHours: z.ZodOptional<z.ZodNumber>;
83
+ resolveHours: z.ZodOptional<z.ZodNumber>;
84
+ }, z.core.$strip>>>;
85
+ pauseInCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<{
86
+ backlog: "backlog";
87
+ todo: "todo";
88
+ in_progress: "in_progress";
89
+ done: "done";
90
+ cancelled: "cancelled";
91
+ triage: "triage";
92
+ }>>>;
93
+ }, z.core.$strip>>;
94
+ requireResolution: z.ZodDefault<z.ZodBoolean>;
95
+ autoCreateIssueChannel: z.ZodDefault<z.ZodBoolean>;
96
+ timezone: z.ZodDefault<z.ZodString>;
97
+ }, z.core.$strip>;
98
+ export type ProjectSettings = z.infer<typeof ProjectSettings>;
99
+ export declare const Project: z.ZodObject<{
100
+ id: z.ZodUUID;
101
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
102
+ key: z.ZodString;
103
+ name: z.ZodString;
104
+ description: z.ZodNullable<z.ZodString>;
105
+ icon: z.ZodNullable<z.ZodString>;
106
+ color: z.ZodNullable<z.ZodString>;
107
+ leadId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
108
+ visibility: z.ZodEnum<{
109
+ workspace: "workspace";
110
+ private: "private";
111
+ }>;
112
+ defaultAssignee: z.ZodEnum<{
113
+ unassigned: "unassigned";
114
+ lead: "lead";
115
+ }>;
116
+ workflowSchemeId: z.ZodNullable<z.ZodUUID>;
117
+ typeSchemeId: z.ZodNullable<z.ZodUUID>;
118
+ fieldSchemeId: z.ZodNullable<z.ZodUUID>;
119
+ settings: z.ZodObject<{
120
+ estimation: z.ZodDefault<z.ZodEnum<{
121
+ none: "none";
122
+ points: "points";
123
+ hours: "hours";
124
+ }>>;
125
+ estimateScale: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
126
+ cycles: z.ZodDefault<z.ZodObject<{
127
+ enabled: z.ZodDefault<z.ZodBoolean>;
128
+ lengthWeeks: z.ZodDefault<z.ZodNumber>;
129
+ cooldownDays: z.ZodDefault<z.ZodNumber>;
130
+ autoRoll: z.ZodDefault<z.ZodBoolean>;
131
+ startDay: z.ZodDefault<z.ZodNumber>;
132
+ autoCreateUpcoming: z.ZodDefault<z.ZodNumber>;
133
+ }, z.core.$strip>>;
134
+ triage: z.ZodDefault<z.ZodObject<{
135
+ enabled: z.ZodDefault<z.ZodBoolean>;
136
+ }, z.core.$strip>>;
137
+ sla: z.ZodDefault<z.ZodObject<{
138
+ enabled: z.ZodDefault<z.ZodBoolean>;
139
+ goals: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
140
+ none: "none";
141
+ low: "low";
142
+ medium: "medium";
143
+ high: "high";
144
+ urgent: "urgent";
145
+ }> & z.core.$partial, z.ZodObject<{
146
+ firstResponseHours: z.ZodOptional<z.ZodNumber>;
147
+ resolveHours: z.ZodOptional<z.ZodNumber>;
148
+ }, z.core.$strip>>>;
149
+ pauseInCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<{
150
+ backlog: "backlog";
151
+ todo: "todo";
152
+ in_progress: "in_progress";
153
+ done: "done";
154
+ cancelled: "cancelled";
155
+ triage: "triage";
156
+ }>>>;
157
+ }, z.core.$strip>>;
158
+ requireResolution: z.ZodDefault<z.ZodBoolean>;
159
+ autoCreateIssueChannel: z.ZodDefault<z.ZodBoolean>;
160
+ timezone: z.ZodDefault<z.ZodString>;
161
+ }, z.core.$strip>;
162
+ intakeToken: z.ZodNullable<z.ZodString>;
163
+ issueCounter: z.ZodNumber;
164
+ cycleCounter: z.ZodNumber;
165
+ memberCount: z.ZodNumber;
166
+ openIssueCount: z.ZodNumber;
167
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
168
+ createdBy: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
169
+ createdAt: z.ZodISODateTime;
170
+ updatedAt: z.ZodISODateTime;
171
+ }, z.core.$strip>;
172
+ export type Project = z.infer<typeof Project>;
173
+ export declare const CreateProject: z.ZodObject<{
174
+ key: z.ZodString;
175
+ name: z.ZodString;
176
+ description: z.ZodOptional<z.ZodString>;
177
+ icon: z.ZodOptional<z.ZodString>;
178
+ color: z.ZodOptional<z.ZodString>;
179
+ leadId: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
180
+ visibility: z.ZodDefault<z.ZodEnum<{
181
+ workspace: "workspace";
182
+ private: "private";
183
+ }>>;
184
+ defaultAssignee: z.ZodDefault<z.ZodEnum<{
185
+ unassigned: "unassigned";
186
+ lead: "lead";
187
+ }>>;
188
+ template: z.ZodDefault<z.ZodEnum<{
189
+ software: "software";
190
+ kanban: "kanban";
191
+ simple: "simple";
192
+ blank: "blank";
193
+ }>>;
194
+ templateId: z.ZodOptional<z.ZodUUID>;
195
+ settings: z.ZodOptional<z.ZodObject<{
196
+ estimation: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
197
+ none: "none";
198
+ points: "points";
199
+ hours: "hours";
200
+ }>>>;
201
+ estimateScale: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNumber>>>;
202
+ cycles: z.ZodOptional<z.ZodDefault<z.ZodObject<{
203
+ enabled: z.ZodDefault<z.ZodBoolean>;
204
+ lengthWeeks: z.ZodDefault<z.ZodNumber>;
205
+ cooldownDays: z.ZodDefault<z.ZodNumber>;
206
+ autoRoll: z.ZodDefault<z.ZodBoolean>;
207
+ startDay: z.ZodDefault<z.ZodNumber>;
208
+ autoCreateUpcoming: z.ZodDefault<z.ZodNumber>;
209
+ }, z.core.$strip>>>;
210
+ triage: z.ZodOptional<z.ZodDefault<z.ZodObject<{
211
+ enabled: z.ZodDefault<z.ZodBoolean>;
212
+ }, z.core.$strip>>>;
213
+ sla: z.ZodOptional<z.ZodDefault<z.ZodObject<{
214
+ enabled: z.ZodDefault<z.ZodBoolean>;
215
+ goals: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
216
+ none: "none";
217
+ low: "low";
218
+ medium: "medium";
219
+ high: "high";
220
+ urgent: "urgent";
221
+ }> & z.core.$partial, z.ZodObject<{
222
+ firstResponseHours: z.ZodOptional<z.ZodNumber>;
223
+ resolveHours: z.ZodOptional<z.ZodNumber>;
224
+ }, z.core.$strip>>>;
225
+ pauseInCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<{
226
+ backlog: "backlog";
227
+ todo: "todo";
228
+ in_progress: "in_progress";
229
+ done: "done";
230
+ cancelled: "cancelled";
231
+ triage: "triage";
232
+ }>>>;
233
+ }, z.core.$strip>>>;
234
+ requireResolution: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
235
+ autoCreateIssueChannel: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
236
+ timezone: z.ZodOptional<z.ZodDefault<z.ZodString>>;
237
+ }, z.core.$strip>>;
238
+ memberIds: z.ZodDefault<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
239
+ }, z.core.$strip>;
240
+ export type CreateProject = z.infer<typeof CreateProject>;
241
+ export declare const UpdateProject: z.ZodObject<{
242
+ name: z.ZodOptional<z.ZodString>;
243
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
244
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
245
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
246
+ leadId: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
247
+ visibility: z.ZodOptional<z.ZodEnum<{
248
+ workspace: "workspace";
249
+ private: "private";
250
+ }>>;
251
+ defaultAssignee: z.ZodOptional<z.ZodEnum<{
252
+ unassigned: "unassigned";
253
+ lead: "lead";
254
+ }>>;
255
+ workflowSchemeId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
256
+ typeSchemeId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
257
+ fieldSchemeId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
258
+ settings: z.ZodOptional<z.ZodObject<{
259
+ estimation: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
260
+ none: "none";
261
+ points: "points";
262
+ hours: "hours";
263
+ }>>>;
264
+ estimateScale: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNumber>>>;
265
+ cycles: z.ZodOptional<z.ZodDefault<z.ZodObject<{
266
+ enabled: z.ZodDefault<z.ZodBoolean>;
267
+ lengthWeeks: z.ZodDefault<z.ZodNumber>;
268
+ cooldownDays: z.ZodDefault<z.ZodNumber>;
269
+ autoRoll: z.ZodDefault<z.ZodBoolean>;
270
+ startDay: z.ZodDefault<z.ZodNumber>;
271
+ autoCreateUpcoming: z.ZodDefault<z.ZodNumber>;
272
+ }, z.core.$strip>>>;
273
+ triage: z.ZodOptional<z.ZodDefault<z.ZodObject<{
274
+ enabled: z.ZodDefault<z.ZodBoolean>;
275
+ }, z.core.$strip>>>;
276
+ sla: z.ZodOptional<z.ZodDefault<z.ZodObject<{
277
+ enabled: z.ZodDefault<z.ZodBoolean>;
278
+ goals: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
279
+ none: "none";
280
+ low: "low";
281
+ medium: "medium";
282
+ high: "high";
283
+ urgent: "urgent";
284
+ }> & z.core.$partial, z.ZodObject<{
285
+ firstResponseHours: z.ZodOptional<z.ZodNumber>;
286
+ resolveHours: z.ZodOptional<z.ZodNumber>;
287
+ }, z.core.$strip>>>;
288
+ pauseInCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<{
289
+ backlog: "backlog";
290
+ todo: "todo";
291
+ in_progress: "in_progress";
292
+ done: "done";
293
+ cancelled: "cancelled";
294
+ triage: "triage";
295
+ }>>>;
296
+ }, z.core.$strip>>>;
297
+ requireResolution: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
298
+ autoCreateIssueChannel: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
299
+ timezone: z.ZodOptional<z.ZodDefault<z.ZodString>>;
300
+ }, z.core.$strip>>;
301
+ }, z.core.$strip>;
302
+ export type UpdateProject = z.infer<typeof UpdateProject>;
303
+ /** Project member: a user with a project role (mirrored as kernel authz binding at scope `project`). */
304
+ export declare const ProjectRole: z.ZodEnum<{
305
+ admin: "admin";
306
+ member: "member";
307
+ viewer: "viewer";
308
+ }>;
309
+ export type ProjectRole = z.infer<typeof ProjectRole>;
310
+ export declare const ProjectMember: z.ZodObject<{
311
+ projectId: z.ZodUUID;
312
+ userId: z.core.$ZodBranded<z.ZodUUID, "UserId", "out">;
313
+ role: z.ZodEnum<{
314
+ admin: "admin";
315
+ member: "member";
316
+ viewer: "viewer";
317
+ }>;
318
+ addedBy: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
319
+ addedAt: z.ZodISODateTime;
320
+ }, z.core.$strip>;
321
+ export type ProjectMember = z.infer<typeof ProjectMember>;
322
+ /** Reusable project blueprint (types, workflow, fields, labels, sample views). */
323
+ export declare const ProjectTemplate: z.ZodObject<{
324
+ id: z.ZodUUID;
325
+ workspaceId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">>;
326
+ key: z.ZodString;
327
+ name: z.ZodString;
328
+ description: z.ZodNullable<z.ZodString>;
329
+ icon: z.ZodNullable<z.ZodString>;
330
+ body: z.ZodRecord<z.ZodString, z.ZodUnknown>;
331
+ builtin: z.ZodBoolean;
332
+ createdAt: z.ZodISODateTime;
333
+ }, z.core.$strip>;
334
+ export type ProjectTemplate = z.infer<typeof ProjectTemplate>;
335
+ /** -1 sub-item · 0 standard (task/bug/story) · 1 epic · 2 initiative. */
336
+ export declare const HierarchyLevel: z.ZodNumber;
337
+ export type HierarchyLevel = z.infer<typeof HierarchyLevel>;
338
+ export declare const FieldLayoutItem: z.ZodObject<{
339
+ fieldId: z.ZodString;
340
+ section: z.ZodDefault<z.ZodEnum<{
341
+ main: "main";
342
+ sidebar: "sidebar";
343
+ hidden: "hidden";
344
+ }>>;
345
+ required: z.ZodDefault<z.ZodBoolean>;
346
+ hidden: z.ZodDefault<z.ZodBoolean>;
347
+ order: z.ZodDefault<z.ZodNumber>;
348
+ }, z.core.$strip>;
349
+ export type FieldLayoutItem = z.infer<typeof FieldLayoutItem>;
350
+ export declare const WorkItemType: z.ZodObject<{
351
+ id: z.ZodUUID;
352
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
353
+ projectId: z.ZodNullable<z.ZodUUID>;
354
+ key: z.ZodString;
355
+ name: z.ZodString;
356
+ description: z.ZodNullable<z.ZodString>;
357
+ icon: z.ZodNullable<z.ZodString>;
358
+ color: z.ZodNullable<z.ZodString>;
359
+ level: z.ZodNumber;
360
+ isDefault: z.ZodBoolean;
361
+ workflowId: z.ZodNullable<z.ZodUUID>;
362
+ fieldLayout: z.ZodArray<z.ZodObject<{
363
+ fieldId: z.ZodString;
364
+ section: z.ZodDefault<z.ZodEnum<{
365
+ main: "main";
366
+ sidebar: "sidebar";
367
+ hidden: "hidden";
368
+ }>>;
369
+ required: z.ZodDefault<z.ZodBoolean>;
370
+ hidden: z.ZodDefault<z.ZodBoolean>;
371
+ order: z.ZodDefault<z.ZodNumber>;
372
+ }, z.core.$strip>>;
373
+ templateBody: z.ZodNullable<z.ZodObject<{
374
+ type: z.ZodLiteral<"doc">;
375
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
376
+ }, z.core.$catchall<z.ZodUnknown>>>;
377
+ order: z.ZodNumber;
378
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
379
+ createdAt: z.ZodISODateTime;
380
+ updatedAt: z.ZodISODateTime;
381
+ }, z.core.$strip>;
382
+ export type WorkItemType = z.infer<typeof WorkItemType>;
383
+ export declare const UpsertWorkItemType: z.ZodObject<{
384
+ key: z.ZodString;
385
+ name: z.ZodString;
386
+ level: z.ZodNumber;
387
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
388
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
389
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
390
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
391
+ isDefault: z.ZodOptional<z.ZodBoolean>;
392
+ workflowId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
393
+ fieldLayout: z.ZodOptional<z.ZodArray<z.ZodObject<{
394
+ fieldId: z.ZodString;
395
+ section: z.ZodDefault<z.ZodEnum<{
396
+ main: "main";
397
+ sidebar: "sidebar";
398
+ hidden: "hidden";
399
+ }>>;
400
+ required: z.ZodDefault<z.ZodBoolean>;
401
+ hidden: z.ZodDefault<z.ZodBoolean>;
402
+ order: z.ZodDefault<z.ZodNumber>;
403
+ }, z.core.$strip>>>;
404
+ templateBody: z.ZodOptional<z.ZodNullable<z.ZodObject<{
405
+ type: z.ZodLiteral<"doc">;
406
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
407
+ }, z.core.$catchall<z.ZodUnknown>>>>;
408
+ order: z.ZodOptional<z.ZodNumber>;
409
+ }, z.core.$strip>;
410
+ export type UpsertWorkItemType = z.infer<typeof UpsertWorkItemType>;
411
+ /** Which levels may parent which: stored per workspace; default: 2→1→0→-1 (strict) with `allowSkip`. */
412
+ export declare const HierarchyRules: z.ZodObject<{
413
+ allowSkipLevels: z.ZodDefault<z.ZodBoolean>;
414
+ allowSameLevel: z.ZodDefault<z.ZodBoolean>;
415
+ maxSubItemDepth: z.ZodDefault<z.ZodNumber>;
416
+ }, z.core.$strip>;
417
+ export type HierarchyRules = z.infer<typeof HierarchyRules>;
418
+ /** Type scheme: which types a project uses (+ default) – null projectTypeIds = all workspace types. */
419
+ export declare const TypeScheme: z.ZodObject<{
420
+ id: z.ZodUUID;
421
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
422
+ name: z.ZodString;
423
+ typeIds: z.ZodArray<z.ZodUUID>;
424
+ defaultTypeId: z.ZodNullable<z.ZodUUID>;
425
+ createdAt: z.ZodISODateTime;
426
+ }, z.core.$strip>;
427
+ export type TypeScheme = z.infer<typeof TypeScheme>;
428
+ export declare const FieldType: z.ZodEnum<{
429
+ number: "number";
430
+ date: "date";
431
+ text: "text";
432
+ textarea: "textarea";
433
+ datetime: "datetime";
434
+ select: "select";
435
+ multiselect: "multiselect";
436
+ user: "user";
437
+ multiuser: "multiuser";
438
+ label: "label";
439
+ url: "url";
440
+ checkbox: "checkbox";
441
+ relation: "relation";
442
+ formula: "formula";
443
+ }>;
444
+ export type FieldType = z.infer<typeof FieldType>;
445
+ export declare const FieldOption: z.ZodObject<{
446
+ id: z.ZodString;
447
+ label: z.ZodString;
448
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
449
+ order: z.ZodDefault<z.ZodNumber>;
450
+ archived: z.ZodDefault<z.ZodBoolean>;
451
+ }, z.core.$strip>;
452
+ export type FieldOption = z.infer<typeof FieldOption>;
453
+ /** Type-specific configuration. */
454
+ export declare const FieldConfig: z.ZodObject<{
455
+ min: z.ZodOptional<z.ZodNumber>;
456
+ max: z.ZodOptional<z.ZodNumber>;
457
+ precision: z.ZodOptional<z.ZodNumber>;
458
+ unit: z.ZodOptional<z.ZodString>;
459
+ maxLength: z.ZodOptional<z.ZodNumber>;
460
+ pattern: z.ZodOptional<z.ZodString>;
461
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
462
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
463
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
464
+ formula: z.ZodOptional<z.ZodString>;
465
+ formulaResult: z.ZodOptional<z.ZodEnum<{
466
+ number: "number";
467
+ boolean: "boolean";
468
+ date: "date";
469
+ text: "text";
470
+ }>>;
471
+ includeTime: z.ZodOptional<z.ZodBoolean>;
472
+ }, z.core.$catchall<z.ZodUnknown>>;
473
+ export type FieldConfig = z.infer<typeof FieldConfig>;
474
+ export declare const FieldDef: z.ZodObject<{
475
+ id: z.ZodUUID;
476
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
477
+ projectId: z.ZodNullable<z.ZodUUID>;
478
+ key: z.ZodString;
479
+ name: z.ZodString;
480
+ description: z.ZodNullable<z.ZodString>;
481
+ type: z.ZodEnum<{
482
+ number: "number";
483
+ date: "date";
484
+ text: "text";
485
+ textarea: "textarea";
486
+ datetime: "datetime";
487
+ select: "select";
488
+ multiselect: "multiselect";
489
+ user: "user";
490
+ multiuser: "multiuser";
491
+ label: "label";
492
+ url: "url";
493
+ checkbox: "checkbox";
494
+ relation: "relation";
495
+ formula: "formula";
496
+ }>;
497
+ options: z.ZodArray<z.ZodObject<{
498
+ id: z.ZodString;
499
+ label: z.ZodString;
500
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
501
+ order: z.ZodDefault<z.ZodNumber>;
502
+ archived: z.ZodDefault<z.ZodBoolean>;
503
+ }, z.core.$strip>>;
504
+ defaultValue: z.ZodNullable<z.ZodUnknown>;
505
+ config: z.ZodObject<{
506
+ min: z.ZodOptional<z.ZodNumber>;
507
+ max: z.ZodOptional<z.ZodNumber>;
508
+ precision: z.ZodOptional<z.ZodNumber>;
509
+ unit: z.ZodOptional<z.ZodString>;
510
+ maxLength: z.ZodOptional<z.ZodNumber>;
511
+ pattern: z.ZodOptional<z.ZodString>;
512
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
513
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
514
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
515
+ formula: z.ZodOptional<z.ZodString>;
516
+ formulaResult: z.ZodOptional<z.ZodEnum<{
517
+ number: "number";
518
+ boolean: "boolean";
519
+ date: "date";
520
+ text: "text";
521
+ }>>;
522
+ includeTime: z.ZodOptional<z.ZodBoolean>;
523
+ }, z.core.$catchall<z.ZodUnknown>>;
524
+ searchable: z.ZodBoolean;
525
+ required: z.ZodBoolean;
526
+ showInCards: z.ZodBoolean;
527
+ order: z.ZodNumber;
528
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
529
+ createdAt: z.ZodISODateTime;
530
+ updatedAt: z.ZodISODateTime;
531
+ }, z.core.$strip>;
532
+ export type FieldDef = z.infer<typeof FieldDef>;
533
+ export declare const UpsertFieldDef: z.ZodObject<{
534
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
535
+ key: z.ZodString;
536
+ name: z.ZodString;
537
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
538
+ type: z.ZodEnum<{
539
+ number: "number";
540
+ date: "date";
541
+ text: "text";
542
+ textarea: "textarea";
543
+ datetime: "datetime";
544
+ select: "select";
545
+ multiselect: "multiselect";
546
+ user: "user";
547
+ multiuser: "multiuser";
548
+ label: "label";
549
+ url: "url";
550
+ checkbox: "checkbox";
551
+ relation: "relation";
552
+ formula: "formula";
553
+ }>;
554
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
555
+ id: z.ZodString;
556
+ label: z.ZodString;
557
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
558
+ order: z.ZodDefault<z.ZodNumber>;
559
+ archived: z.ZodDefault<z.ZodBoolean>;
560
+ }, z.core.$strip>>>;
561
+ defaultValue: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
562
+ config: z.ZodOptional<z.ZodObject<{
563
+ min: z.ZodOptional<z.ZodNumber>;
564
+ max: z.ZodOptional<z.ZodNumber>;
565
+ precision: z.ZodOptional<z.ZodNumber>;
566
+ unit: z.ZodOptional<z.ZodString>;
567
+ maxLength: z.ZodOptional<z.ZodNumber>;
568
+ pattern: z.ZodOptional<z.ZodString>;
569
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
570
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
571
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
572
+ formula: z.ZodOptional<z.ZodString>;
573
+ formulaResult: z.ZodOptional<z.ZodEnum<{
574
+ number: "number";
575
+ boolean: "boolean";
576
+ date: "date";
577
+ text: "text";
578
+ }>>;
579
+ includeTime: z.ZodOptional<z.ZodBoolean>;
580
+ }, z.core.$catchall<z.ZodUnknown>>>;
581
+ searchable: z.ZodOptional<z.ZodBoolean>;
582
+ required: z.ZodOptional<z.ZodBoolean>;
583
+ showInCards: z.ZodOptional<z.ZodBoolean>;
584
+ order: z.ZodOptional<z.ZodNumber>;
585
+ }, z.core.$strip>;
586
+ export type UpsertFieldDef = z.infer<typeof UpsertFieldDef>;
587
+ /** Field scheme: which custom fields a project exposes (null = all applicable). */
588
+ export declare const FieldScheme: z.ZodObject<{
589
+ id: z.ZodUUID;
590
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
591
+ name: z.ZodString;
592
+ fieldIds: z.ZodArray<z.ZodUUID>;
593
+ createdAt: z.ZodISODateTime;
594
+ }, z.core.$strip>;
595
+ export type FieldScheme = z.infer<typeof FieldScheme>;
596
+ export declare const Workflow: z.ZodObject<{
597
+ id: z.ZodUUID;
598
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
599
+ projectId: z.ZodNullable<z.ZodUUID>;
600
+ name: z.ZodString;
601
+ description: z.ZodNullable<z.ZodString>;
602
+ definition: z.ZodObject<{
603
+ id: z.ZodString;
604
+ name: z.ZodString;
605
+ description: z.ZodOptional<z.ZodString>;
606
+ statuses: z.ZodArray<z.ZodObject<{
607
+ id: z.ZodString;
608
+ name: z.ZodString;
609
+ category: z.ZodEnum<{
610
+ backlog: "backlog";
611
+ todo: "todo";
612
+ in_progress: "in_progress";
613
+ done: "done";
614
+ cancelled: "cancelled";
615
+ triage: "triage";
616
+ }>;
617
+ color: z.ZodOptional<z.ZodString>;
618
+ order: z.ZodDefault<z.ZodNumber>;
619
+ initial: z.ZodOptional<z.ZodBoolean>;
620
+ description: z.ZodOptional<z.ZodString>;
621
+ }, z.core.$strip>>;
622
+ transitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
623
+ id: z.ZodString;
624
+ name: z.ZodString;
625
+ from: z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodString>]>;
626
+ to: z.ZodString;
627
+ conditions: z.ZodDefault<z.ZodArray<z.ZodObject<{
628
+ type: z.ZodString;
629
+ config: z.ZodOptional<z.ZodUnknown>;
630
+ }, z.core.$strip>>>;
631
+ validators: z.ZodDefault<z.ZodArray<z.ZodObject<{
632
+ type: z.ZodString;
633
+ config: z.ZodOptional<z.ZodUnknown>;
634
+ }, z.core.$strip>>>;
635
+ postFunctions: z.ZodDefault<z.ZodArray<z.ZodObject<{
636
+ type: z.ZodString;
637
+ config: z.ZodOptional<z.ZodUnknown>;
638
+ }, z.core.$strip>>>;
639
+ approval: z.ZodOptional<z.ZodObject<{
640
+ approvers: z.ZodArray<z.ZodObject<{
641
+ kind: z.ZodEnum<{
642
+ user: "user";
643
+ group: "group";
644
+ role: "role";
645
+ assignee: "assignee";
646
+ reporter: "reporter";
647
+ projectLead: "projectLead";
648
+ field: "field";
649
+ }>;
650
+ id: z.ZodOptional<z.ZodString>;
651
+ }, z.core.$strip>>;
652
+ minApprovals: z.ZodDefault<z.ZodNumber>;
653
+ rejectOnAnyRejection: z.ZodDefault<z.ZodBoolean>;
654
+ }, z.core.$strip>>;
655
+ screen: z.ZodOptional<z.ZodObject<{
656
+ fields: z.ZodDefault<z.ZodArray<z.ZodString>>;
657
+ comment: z.ZodDefault<z.ZodBoolean>;
658
+ }, z.core.$strip>>;
659
+ description: z.ZodOptional<z.ZodString>;
660
+ hidden: z.ZodDefault<z.ZodBoolean>;
661
+ }, z.core.$strip>>>;
662
+ }, z.core.$strip>;
663
+ isDefault: z.ZodBoolean;
664
+ usageCount: z.ZodOptional<z.ZodNumber>;
665
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
666
+ createdAt: z.ZodISODateTime;
667
+ updatedAt: z.ZodISODateTime;
668
+ }, z.core.$strip>;
669
+ export type Workflow = z.infer<typeof Workflow>;
670
+ export declare const UpsertWorkflow: z.ZodObject<{
671
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
672
+ name: z.ZodString;
673
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
674
+ definition: z.ZodObject<{
675
+ id: z.ZodString;
676
+ name: z.ZodString;
677
+ description: z.ZodOptional<z.ZodString>;
678
+ statuses: z.ZodArray<z.ZodObject<{
679
+ id: z.ZodString;
680
+ name: z.ZodString;
681
+ category: z.ZodEnum<{
682
+ backlog: "backlog";
683
+ todo: "todo";
684
+ in_progress: "in_progress";
685
+ done: "done";
686
+ cancelled: "cancelled";
687
+ triage: "triage";
688
+ }>;
689
+ color: z.ZodOptional<z.ZodString>;
690
+ order: z.ZodDefault<z.ZodNumber>;
691
+ initial: z.ZodOptional<z.ZodBoolean>;
692
+ description: z.ZodOptional<z.ZodString>;
693
+ }, z.core.$strip>>;
694
+ transitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
695
+ id: z.ZodString;
696
+ name: z.ZodString;
697
+ from: z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodString>]>;
698
+ to: z.ZodString;
699
+ conditions: z.ZodDefault<z.ZodArray<z.ZodObject<{
700
+ type: z.ZodString;
701
+ config: z.ZodOptional<z.ZodUnknown>;
702
+ }, z.core.$strip>>>;
703
+ validators: z.ZodDefault<z.ZodArray<z.ZodObject<{
704
+ type: z.ZodString;
705
+ config: z.ZodOptional<z.ZodUnknown>;
706
+ }, z.core.$strip>>>;
707
+ postFunctions: z.ZodDefault<z.ZodArray<z.ZodObject<{
708
+ type: z.ZodString;
709
+ config: z.ZodOptional<z.ZodUnknown>;
710
+ }, z.core.$strip>>>;
711
+ approval: z.ZodOptional<z.ZodObject<{
712
+ approvers: z.ZodArray<z.ZodObject<{
713
+ kind: z.ZodEnum<{
714
+ user: "user";
715
+ group: "group";
716
+ role: "role";
717
+ assignee: "assignee";
718
+ reporter: "reporter";
719
+ projectLead: "projectLead";
720
+ field: "field";
721
+ }>;
722
+ id: z.ZodOptional<z.ZodString>;
723
+ }, z.core.$strip>>;
724
+ minApprovals: z.ZodDefault<z.ZodNumber>;
725
+ rejectOnAnyRejection: z.ZodDefault<z.ZodBoolean>;
726
+ }, z.core.$strip>>;
727
+ screen: z.ZodOptional<z.ZodObject<{
728
+ fields: z.ZodDefault<z.ZodArray<z.ZodString>>;
729
+ comment: z.ZodDefault<z.ZodBoolean>;
730
+ }, z.core.$strip>>;
731
+ description: z.ZodOptional<z.ZodString>;
732
+ hidden: z.ZodDefault<z.ZodBoolean>;
733
+ }, z.core.$strip>>>;
734
+ }, z.core.$strip>;
735
+ isDefault: z.ZodOptional<z.ZodBoolean>;
736
+ }, z.core.$strip>;
737
+ export type UpsertWorkflow = z.infer<typeof UpsertWorkflow>;
738
+ /** Maps item types to workflows for a project (typeId → workflowId; `defaultWorkflowId` otherwise). */
739
+ export declare const WorkflowScheme: z.ZodObject<{
740
+ id: z.ZodUUID;
741
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
742
+ name: z.ZodString;
743
+ defaultWorkflowId: z.ZodUUID;
744
+ mappings: z.ZodArray<z.ZodObject<{
745
+ typeId: z.ZodUUID;
746
+ workflowId: z.ZodUUID;
747
+ }, z.core.$strip>>;
748
+ createdAt: z.ZodISODateTime;
749
+ updatedAt: z.ZodISODateTime;
750
+ }, z.core.$strip>;
751
+ export type WorkflowScheme = z.infer<typeof WorkflowScheme>;
752
+ export declare const UpsertWorkflowScheme: z.ZodObject<{
753
+ name: z.ZodString;
754
+ defaultWorkflowId: z.ZodUUID;
755
+ mappings: z.ZodArray<z.ZodObject<{
756
+ typeId: z.ZodUUID;
757
+ workflowId: z.ZodUUID;
758
+ }, z.core.$strip>>;
759
+ }, z.core.$strip>;
760
+ /** One status as exposed to the UI together with the workflow it belongs to. */
761
+ export declare const StatusInfo: z.ZodObject<{
762
+ id: z.ZodString;
763
+ name: z.ZodString;
764
+ category: z.ZodEnum<{
765
+ backlog: "backlog";
766
+ todo: "todo";
767
+ in_progress: "in_progress";
768
+ done: "done";
769
+ cancelled: "cancelled";
770
+ triage: "triage";
771
+ }>;
772
+ color: z.ZodNullable<z.ZodString>;
773
+ order: z.ZodNumber;
774
+ workflowId: z.ZodUUID;
775
+ }, z.core.$strip>;
776
+ export type StatusInfo = z.infer<typeof StatusInfo>;
777
+ /** Available transition for an issue, as seen by the UI. */
778
+ export declare const AvailableTransition: z.ZodObject<{
779
+ id: z.ZodString;
780
+ name: z.ZodString;
781
+ toStatusId: z.ZodString;
782
+ toStatus: z.ZodObject<{
783
+ id: z.ZodString;
784
+ name: z.ZodString;
785
+ category: z.ZodEnum<{
786
+ backlog: "backlog";
787
+ todo: "todo";
788
+ in_progress: "in_progress";
789
+ done: "done";
790
+ cancelled: "cancelled";
791
+ triage: "triage";
792
+ }>;
793
+ color: z.ZodNullable<z.ZodString>;
794
+ order: z.ZodNumber;
795
+ workflowId: z.ZodUUID;
796
+ }, z.core.$strip>;
797
+ allowed: z.ZodBoolean;
798
+ reasons: z.ZodArray<z.ZodObject<{
799
+ kind: z.ZodString;
800
+ message: z.ZodString;
801
+ field: z.ZodOptional<z.ZodString>;
802
+ }, z.core.$strip>>;
803
+ requiresApproval: z.ZodBoolean;
804
+ screen: z.ZodNullable<z.ZodObject<{
805
+ fields: z.ZodArray<z.ZodString>;
806
+ comment: z.ZodBoolean;
807
+ }, z.core.$strip>>;
808
+ hidden: z.ZodBoolean;
809
+ }, z.core.$strip>;
810
+ export type AvailableTransition = z.infer<typeof AvailableTransition>;
811
+ export declare const RelationType: z.ZodEnum<{
812
+ blocks: "blocks";
813
+ blocked_by: "blocked_by";
814
+ relates: "relates";
815
+ duplicates: "duplicates";
816
+ duplicated_by: "duplicated_by";
817
+ clones: "clones";
818
+ cloned_by: "cloned_by";
819
+ }>;
820
+ export type RelationType = z.infer<typeof RelationType>;
821
+ /** inverse relation for the other side */
822
+ export declare const RELATION_INVERSE: Record<RelationType, RelationType>;
823
+ export declare const RelationSummary: z.ZodObject<{
824
+ blocks: z.ZodNumber;
825
+ blockedBy: z.ZodNumber;
826
+ openBlockers: z.ZodNumber;
827
+ relates: z.ZodNumber;
828
+ duplicates: z.ZodNumber;
829
+ subItems: z.ZodNumber;
830
+ subItemsDone: z.ZodNumber;
831
+ }, z.core.$strip>;
832
+ export type RelationSummary = z.infer<typeof RelationSummary>;
833
+ export declare const SlaState: z.ZodObject<{
834
+ firstResponseDueAt: z.ZodNullable<z.ZodISODateTime>;
835
+ firstRespondedAt: z.ZodNullable<z.ZodISODateTime>;
836
+ resolveDueAt: z.ZodNullable<z.ZodISODateTime>;
837
+ pausedAt: z.ZodNullable<z.ZodISODateTime>;
838
+ pausedSec: z.ZodNumber;
839
+ breached: z.ZodBoolean;
840
+ }, z.core.$strip>;
841
+ export type SlaState = z.infer<typeof SlaState>;
842
+ export declare const Issue: z.ZodObject<{
843
+ id: z.ZodUUID;
844
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
845
+ projectId: z.ZodUUID;
846
+ key: z.ZodString;
847
+ number: z.ZodNumber;
848
+ typeId: z.ZodUUID;
849
+ title: z.ZodString;
850
+ description: z.ZodNullable<z.ZodObject<{
851
+ type: z.ZodLiteral<"doc">;
852
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
853
+ }, z.core.$catchall<z.ZodUnknown>>>;
854
+ descriptionText: z.ZodString;
855
+ statusId: z.ZodString;
856
+ statusCategory: z.ZodEnum<{
857
+ backlog: "backlog";
858
+ todo: "todo";
859
+ in_progress: "in_progress";
860
+ done: "done";
861
+ cancelled: "cancelled";
862
+ triage: "triage";
863
+ }>;
864
+ priority: z.ZodEnum<{
865
+ none: "none";
866
+ low: "low";
867
+ medium: "medium";
868
+ high: "high";
869
+ urgent: "urgent";
870
+ }>;
871
+ assigneeIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
872
+ reporterId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
873
+ creatorId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
874
+ labelIds: z.ZodArray<z.ZodUUID>;
875
+ componentIds: z.ZodArray<z.ZodUUID>;
876
+ versionIds: z.ZodArray<z.ZodUUID>;
877
+ affectsVersionIds: z.ZodArray<z.ZodUUID>;
878
+ cycleId: z.ZodNullable<z.ZodUUID>;
879
+ milestoneId: z.ZodNullable<z.ZodUUID>;
880
+ parentId: z.ZodNullable<z.ZodUUID>;
881
+ rank: z.ZodString;
882
+ estimate: z.ZodNullable<z.ZodNumber>;
883
+ estimateUnit: z.ZodEnum<{
884
+ none: "none";
885
+ points: "points";
886
+ hours: "hours";
887
+ }>;
888
+ startDate: z.ZodNullable<z.ZodString>;
889
+ dueDate: z.ZodNullable<z.ZodString>;
890
+ completedAt: z.ZodNullable<z.ZodISODateTime>;
891
+ cancelledAt: z.ZodNullable<z.ZodISODateTime>;
892
+ resolution: z.ZodNullable<z.ZodString>;
893
+ custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
894
+ watcherIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
895
+ subscriberCount: z.ZodNumber;
896
+ commentCount: z.ZodNumber;
897
+ attachmentCount: z.ZodNumber;
898
+ relationSummary: z.ZodObject<{
899
+ blocks: z.ZodNumber;
900
+ blockedBy: z.ZodNumber;
901
+ openBlockers: z.ZodNumber;
902
+ relates: z.ZodNumber;
903
+ duplicates: z.ZodNumber;
904
+ subItems: z.ZodNumber;
905
+ subItemsDone: z.ZodNumber;
906
+ }, z.core.$strip>;
907
+ timeSpentSec: z.ZodNumber;
908
+ remainingSec: z.ZodNullable<z.ZodNumber>;
909
+ originalEstimateSec: z.ZodNullable<z.ZodNumber>;
910
+ sla: z.ZodNullable<z.ZodObject<{
911
+ firstResponseDueAt: z.ZodNullable<z.ZodISODateTime>;
912
+ firstRespondedAt: z.ZodNullable<z.ZodISODateTime>;
913
+ resolveDueAt: z.ZodNullable<z.ZodISODateTime>;
914
+ pausedAt: z.ZodNullable<z.ZodISODateTime>;
915
+ pausedSec: z.ZodNumber;
916
+ breached: z.ZodBoolean;
917
+ }, z.core.$strip>>;
918
+ triage: z.ZodBoolean;
919
+ snoozedUntil: z.ZodNullable<z.ZodISODateTime>;
920
+ source: z.ZodEnum<{
921
+ app: "app";
922
+ email: "email";
923
+ intake: "intake";
924
+ import: "import";
925
+ api: "api";
926
+ automation: "automation";
927
+ recurring: "recurring";
928
+ }>;
929
+ externalRef: z.ZodNullable<z.ZodString>;
930
+ chatChannelId: z.ZodNullable<z.ZodUUID>;
931
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
932
+ createdAt: z.ZodISODateTime;
933
+ updatedAt: z.ZodISODateTime;
934
+ lastActivityAt: z.ZodISODateTime;
935
+ }, z.core.$strip>;
936
+ export type Issue = z.infer<typeof Issue>;
937
+ /** Lightweight issue for lists/boards/pickers. */
938
+ export declare const IssueSummary: z.ZodObject<{
939
+ number: z.ZodNumber;
940
+ triage: z.ZodBoolean;
941
+ id: z.ZodUUID;
942
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
943
+ key: z.ZodString;
944
+ updatedAt: z.ZodISODateTime;
945
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
946
+ projectId: z.ZodUUID;
947
+ typeId: z.ZodUUID;
948
+ statusCategory: z.ZodEnum<{
949
+ backlog: "backlog";
950
+ todo: "todo";
951
+ in_progress: "in_progress";
952
+ done: "done";
953
+ cancelled: "cancelled";
954
+ triage: "triage";
955
+ }>;
956
+ priority: z.ZodEnum<{
957
+ none: "none";
958
+ low: "low";
959
+ medium: "medium";
960
+ high: "high";
961
+ urgent: "urgent";
962
+ }>;
963
+ title: z.ZodString;
964
+ statusId: z.ZodString;
965
+ assigneeIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
966
+ labelIds: z.ZodArray<z.ZodUUID>;
967
+ cycleId: z.ZodNullable<z.ZodUUID>;
968
+ parentId: z.ZodNullable<z.ZodUUID>;
969
+ rank: z.ZodString;
970
+ estimate: z.ZodNullable<z.ZodNumber>;
971
+ startDate: z.ZodNullable<z.ZodString>;
972
+ dueDate: z.ZodNullable<z.ZodString>;
973
+ }, z.core.$strip>;
974
+ export type IssueSummary = z.infer<typeof IssueSummary>;
975
+ /** Fields an issue may be created with. */
976
+ export declare const CreateIssue: z.ZodObject<{
977
+ projectId: z.ZodUUID;
978
+ typeId: z.ZodOptional<z.ZodUUID>;
979
+ title: z.ZodString;
980
+ description: z.ZodOptional<z.ZodNullable<z.ZodObject<{
981
+ type: z.ZodLiteral<"doc">;
982
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
983
+ }, z.core.$catchall<z.ZodUnknown>>>>;
984
+ statusId: z.ZodOptional<z.ZodString>;
985
+ priority: z.ZodOptional<z.ZodEnum<{
986
+ none: "none";
987
+ low: "low";
988
+ medium: "medium";
989
+ high: "high";
990
+ urgent: "urgent";
991
+ }>>;
992
+ assigneeIds: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
993
+ reporterId: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
994
+ labelIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
995
+ componentIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
996
+ versionIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
997
+ affectsVersionIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
998
+ cycleId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
999
+ milestoneId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1000
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1001
+ estimate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1002
+ startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1003
+ dueDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1004
+ originalEstimateSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1005
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1006
+ watcherIds: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1007
+ triage: z.ZodOptional<z.ZodBoolean>;
1008
+ templateId: z.ZodOptional<z.ZodUUID>;
1009
+ rankAfterId: z.ZodOptional<z.ZodUUID>;
1010
+ rankBeforeId: z.ZodOptional<z.ZodUUID>;
1011
+ attachmentIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
1012
+ }, z.core.$strip>;
1013
+ export type CreateIssue = z.infer<typeof CreateIssue>;
1014
+ /** Patch for update/bulk-update. `null` clears nullable fields. Arrays replace unless `*Add/*Remove` used. */
1015
+ export declare const UpdateIssue: z.ZodObject<{
1016
+ typeId: z.ZodOptional<z.ZodUUID>;
1017
+ title: z.ZodOptional<z.ZodString>;
1018
+ description: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1019
+ type: z.ZodLiteral<"doc">;
1020
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1021
+ }, z.core.$catchall<z.ZodUnknown>>>>;
1022
+ priority: z.ZodOptional<z.ZodEnum<{
1023
+ none: "none";
1024
+ low: "low";
1025
+ medium: "medium";
1026
+ high: "high";
1027
+ urgent: "urgent";
1028
+ }>>;
1029
+ assigneeIds: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1030
+ assigneeAdd: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1031
+ assigneeRemove: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1032
+ reporterId: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1033
+ labelIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
1034
+ labelAdd: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
1035
+ labelRemove: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
1036
+ componentIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
1037
+ versionIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
1038
+ affectsVersionIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
1039
+ cycleId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1040
+ milestoneId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1041
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1042
+ estimate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1043
+ startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1044
+ dueDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1045
+ resolution: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1046
+ originalEstimateSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1047
+ remainingSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1048
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1049
+ triage: z.ZodOptional<z.ZodBoolean>;
1050
+ }, z.core.$strip>;
1051
+ export type UpdateIssue = z.infer<typeof UpdateIssue>;
1052
+ export declare const BulkResult: z.ZodObject<{
1053
+ results: z.ZodArray<z.ZodObject<{
1054
+ id: z.ZodUUID;
1055
+ ok: z.ZodBoolean;
1056
+ error: z.ZodOptional<z.ZodObject<{
1057
+ code: z.ZodString;
1058
+ message: z.ZodString;
1059
+ }, z.core.$strip>>;
1060
+ }, z.core.$strip>>;
1061
+ succeeded: z.ZodNumber;
1062
+ failed: z.ZodNumber;
1063
+ }, z.core.$strip>;
1064
+ export type BulkResult = z.infer<typeof BulkResult>;
1065
+ /** Activity/history entry for an issue (projection of core activity + status history). */
1066
+ export declare const IssueHistoryEntry: z.ZodObject<{
1067
+ id: z.ZodUUID;
1068
+ issueId: z.ZodUUID;
1069
+ actorId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1070
+ action: z.ZodString;
1071
+ changes: z.ZodArray<z.ZodObject<{
1072
+ field: z.ZodString;
1073
+ from: z.ZodUnknown;
1074
+ to: z.ZodUnknown;
1075
+ }, z.core.$strip>>;
1076
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1077
+ occurredAt: z.ZodISODateTime;
1078
+ }, z.core.$strip>;
1079
+ export type IssueHistoryEntry = z.infer<typeof IssueHistoryEntry>;
1080
+ export declare const StatusHistoryEntry: z.ZodObject<{
1081
+ id: z.ZodUUID;
1082
+ issueId: z.ZodUUID;
1083
+ fromStatusId: z.ZodNullable<z.ZodString>;
1084
+ toStatusId: z.ZodString;
1085
+ fromCategory: z.ZodNullable<z.ZodEnum<{
1086
+ backlog: "backlog";
1087
+ todo: "todo";
1088
+ in_progress: "in_progress";
1089
+ done: "done";
1090
+ cancelled: "cancelled";
1091
+ triage: "triage";
1092
+ }>>;
1093
+ toCategory: z.ZodEnum<{
1094
+ backlog: "backlog";
1095
+ todo: "todo";
1096
+ in_progress: "in_progress";
1097
+ done: "done";
1098
+ cancelled: "cancelled";
1099
+ triage: "triage";
1100
+ }>;
1101
+ actorId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1102
+ transitionId: z.ZodNullable<z.ZodString>;
1103
+ durationSec: z.ZodNullable<z.ZodNumber>;
1104
+ occurredAt: z.ZodISODateTime;
1105
+ }, z.core.$strip>;
1106
+ export type StatusHistoryEntry = z.infer<typeof StatusHistoryEntry>;
1107
+ export declare const ReactionSummary: z.ZodObject<{
1108
+ emoji: z.ZodString;
1109
+ count: z.ZodNumber;
1110
+ userIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1111
+ }, z.core.$strip>;
1112
+ export type ReactionSummary = z.infer<typeof ReactionSummary>;
1113
+ export declare const Comment: z.ZodObject<{
1114
+ id: z.ZodUUID;
1115
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1116
+ issueId: z.ZodUUID;
1117
+ parentId: z.ZodNullable<z.ZodUUID>;
1118
+ authorId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1119
+ body: z.ZodObject<{
1120
+ type: z.ZodLiteral<"doc">;
1121
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1122
+ }, z.core.$catchall<z.ZodUnknown>>;
1123
+ bodyText: z.ZodString;
1124
+ mentionIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1125
+ reactions: z.ZodArray<z.ZodObject<{
1126
+ emoji: z.ZodString;
1127
+ count: z.ZodNumber;
1128
+ userIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1129
+ }, z.core.$strip>>;
1130
+ internal: z.ZodBoolean;
1131
+ source: z.ZodEnum<{
1132
+ app: "app";
1133
+ email: "email";
1134
+ automation: "automation";
1135
+ system: "system";
1136
+ }>;
1137
+ replyCount: z.ZodNumber;
1138
+ editedAt: z.ZodNullable<z.ZodISODateTime>;
1139
+ deletedAt: z.ZodNullable<z.ZodISODateTime>;
1140
+ createdAt: z.ZodISODateTime;
1141
+ updatedAt: z.ZodISODateTime;
1142
+ }, z.core.$strip>;
1143
+ export type Comment = z.infer<typeof Comment>;
1144
+ export declare const Relation: z.ZodObject<{
1145
+ id: z.ZodUUID;
1146
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1147
+ type: z.ZodEnum<{
1148
+ blocks: "blocks";
1149
+ blocked_by: "blocked_by";
1150
+ relates: "relates";
1151
+ duplicates: "duplicates";
1152
+ duplicated_by: "duplicated_by";
1153
+ clones: "clones";
1154
+ cloned_by: "cloned_by";
1155
+ }>;
1156
+ fromIssueId: z.ZodUUID;
1157
+ toIssueId: z.ZodUUID;
1158
+ createdBy: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1159
+ createdAt: z.ZodISODateTime;
1160
+ }, z.core.$strip>;
1161
+ export type Relation = z.infer<typeof Relation>;
1162
+ /** Relation as seen from one issue's perspective. */
1163
+ export declare const RelationView: z.ZodObject<{
1164
+ id: z.ZodUUID;
1165
+ type: z.ZodEnum<{
1166
+ blocks: "blocks";
1167
+ blocked_by: "blocked_by";
1168
+ relates: "relates";
1169
+ duplicates: "duplicates";
1170
+ duplicated_by: "duplicated_by";
1171
+ clones: "clones";
1172
+ cloned_by: "cloned_by";
1173
+ }>;
1174
+ issue: z.ZodObject<{
1175
+ number: z.ZodNumber;
1176
+ triage: z.ZodBoolean;
1177
+ id: z.ZodUUID;
1178
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1179
+ key: z.ZodString;
1180
+ updatedAt: z.ZodISODateTime;
1181
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
1182
+ projectId: z.ZodUUID;
1183
+ typeId: z.ZodUUID;
1184
+ statusCategory: z.ZodEnum<{
1185
+ backlog: "backlog";
1186
+ todo: "todo";
1187
+ in_progress: "in_progress";
1188
+ done: "done";
1189
+ cancelled: "cancelled";
1190
+ triage: "triage";
1191
+ }>;
1192
+ priority: z.ZodEnum<{
1193
+ none: "none";
1194
+ low: "low";
1195
+ medium: "medium";
1196
+ high: "high";
1197
+ urgent: "urgent";
1198
+ }>;
1199
+ title: z.ZodString;
1200
+ statusId: z.ZodString;
1201
+ assigneeIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1202
+ labelIds: z.ZodArray<z.ZodUUID>;
1203
+ cycleId: z.ZodNullable<z.ZodUUID>;
1204
+ parentId: z.ZodNullable<z.ZodUUID>;
1205
+ rank: z.ZodString;
1206
+ estimate: z.ZodNullable<z.ZodNumber>;
1207
+ startDate: z.ZodNullable<z.ZodString>;
1208
+ dueDate: z.ZodNullable<z.ZodString>;
1209
+ }, z.core.$strip>;
1210
+ createdAt: z.ZodISODateTime;
1211
+ }, z.core.$strip>;
1212
+ export type RelationView = z.infer<typeof RelationView>;
1213
+ export declare const Attachment: z.ZodObject<{
1214
+ id: z.ZodUUID;
1215
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1216
+ issueId: z.ZodUUID;
1217
+ fileId: z.ZodUUID;
1218
+ name: z.ZodString;
1219
+ mimeType: z.ZodString;
1220
+ size: z.ZodNumber;
1221
+ uploadedBy: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1222
+ createdAt: z.ZodISODateTime;
1223
+ }, z.core.$strip>;
1224
+ export type Attachment = z.infer<typeof Attachment>;
1225
+ export declare const Link: z.ZodObject<{
1226
+ id: z.ZodUUID;
1227
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1228
+ issueId: z.ZodUUID;
1229
+ url: z.ZodString;
1230
+ title: z.ZodNullable<z.ZodString>;
1231
+ kind: z.ZodString;
1232
+ createdBy: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1233
+ createdAt: z.ZodISODateTime;
1234
+ }, z.core.$strip>;
1235
+ export type Link = z.infer<typeof Link>;
1236
+ export declare const Worklog: z.ZodObject<{
1237
+ id: z.ZodUUID;
1238
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1239
+ projectId: z.ZodUUID;
1240
+ issueId: z.ZodUUID;
1241
+ userId: z.core.$ZodBranded<z.ZodUUID, "UserId", "out">;
1242
+ startedAt: z.ZodISODateTime;
1243
+ durationSec: z.ZodNumber;
1244
+ note: z.ZodNullable<z.ZodString>;
1245
+ billable: z.ZodBoolean;
1246
+ createdAt: z.ZodISODateTime;
1247
+ updatedAt: z.ZodISODateTime;
1248
+ }, z.core.$strip>;
1249
+ export type Worklog = z.infer<typeof Worklog>;
1250
+ export declare const UpsertWorklog: z.ZodObject<{
1251
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
1252
+ durationSec: z.ZodNumber;
1253
+ note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1254
+ billable: z.ZodOptional<z.ZodBoolean>;
1255
+ adjustRemaining: z.ZodDefault<z.ZodEnum<{
1256
+ set: "set";
1257
+ auto: "auto";
1258
+ leave: "leave";
1259
+ }>>;
1260
+ remainingSec: z.ZodOptional<z.ZodNumber>;
1261
+ }, z.core.$strip>;
1262
+ export declare const Timer: z.ZodObject<{
1263
+ id: z.ZodUUID;
1264
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1265
+ issueId: z.ZodUUID;
1266
+ userId: z.core.$ZodBranded<z.ZodUUID, "UserId", "out">;
1267
+ startedAt: z.ZodISODateTime;
1268
+ note: z.ZodNullable<z.ZodString>;
1269
+ }, z.core.$strip>;
1270
+ export type Timer = z.infer<typeof Timer>;
1271
+ /** Timesheet cell: seconds per (user, issue/project, day). */
1272
+ export declare const TimesheetRow: z.ZodObject<{
1273
+ userId: z.core.$ZodBranded<z.ZodUUID, "UserId", "out">;
1274
+ projectId: z.ZodUUID;
1275
+ issueId: z.ZodNullable<z.ZodUUID>;
1276
+ issueKey: z.ZodNullable<z.ZodString>;
1277
+ date: z.ZodString;
1278
+ durationSec: z.ZodNumber;
1279
+ billableSec: z.ZodNumber;
1280
+ }, z.core.$strip>;
1281
+ export type TimesheetRow = z.infer<typeof TimesheetRow>;
1282
+ export declare const IssueTemplate: z.ZodObject<{
1283
+ id: z.ZodUUID;
1284
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1285
+ projectId: z.ZodNullable<z.ZodUUID>;
1286
+ name: z.ZodString;
1287
+ description: z.ZodNullable<z.ZodString>;
1288
+ typeId: z.ZodNullable<z.ZodUUID>;
1289
+ defaults: z.ZodObject<{
1290
+ custom: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1291
+ triage: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1292
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1293
+ type: z.ZodLiteral<"doc">;
1294
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1295
+ }, z.core.$catchall<z.ZodUnknown>>>>>;
1296
+ typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1297
+ priority: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1298
+ none: "none";
1299
+ low: "low";
1300
+ medium: "medium";
1301
+ high: "high";
1302
+ urgent: "urgent";
1303
+ }>>>;
1304
+ title: z.ZodOptional<z.ZodString>;
1305
+ statusId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1306
+ assigneeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1307
+ reporterId: z.ZodOptional<z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1308
+ labelIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1309
+ componentIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1310
+ versionIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1311
+ affectsVersionIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1312
+ cycleId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1313
+ milestoneId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1314
+ parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1315
+ estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1316
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1317
+ dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1318
+ watcherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1319
+ originalEstimateSec: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1320
+ rankAfterId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1321
+ rankBeforeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1322
+ attachmentIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1323
+ }, z.core.$strip>;
1324
+ subItems: z.ZodArray<z.ZodObject<{
1325
+ title: z.ZodString;
1326
+ typeId: z.ZodOptional<z.ZodUUID>;
1327
+ }, z.core.$strip>>;
1328
+ createdBy: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1329
+ createdAt: z.ZodISODateTime;
1330
+ updatedAt: z.ZodISODateTime;
1331
+ }, z.core.$strip>;
1332
+ export type IssueTemplate = z.infer<typeof IssueTemplate>;
1333
+ export declare const UpsertIssueTemplate: z.ZodObject<{
1334
+ name: z.ZodString;
1335
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1336
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1337
+ typeId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1338
+ defaults: z.ZodOptional<z.ZodObject<{
1339
+ custom: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1340
+ triage: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1341
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1342
+ type: z.ZodLiteral<"doc">;
1343
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1344
+ }, z.core.$catchall<z.ZodUnknown>>>>>;
1345
+ typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1346
+ priority: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1347
+ none: "none";
1348
+ low: "low";
1349
+ medium: "medium";
1350
+ high: "high";
1351
+ urgent: "urgent";
1352
+ }>>>;
1353
+ title: z.ZodOptional<z.ZodString>;
1354
+ statusId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1355
+ assigneeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1356
+ reporterId: z.ZodOptional<z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1357
+ labelIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1358
+ componentIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1359
+ versionIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1360
+ affectsVersionIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1361
+ cycleId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1362
+ milestoneId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1363
+ parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1364
+ estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1365
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1366
+ dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1367
+ watcherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1368
+ originalEstimateSec: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1369
+ rankAfterId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1370
+ rankBeforeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1371
+ attachmentIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1372
+ }, z.core.$strip>>;
1373
+ subItems: z.ZodOptional<z.ZodArray<z.ZodObject<{
1374
+ title: z.ZodString;
1375
+ typeId: z.ZodOptional<z.ZodUUID>;
1376
+ }, z.core.$strip>>>;
1377
+ }, z.core.$strip>;
1378
+ /** Recurrence rule (simplified RRULE). */
1379
+ export declare const RecurrenceRule: z.ZodObject<{
1380
+ freq: z.ZodEnum<{
1381
+ daily: "daily";
1382
+ weekly: "weekly";
1383
+ monthly: "monthly";
1384
+ yearly: "yearly";
1385
+ }>;
1386
+ interval: z.ZodDefault<z.ZodNumber>;
1387
+ byWeekday: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1388
+ byMonthDay: z.ZodOptional<z.ZodNumber>;
1389
+ at: z.ZodDefault<z.ZodString>;
1390
+ until: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
1391
+ count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1392
+ }, z.core.$strip>;
1393
+ export type RecurrenceRule = z.infer<typeof RecurrenceRule>;
1394
+ export declare const RecurringIssue: z.ZodObject<{
1395
+ id: z.ZodUUID;
1396
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1397
+ projectId: z.ZodUUID;
1398
+ name: z.ZodString;
1399
+ rule: z.ZodObject<{
1400
+ freq: z.ZodEnum<{
1401
+ daily: "daily";
1402
+ weekly: "weekly";
1403
+ monthly: "monthly";
1404
+ yearly: "yearly";
1405
+ }>;
1406
+ interval: z.ZodDefault<z.ZodNumber>;
1407
+ byWeekday: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1408
+ byMonthDay: z.ZodOptional<z.ZodNumber>;
1409
+ at: z.ZodDefault<z.ZodString>;
1410
+ until: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
1411
+ count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1412
+ }, z.core.$strip>;
1413
+ defaults: z.ZodObject<{
1414
+ custom: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1415
+ triage: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1416
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1417
+ type: z.ZodLiteral<"doc">;
1418
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1419
+ }, z.core.$catchall<z.ZodUnknown>>>>>;
1420
+ typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1421
+ priority: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1422
+ none: "none";
1423
+ low: "low";
1424
+ medium: "medium";
1425
+ high: "high";
1426
+ urgent: "urgent";
1427
+ }>>>;
1428
+ title: z.ZodOptional<z.ZodString>;
1429
+ statusId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1430
+ assigneeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1431
+ reporterId: z.ZodOptional<z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1432
+ labelIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1433
+ componentIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1434
+ versionIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1435
+ affectsVersionIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1436
+ cycleId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1437
+ milestoneId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1438
+ parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1439
+ estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1440
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1441
+ dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1442
+ watcherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1443
+ originalEstimateSec: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1444
+ rankAfterId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1445
+ rankBeforeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1446
+ attachmentIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1447
+ }, z.core.$strip>;
1448
+ enabled: z.ZodBoolean;
1449
+ nextRunAt: z.ZodNullable<z.ZodISODateTime>;
1450
+ lastRunAt: z.ZodNullable<z.ZodISODateTime>;
1451
+ lastIssueId: z.ZodNullable<z.ZodUUID>;
1452
+ runCount: z.ZodNumber;
1453
+ createdBy: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1454
+ createdAt: z.ZodISODateTime;
1455
+ updatedAt: z.ZodISODateTime;
1456
+ }, z.core.$strip>;
1457
+ export type RecurringIssue = z.infer<typeof RecurringIssue>;
1458
+ export declare const UpsertRecurringIssue: z.ZodObject<{
1459
+ name: z.ZodString;
1460
+ defaults: z.ZodObject<{
1461
+ custom: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1462
+ triage: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1463
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1464
+ type: z.ZodLiteral<"doc">;
1465
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1466
+ }, z.core.$catchall<z.ZodUnknown>>>>>;
1467
+ typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1468
+ priority: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1469
+ none: "none";
1470
+ low: "low";
1471
+ medium: "medium";
1472
+ high: "high";
1473
+ urgent: "urgent";
1474
+ }>>>;
1475
+ title: z.ZodOptional<z.ZodString>;
1476
+ statusId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1477
+ assigneeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1478
+ reporterId: z.ZodOptional<z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1479
+ labelIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1480
+ componentIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1481
+ versionIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1482
+ affectsVersionIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1483
+ cycleId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1484
+ milestoneId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1485
+ parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1486
+ estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1487
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1488
+ dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1489
+ watcherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1490
+ originalEstimateSec: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1491
+ rankAfterId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1492
+ rankBeforeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1493
+ attachmentIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUUID>>>;
1494
+ }, z.core.$strip>;
1495
+ rule: z.ZodObject<{
1496
+ freq: z.ZodEnum<{
1497
+ daily: "daily";
1498
+ weekly: "weekly";
1499
+ monthly: "monthly";
1500
+ yearly: "yearly";
1501
+ }>;
1502
+ interval: z.ZodDefault<z.ZodNumber>;
1503
+ byWeekday: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1504
+ byMonthDay: z.ZodOptional<z.ZodNumber>;
1505
+ at: z.ZodDefault<z.ZodString>;
1506
+ until: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
1507
+ count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1508
+ }, z.core.$strip>;
1509
+ enabled: z.ZodOptional<z.ZodBoolean>;
1510
+ }, z.core.$strip>;
1511
+ export declare const CycleStatus: z.ZodEnum<{
1512
+ upcoming: "upcoming";
1513
+ active: "active";
1514
+ completed: "completed";
1515
+ }>;
1516
+ export type CycleStatus = z.infer<typeof CycleStatus>;
1517
+ export declare const Cycle: z.ZodObject<{
1518
+ id: z.ZodUUID;
1519
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1520
+ projectId: z.ZodUUID;
1521
+ number: z.ZodNumber;
1522
+ name: z.ZodString;
1523
+ goal: z.ZodNullable<z.ZodString>;
1524
+ startAt: z.ZodISODateTime;
1525
+ endAt: z.ZodISODateTime;
1526
+ status: z.ZodEnum<{
1527
+ upcoming: "upcoming";
1528
+ active: "active";
1529
+ completed: "completed";
1530
+ }>;
1531
+ startedAt: z.ZodNullable<z.ZodISODateTime>;
1532
+ completedAt: z.ZodNullable<z.ZodISODateTime>;
1533
+ carryOverCount: z.ZodNumber;
1534
+ stats: z.ZodObject<{
1535
+ total: z.ZodNumber;
1536
+ done: z.ZodNumber;
1537
+ estimateTotal: z.ZodNumber;
1538
+ estimateDone: z.ZodNumber;
1539
+ }, z.core.$strip>;
1540
+ createdAt: z.ZodISODateTime;
1541
+ updatedAt: z.ZodISODateTime;
1542
+ }, z.core.$strip>;
1543
+ export type Cycle = z.infer<typeof Cycle>;
1544
+ export declare const UpsertCycle: z.ZodObject<{
1545
+ name: z.ZodOptional<z.ZodString>;
1546
+ goal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1547
+ startAt: z.ZodISODateTime;
1548
+ endAt: z.ZodISODateTime;
1549
+ }, z.core.$strip>;
1550
+ export declare const Milestone: z.ZodObject<{
1551
+ id: z.ZodUUID;
1552
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1553
+ projectId: z.ZodUUID;
1554
+ name: z.ZodString;
1555
+ description: z.ZodNullable<z.ZodString>;
1556
+ targetDate: z.ZodNullable<z.ZodString>;
1557
+ status: z.ZodEnum<{
1558
+ cancelled: "cancelled";
1559
+ completed: "completed";
1560
+ open: "open";
1561
+ }>;
1562
+ stats: z.ZodObject<{
1563
+ total: z.ZodNumber;
1564
+ done: z.ZodNumber;
1565
+ }, z.core.$strip>;
1566
+ completedAt: z.ZodNullable<z.ZodISODateTime>;
1567
+ createdAt: z.ZodISODateTime;
1568
+ updatedAt: z.ZodISODateTime;
1569
+ }, z.core.$strip>;
1570
+ export type Milestone = z.infer<typeof Milestone>;
1571
+ export declare const UpsertMilestone: z.ZodObject<{
1572
+ name: z.ZodString;
1573
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1574
+ targetDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1575
+ status: z.ZodOptional<z.ZodEnum<{
1576
+ cancelled: "cancelled";
1577
+ completed: "completed";
1578
+ open: "open";
1579
+ }>>;
1580
+ }, z.core.$strip>;
1581
+ export declare const VersionStatus: z.ZodEnum<{
1582
+ archived: "archived";
1583
+ unreleased: "unreleased";
1584
+ released: "released";
1585
+ }>;
1586
+ export type VersionStatus = z.infer<typeof VersionStatus>;
1587
+ export declare const Version: z.ZodObject<{
1588
+ id: z.ZodUUID;
1589
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1590
+ projectId: z.ZodUUID;
1591
+ name: z.ZodString;
1592
+ description: z.ZodNullable<z.ZodString>;
1593
+ status: z.ZodEnum<{
1594
+ archived: "archived";
1595
+ unreleased: "unreleased";
1596
+ released: "released";
1597
+ }>;
1598
+ startDate: z.ZodNullable<z.ZodString>;
1599
+ releaseDate: z.ZodNullable<z.ZodString>;
1600
+ releasedAt: z.ZodNullable<z.ZodISODateTime>;
1601
+ stats: z.ZodObject<{
1602
+ total: z.ZodNumber;
1603
+ done: z.ZodNumber;
1604
+ }, z.core.$strip>;
1605
+ order: z.ZodNumber;
1606
+ createdAt: z.ZodISODateTime;
1607
+ updatedAt: z.ZodISODateTime;
1608
+ }, z.core.$strip>;
1609
+ export type Version = z.infer<typeof Version>;
1610
+ export declare const UpsertVersion: z.ZodObject<{
1611
+ name: z.ZodString;
1612
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1613
+ startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1614
+ releaseDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1615
+ order: z.ZodOptional<z.ZodNumber>;
1616
+ }, z.core.$strip>;
1617
+ export declare const Component: z.ZodObject<{
1618
+ id: z.ZodUUID;
1619
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1620
+ projectId: z.ZodUUID;
1621
+ name: z.ZodString;
1622
+ description: z.ZodNullable<z.ZodString>;
1623
+ leadId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1624
+ defaultAssignee: z.ZodEnum<{
1625
+ none: "none";
1626
+ lead: "lead";
1627
+ project: "project";
1628
+ }>;
1629
+ issueCount: z.ZodNumber;
1630
+ createdAt: z.ZodISODateTime;
1631
+ updatedAt: z.ZodISODateTime;
1632
+ }, z.core.$strip>;
1633
+ export type Component = z.infer<typeof Component>;
1634
+ export declare const UpsertComponent: z.ZodObject<{
1635
+ name: z.ZodString;
1636
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1637
+ leadId: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
1638
+ defaultAssignee: z.ZodOptional<z.ZodEnum<{
1639
+ none: "none";
1640
+ lead: "lead";
1641
+ project: "project";
1642
+ }>>;
1643
+ }, z.core.$strip>;
1644
+ export declare const Label: z.ZodObject<{
1645
+ id: z.ZodUUID;
1646
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1647
+ projectId: z.ZodNullable<z.ZodUUID>;
1648
+ name: z.ZodString;
1649
+ color: z.ZodNullable<z.ZodString>;
1650
+ description: z.ZodNullable<z.ZodString>;
1651
+ groupName: z.ZodNullable<z.ZodString>;
1652
+ issueCount: z.ZodNumber;
1653
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
1654
+ createdAt: z.ZodISODateTime;
1655
+ }, z.core.$strip>;
1656
+ export type Label = z.infer<typeof Label>;
1657
+ export declare const UpsertLabel: z.ZodObject<{
1658
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1659
+ name: z.ZodString;
1660
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1661
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1662
+ groupName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1663
+ }, z.core.$strip>;
1664
+ export declare const ViewLayout: z.ZodEnum<{
1665
+ list: "list";
1666
+ board: "board";
1667
+ calendar: "calendar";
1668
+ timeline: "timeline";
1669
+ spreadsheet: "spreadsheet";
1670
+ }>;
1671
+ export type ViewLayout = z.infer<typeof ViewLayout>;
1672
+ export declare const ViewVisibility: z.ZodEnum<{
1673
+ workspace: "workspace";
1674
+ private: "private";
1675
+ project: "project";
1676
+ }>;
1677
+ export type ViewVisibility = z.infer<typeof ViewVisibility>;
1678
+ /** Group/sort keys accepted by views and `issues.query`. */
1679
+ export declare const GroupBy: z.ZodEnum<{
1680
+ type: "type";
1681
+ none: "none";
1682
+ createdAt: "createdAt";
1683
+ label: "label";
1684
+ statusCategory: "statusCategory";
1685
+ priority: "priority";
1686
+ dueDate: "dueDate";
1687
+ status: "status";
1688
+ project: "project";
1689
+ assignee: "assignee";
1690
+ cycle: "cycle";
1691
+ milestone: "milestone";
1692
+ parent: "parent";
1693
+ component: "component";
1694
+ version: "version";
1695
+ }>;
1696
+ export type GroupBy = z.infer<typeof GroupBy>;
1697
+ export declare const OrderBy: z.ZodObject<{
1698
+ field: z.ZodString;
1699
+ dir: z.ZodDefault<z.ZodEnum<{
1700
+ asc: "asc";
1701
+ desc: "desc";
1702
+ }>>;
1703
+ }, z.core.$strip>;
1704
+ export type OrderBy = z.infer<typeof OrderBy>;
1705
+ export declare const BoardColumn: z.ZodObject<{
1706
+ id: z.ZodString;
1707
+ name: z.ZodString;
1708
+ statusIds: z.ZodArray<z.ZodString>;
1709
+ wipLimit: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1710
+ collapsed: z.ZodDefault<z.ZodBoolean>;
1711
+ }, z.core.$strip>;
1712
+ export type BoardColumn = z.infer<typeof BoardColumn>;
1713
+ export declare const ViewDisplay: z.ZodObject<{
1714
+ groupBy: z.ZodDefault<z.ZodEnum<{
1715
+ type: "type";
1716
+ none: "none";
1717
+ createdAt: "createdAt";
1718
+ label: "label";
1719
+ statusCategory: "statusCategory";
1720
+ priority: "priority";
1721
+ dueDate: "dueDate";
1722
+ status: "status";
1723
+ project: "project";
1724
+ assignee: "assignee";
1725
+ cycle: "cycle";
1726
+ milestone: "milestone";
1727
+ parent: "parent";
1728
+ component: "component";
1729
+ version: "version";
1730
+ }>>;
1731
+ subGroupBy: z.ZodOptional<z.ZodEnum<{
1732
+ type: "type";
1733
+ none: "none";
1734
+ createdAt: "createdAt";
1735
+ label: "label";
1736
+ statusCategory: "statusCategory";
1737
+ priority: "priority";
1738
+ dueDate: "dueDate";
1739
+ status: "status";
1740
+ project: "project";
1741
+ assignee: "assignee";
1742
+ cycle: "cycle";
1743
+ milestone: "milestone";
1744
+ parent: "parent";
1745
+ component: "component";
1746
+ version: "version";
1747
+ }>>;
1748
+ orderBy: z.ZodDefault<z.ZodArray<z.ZodObject<{
1749
+ field: z.ZodString;
1750
+ dir: z.ZodDefault<z.ZodEnum<{
1751
+ asc: "asc";
1752
+ desc: "desc";
1753
+ }>>;
1754
+ }, z.core.$strip>>>;
1755
+ columns: z.ZodDefault<z.ZodArray<z.ZodString>>;
1756
+ swimlanes: z.ZodOptional<z.ZodEnum<{
1757
+ type: "type";
1758
+ none: "none";
1759
+ createdAt: "createdAt";
1760
+ label: "label";
1761
+ statusCategory: "statusCategory";
1762
+ priority: "priority";
1763
+ dueDate: "dueDate";
1764
+ status: "status";
1765
+ project: "project";
1766
+ assignee: "assignee";
1767
+ cycle: "cycle";
1768
+ milestone: "milestone";
1769
+ parent: "parent";
1770
+ component: "component";
1771
+ version: "version";
1772
+ }>>;
1773
+ showSubItems: z.ZodDefault<z.ZodBoolean>;
1774
+ showEmptyGroups: z.ZodDefault<z.ZodBoolean>;
1775
+ showCompleted: z.ZodDefault<z.ZodEnum<{
1776
+ none: "none";
1777
+ all: "all";
1778
+ "1d": "1d";
1779
+ "7d": "7d";
1780
+ "30d": "30d";
1781
+ }>>;
1782
+ boardColumns: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodObject<{
1783
+ id: z.ZodString;
1784
+ name: z.ZodString;
1785
+ statusIds: z.ZodArray<z.ZodString>;
1786
+ wipLimit: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1787
+ collapsed: z.ZodDefault<z.ZodBoolean>;
1788
+ }, z.core.$strip>>>>;
1789
+ wipLimits: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1790
+ calendarField: z.ZodDefault<z.ZodEnum<{
1791
+ createdAt: "createdAt";
1792
+ startDate: "startDate";
1793
+ dueDate: "dueDate";
1794
+ }>>;
1795
+ showDependencies: z.ZodDefault<z.ZodBoolean>;
1796
+ density: z.ZodDefault<z.ZodEnum<{
1797
+ compact: "compact";
1798
+ comfortable: "comfortable";
1799
+ }>>;
1800
+ cardProps: z.ZodDefault<z.ZodArray<z.ZodString>>;
1801
+ }, z.core.$strip>;
1802
+ export type ViewDisplay = z.infer<typeof ViewDisplay>;
1803
+ /** Visual filter builder state (kept verbatim for the UI; the server only uses `kql`). */
1804
+ export declare const ViewFilters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1805
+ export declare const View: z.ZodObject<{
1806
+ id: z.ZodUUID;
1807
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
1808
+ projectId: z.ZodNullable<z.ZodUUID>;
1809
+ name: z.ZodString;
1810
+ description: z.ZodNullable<z.ZodString>;
1811
+ icon: z.ZodNullable<z.ZodString>;
1812
+ kql: z.ZodString;
1813
+ layout: z.ZodEnum<{
1814
+ list: "list";
1815
+ board: "board";
1816
+ calendar: "calendar";
1817
+ timeline: "timeline";
1818
+ spreadsheet: "spreadsheet";
1819
+ }>;
1820
+ display: z.ZodObject<{
1821
+ groupBy: z.ZodDefault<z.ZodEnum<{
1822
+ type: "type";
1823
+ none: "none";
1824
+ createdAt: "createdAt";
1825
+ label: "label";
1826
+ statusCategory: "statusCategory";
1827
+ priority: "priority";
1828
+ dueDate: "dueDate";
1829
+ status: "status";
1830
+ project: "project";
1831
+ assignee: "assignee";
1832
+ cycle: "cycle";
1833
+ milestone: "milestone";
1834
+ parent: "parent";
1835
+ component: "component";
1836
+ version: "version";
1837
+ }>>;
1838
+ subGroupBy: z.ZodOptional<z.ZodEnum<{
1839
+ type: "type";
1840
+ none: "none";
1841
+ createdAt: "createdAt";
1842
+ label: "label";
1843
+ statusCategory: "statusCategory";
1844
+ priority: "priority";
1845
+ dueDate: "dueDate";
1846
+ status: "status";
1847
+ project: "project";
1848
+ assignee: "assignee";
1849
+ cycle: "cycle";
1850
+ milestone: "milestone";
1851
+ parent: "parent";
1852
+ component: "component";
1853
+ version: "version";
1854
+ }>>;
1855
+ orderBy: z.ZodDefault<z.ZodArray<z.ZodObject<{
1856
+ field: z.ZodString;
1857
+ dir: z.ZodDefault<z.ZodEnum<{
1858
+ asc: "asc";
1859
+ desc: "desc";
1860
+ }>>;
1861
+ }, z.core.$strip>>>;
1862
+ columns: z.ZodDefault<z.ZodArray<z.ZodString>>;
1863
+ swimlanes: z.ZodOptional<z.ZodEnum<{
1864
+ type: "type";
1865
+ none: "none";
1866
+ createdAt: "createdAt";
1867
+ label: "label";
1868
+ statusCategory: "statusCategory";
1869
+ priority: "priority";
1870
+ dueDate: "dueDate";
1871
+ status: "status";
1872
+ project: "project";
1873
+ assignee: "assignee";
1874
+ cycle: "cycle";
1875
+ milestone: "milestone";
1876
+ parent: "parent";
1877
+ component: "component";
1878
+ version: "version";
1879
+ }>>;
1880
+ showSubItems: z.ZodDefault<z.ZodBoolean>;
1881
+ showEmptyGroups: z.ZodDefault<z.ZodBoolean>;
1882
+ showCompleted: z.ZodDefault<z.ZodEnum<{
1883
+ none: "none";
1884
+ all: "all";
1885
+ "1d": "1d";
1886
+ "7d": "7d";
1887
+ "30d": "30d";
1888
+ }>>;
1889
+ boardColumns: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodObject<{
1890
+ id: z.ZodString;
1891
+ name: z.ZodString;
1892
+ statusIds: z.ZodArray<z.ZodString>;
1893
+ wipLimit: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1894
+ collapsed: z.ZodDefault<z.ZodBoolean>;
1895
+ }, z.core.$strip>>>>;
1896
+ wipLimits: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1897
+ calendarField: z.ZodDefault<z.ZodEnum<{
1898
+ createdAt: "createdAt";
1899
+ startDate: "startDate";
1900
+ dueDate: "dueDate";
1901
+ }>>;
1902
+ showDependencies: z.ZodDefault<z.ZodBoolean>;
1903
+ density: z.ZodDefault<z.ZodEnum<{
1904
+ compact: "compact";
1905
+ comfortable: "comfortable";
1906
+ }>>;
1907
+ cardProps: z.ZodDefault<z.ZodArray<z.ZodString>>;
1908
+ }, z.core.$strip>;
1909
+ filters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1910
+ visibility: z.ZodEnum<{
1911
+ workspace: "workspace";
1912
+ private: "private";
1913
+ project: "project";
1914
+ }>;
1915
+ ownerId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1916
+ pinned: z.ZodBoolean;
1917
+ builtin: z.ZodBoolean;
1918
+ order: z.ZodNumber;
1919
+ createdAt: z.ZodISODateTime;
1920
+ updatedAt: z.ZodISODateTime;
1921
+ }, z.core.$strip>;
1922
+ export type View = z.infer<typeof View>;
1923
+ export declare const UpsertView: z.ZodObject<{
1924
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
1925
+ name: z.ZodString;
1926
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1927
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1928
+ kql: z.ZodDefault<z.ZodString>;
1929
+ layout: z.ZodDefault<z.ZodEnum<{
1930
+ list: "list";
1931
+ board: "board";
1932
+ calendar: "calendar";
1933
+ timeline: "timeline";
1934
+ spreadsheet: "spreadsheet";
1935
+ }>>;
1936
+ display: z.ZodOptional<z.ZodObject<{
1937
+ groupBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
1938
+ type: "type";
1939
+ none: "none";
1940
+ createdAt: "createdAt";
1941
+ label: "label";
1942
+ statusCategory: "statusCategory";
1943
+ priority: "priority";
1944
+ dueDate: "dueDate";
1945
+ status: "status";
1946
+ project: "project";
1947
+ assignee: "assignee";
1948
+ cycle: "cycle";
1949
+ milestone: "milestone";
1950
+ parent: "parent";
1951
+ component: "component";
1952
+ version: "version";
1953
+ }>>>;
1954
+ subGroupBy: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1955
+ type: "type";
1956
+ none: "none";
1957
+ createdAt: "createdAt";
1958
+ label: "label";
1959
+ statusCategory: "statusCategory";
1960
+ priority: "priority";
1961
+ dueDate: "dueDate";
1962
+ status: "status";
1963
+ project: "project";
1964
+ assignee: "assignee";
1965
+ cycle: "cycle";
1966
+ milestone: "milestone";
1967
+ parent: "parent";
1968
+ component: "component";
1969
+ version: "version";
1970
+ }>>>;
1971
+ orderBy: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
1972
+ field: z.ZodString;
1973
+ dir: z.ZodDefault<z.ZodEnum<{
1974
+ asc: "asc";
1975
+ desc: "desc";
1976
+ }>>;
1977
+ }, z.core.$strip>>>>;
1978
+ columns: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
1979
+ swimlanes: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1980
+ type: "type";
1981
+ none: "none";
1982
+ createdAt: "createdAt";
1983
+ label: "label";
1984
+ statusCategory: "statusCategory";
1985
+ priority: "priority";
1986
+ dueDate: "dueDate";
1987
+ status: "status";
1988
+ project: "project";
1989
+ assignee: "assignee";
1990
+ cycle: "cycle";
1991
+ milestone: "milestone";
1992
+ parent: "parent";
1993
+ component: "component";
1994
+ version: "version";
1995
+ }>>>;
1996
+ showSubItems: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1997
+ showEmptyGroups: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1998
+ showCompleted: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
1999
+ none: "none";
2000
+ all: "all";
2001
+ "1d": "1d";
2002
+ "7d": "7d";
2003
+ "30d": "30d";
2004
+ }>>>;
2005
+ boardColumns: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodObject<{
2006
+ id: z.ZodString;
2007
+ name: z.ZodString;
2008
+ statusIds: z.ZodArray<z.ZodString>;
2009
+ wipLimit: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
2010
+ collapsed: z.ZodDefault<z.ZodBoolean>;
2011
+ }, z.core.$strip>>>>>;
2012
+ wipLimits: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
2013
+ calendarField: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
2014
+ createdAt: "createdAt";
2015
+ startDate: "startDate";
2016
+ dueDate: "dueDate";
2017
+ }>>>;
2018
+ showDependencies: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2019
+ density: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
2020
+ compact: "compact";
2021
+ comfortable: "comfortable";
2022
+ }>>>;
2023
+ cardProps: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
2024
+ }, z.core.$strip>>;
2025
+ filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2026
+ visibility: z.ZodDefault<z.ZodEnum<{
2027
+ workspace: "workspace";
2028
+ private: "private";
2029
+ project: "project";
2030
+ }>>;
2031
+ order: z.ZodOptional<z.ZodNumber>;
2032
+ }, z.core.$strip>;
2033
+ export declare const KqlError: z.ZodObject<{
2034
+ message: z.ZodString;
2035
+ start: z.ZodNumber;
2036
+ end: z.ZodNumber;
2037
+ }, z.core.$strip>;
2038
+ export type KqlError = z.infer<typeof KqlError>;
2039
+ export declare const KqlSuggestion: z.ZodObject<{
2040
+ kind: z.ZodEnum<{
2041
+ function: "function";
2042
+ value: "value";
2043
+ field: "field";
2044
+ operator: "operator";
2045
+ keyword: "keyword";
2046
+ }>;
2047
+ label: z.ZodString;
2048
+ insertText: z.ZodString;
2049
+ detail: z.ZodOptional<z.ZodString>;
2050
+ }, z.core.$strip>;
2051
+ export type KqlSuggestion = z.infer<typeof KqlSuggestion>;
2052
+ export declare const KqlFieldInfo: z.ZodObject<{
2053
+ name: z.ZodString;
2054
+ type: z.ZodEnum<{
2055
+ number: "number";
2056
+ boolean: "boolean";
2057
+ date: "date";
2058
+ enum: "enum";
2059
+ id: "id";
2060
+ key: "key";
2061
+ text: "text";
2062
+ datetime: "datetime";
2063
+ user: "user";
2064
+ ref: "ref";
2065
+ }>;
2066
+ label: z.ZodString;
2067
+ operators: z.ZodArray<z.ZodString>;
2068
+ values: z.ZodOptional<z.ZodArray<z.ZodObject<{
2069
+ value: z.ZodString;
2070
+ label: z.ZodString;
2071
+ }, z.core.$strip>>>;
2072
+ custom: z.ZodBoolean;
2073
+ sortable: z.ZodBoolean;
2074
+ }, z.core.$strip>;
2075
+ export type KqlFieldInfo = z.infer<typeof KqlFieldInfo>;
2076
+ export declare const KqlParseResult: z.ZodObject<{
2077
+ ok: z.ZodBoolean;
2078
+ ast: z.ZodNullable<z.ZodUnknown>;
2079
+ errors: z.ZodArray<z.ZodObject<{
2080
+ message: z.ZodString;
2081
+ start: z.ZodNumber;
2082
+ end: z.ZodNumber;
2083
+ }, z.core.$strip>>;
2084
+ normalized: z.ZodNullable<z.ZodString>;
2085
+ suggestions: z.ZodArray<z.ZodObject<{
2086
+ kind: z.ZodEnum<{
2087
+ function: "function";
2088
+ value: "value";
2089
+ field: "field";
2090
+ operator: "operator";
2091
+ keyword: "keyword";
2092
+ }>;
2093
+ label: z.ZodString;
2094
+ insertText: z.ZodString;
2095
+ detail: z.ZodOptional<z.ZodString>;
2096
+ }, z.core.$strip>>;
2097
+ }, z.core.$strip>;
2098
+ export type KqlParseResult = z.infer<typeof KqlParseResult>;
2099
+ export declare const IssueQueryInput: z.ZodObject<{
2100
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
2101
+ kql: z.ZodDefault<z.ZodString>;
2102
+ projectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
2103
+ orderBy: z.ZodOptional<z.ZodArray<z.ZodObject<{
2104
+ field: z.ZodString;
2105
+ dir: z.ZodDefault<z.ZodEnum<{
2106
+ asc: "asc";
2107
+ desc: "desc";
2108
+ }>>;
2109
+ }, z.core.$strip>>>;
2110
+ groupBy: z.ZodOptional<z.ZodEnum<{
2111
+ type: "type";
2112
+ none: "none";
2113
+ createdAt: "createdAt";
2114
+ label: "label";
2115
+ statusCategory: "statusCategory";
2116
+ priority: "priority";
2117
+ dueDate: "dueDate";
2118
+ status: "status";
2119
+ project: "project";
2120
+ assignee: "assignee";
2121
+ cycle: "cycle";
2122
+ milestone: "milestone";
2123
+ parent: "parent";
2124
+ component: "component";
2125
+ version: "version";
2126
+ }>>;
2127
+ cursor: z.ZodOptional<z.ZodString>;
2128
+ limit: z.ZodDefault<z.ZodNumber>;
2129
+ includeArchived: z.ZodDefault<z.ZodBoolean>;
2130
+ include: z.ZodDefault<z.ZodObject<{
2131
+ total: z.ZodDefault<z.ZodBoolean>;
2132
+ groupCounts: z.ZodDefault<z.ZodBoolean>;
2133
+ full: z.ZodDefault<z.ZodBoolean>;
2134
+ }, z.core.$strip>>;
2135
+ }, z.core.$strip>;
2136
+ export type IssueQueryInput = z.infer<typeof IssueQueryInput>;
2137
+ export declare const IssueQueryResult: z.ZodObject<{
2138
+ items: z.ZodArray<z.ZodObject<{
2139
+ id: z.ZodUUID;
2140
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
2141
+ projectId: z.ZodUUID;
2142
+ key: z.ZodString;
2143
+ number: z.ZodNumber;
2144
+ typeId: z.ZodUUID;
2145
+ title: z.ZodString;
2146
+ description: z.ZodNullable<z.ZodObject<{
2147
+ type: z.ZodLiteral<"doc">;
2148
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2149
+ }, z.core.$catchall<z.ZodUnknown>>>;
2150
+ descriptionText: z.ZodString;
2151
+ statusId: z.ZodString;
2152
+ statusCategory: z.ZodEnum<{
2153
+ backlog: "backlog";
2154
+ todo: "todo";
2155
+ in_progress: "in_progress";
2156
+ done: "done";
2157
+ cancelled: "cancelled";
2158
+ triage: "triage";
2159
+ }>;
2160
+ priority: z.ZodEnum<{
2161
+ none: "none";
2162
+ low: "low";
2163
+ medium: "medium";
2164
+ high: "high";
2165
+ urgent: "urgent";
2166
+ }>;
2167
+ assigneeIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
2168
+ reporterId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
2169
+ creatorId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
2170
+ labelIds: z.ZodArray<z.ZodUUID>;
2171
+ componentIds: z.ZodArray<z.ZodUUID>;
2172
+ versionIds: z.ZodArray<z.ZodUUID>;
2173
+ affectsVersionIds: z.ZodArray<z.ZodUUID>;
2174
+ cycleId: z.ZodNullable<z.ZodUUID>;
2175
+ milestoneId: z.ZodNullable<z.ZodUUID>;
2176
+ parentId: z.ZodNullable<z.ZodUUID>;
2177
+ rank: z.ZodString;
2178
+ estimate: z.ZodNullable<z.ZodNumber>;
2179
+ estimateUnit: z.ZodEnum<{
2180
+ none: "none";
2181
+ points: "points";
2182
+ hours: "hours";
2183
+ }>;
2184
+ startDate: z.ZodNullable<z.ZodString>;
2185
+ dueDate: z.ZodNullable<z.ZodString>;
2186
+ completedAt: z.ZodNullable<z.ZodISODateTime>;
2187
+ cancelledAt: z.ZodNullable<z.ZodISODateTime>;
2188
+ resolution: z.ZodNullable<z.ZodString>;
2189
+ custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2190
+ watcherIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
2191
+ subscriberCount: z.ZodNumber;
2192
+ commentCount: z.ZodNumber;
2193
+ attachmentCount: z.ZodNumber;
2194
+ relationSummary: z.ZodObject<{
2195
+ blocks: z.ZodNumber;
2196
+ blockedBy: z.ZodNumber;
2197
+ openBlockers: z.ZodNumber;
2198
+ relates: z.ZodNumber;
2199
+ duplicates: z.ZodNumber;
2200
+ subItems: z.ZodNumber;
2201
+ subItemsDone: z.ZodNumber;
2202
+ }, z.core.$strip>;
2203
+ timeSpentSec: z.ZodNumber;
2204
+ remainingSec: z.ZodNullable<z.ZodNumber>;
2205
+ originalEstimateSec: z.ZodNullable<z.ZodNumber>;
2206
+ sla: z.ZodNullable<z.ZodObject<{
2207
+ firstResponseDueAt: z.ZodNullable<z.ZodISODateTime>;
2208
+ firstRespondedAt: z.ZodNullable<z.ZodISODateTime>;
2209
+ resolveDueAt: z.ZodNullable<z.ZodISODateTime>;
2210
+ pausedAt: z.ZodNullable<z.ZodISODateTime>;
2211
+ pausedSec: z.ZodNumber;
2212
+ breached: z.ZodBoolean;
2213
+ }, z.core.$strip>>;
2214
+ triage: z.ZodBoolean;
2215
+ snoozedUntil: z.ZodNullable<z.ZodISODateTime>;
2216
+ source: z.ZodEnum<{
2217
+ app: "app";
2218
+ email: "email";
2219
+ intake: "intake";
2220
+ import: "import";
2221
+ api: "api";
2222
+ automation: "automation";
2223
+ recurring: "recurring";
2224
+ }>;
2225
+ externalRef: z.ZodNullable<z.ZodString>;
2226
+ chatChannelId: z.ZodNullable<z.ZodUUID>;
2227
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
2228
+ createdAt: z.ZodISODateTime;
2229
+ updatedAt: z.ZodISODateTime;
2230
+ lastActivityAt: z.ZodISODateTime;
2231
+ }, z.core.$strip>>;
2232
+ nextCursor: z.ZodNullable<z.ZodString>;
2233
+ total: z.ZodOptional<z.ZodNumber>;
2234
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
2235
+ key: z.ZodNullable<z.ZodString>;
2236
+ count: z.ZodNumber;
2237
+ estimate: z.ZodNullable<z.ZodNumber>;
2238
+ }, z.core.$strip>>>;
2239
+ fields: z.ZodArray<z.ZodString>;
2240
+ }, z.core.$strip>;
2241
+ export type IssueQueryResult = z.infer<typeof IssueQueryResult>;
2242
+ export declare const IntakeForm: z.ZodObject<{
2243
+ projectId: z.ZodUUID;
2244
+ projectName: z.ZodString;
2245
+ token: z.ZodString;
2246
+ title: z.ZodString;
2247
+ description: z.ZodNullable<z.ZodString>;
2248
+ fields: z.ZodArray<z.ZodObject<{
2249
+ key: z.ZodString;
2250
+ label: z.ZodString;
2251
+ type: z.ZodEnum<{
2252
+ text: "text";
2253
+ textarea: "textarea";
2254
+ select: "select";
2255
+ email: "email";
2256
+ }>;
2257
+ required: z.ZodBoolean;
2258
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
2259
+ value: z.ZodString;
2260
+ label: z.ZodString;
2261
+ }, z.core.$strip>>>;
2262
+ }, z.core.$strip>>;
2263
+ allowAttachments: z.ZodBoolean;
2264
+ }, z.core.$strip>;
2265
+ export type IntakeForm = z.infer<typeof IntakeForm>;
2266
+ export declare const IntakeSubmission: z.ZodObject<{
2267
+ token: z.ZodString;
2268
+ title: z.ZodString;
2269
+ description: z.ZodOptional<z.ZodString>;
2270
+ email: z.ZodOptional<z.ZodString>;
2271
+ name: z.ZodOptional<z.ZodString>;
2272
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2273
+ website: z.ZodOptional<z.ZodString>;
2274
+ }, z.core.$strip>;
2275
+ export type IntakeSubmission = z.infer<typeof IntakeSubmission>;
2276
+ export declare const EmailAddress: z.ZodObject<{
2277
+ address: z.ZodString;
2278
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2279
+ }, z.core.$strip>;
2280
+ /** Inbound email as handed over by the mail module. */
2281
+ export declare const InboundEmail: z.ZodObject<{
2282
+ projectToken: z.ZodOptional<z.ZodString>;
2283
+ projectId: z.ZodOptional<z.ZodUUID>;
2284
+ workspaceId: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">>;
2285
+ messageId: z.ZodString;
2286
+ inReplyTo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2287
+ references: z.ZodDefault<z.ZodArray<z.ZodString>>;
2288
+ from: z.ZodObject<{
2289
+ address: z.ZodString;
2290
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2291
+ }, z.core.$strip>;
2292
+ to: z.ZodDefault<z.ZodArray<z.ZodObject<{
2293
+ address: z.ZodString;
2294
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2295
+ }, z.core.$strip>>>;
2296
+ subject: z.ZodString;
2297
+ text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2298
+ html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2299
+ receivedAt: z.ZodOptional<z.ZodISODateTime>;
2300
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
2301
+ fileId: z.ZodUUID;
2302
+ name: z.ZodString;
2303
+ mimeType: z.ZodString;
2304
+ size: z.ZodNumber;
2305
+ }, z.core.$strip>>>;
2306
+ }, z.core.$strip>;
2307
+ export type InboundEmail = z.infer<typeof InboundEmail>;
2308
+ export declare const EmailIngestResult: z.ZodObject<{
2309
+ action: z.ZodEnum<{
2310
+ created: "created";
2311
+ commented: "commented";
2312
+ ignored: "ignored";
2313
+ }>;
2314
+ issueId: z.ZodNullable<z.ZodUUID>;
2315
+ issueKey: z.ZodNullable<z.ZodString>;
2316
+ commentId: z.ZodNullable<z.ZodUUID>;
2317
+ reason: z.ZodOptional<z.ZodString>;
2318
+ }, z.core.$strip>;
2319
+ export type EmailIngestResult = z.infer<typeof EmailIngestResult>;
2320
+ export declare const BurndownPoint: z.ZodObject<{
2321
+ date: z.ZodString;
2322
+ remaining: z.ZodNumber;
2323
+ ideal: z.ZodNumber;
2324
+ completed: z.ZodNumber;
2325
+ scope: z.ZodNumber;
2326
+ scopeChange: z.ZodNumber;
2327
+ }, z.core.$strip>;
2328
+ export declare const BurndownReport: z.ZodObject<{
2329
+ cycle: z.ZodObject<{
2330
+ id: z.ZodUUID;
2331
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
2332
+ projectId: z.ZodUUID;
2333
+ number: z.ZodNumber;
2334
+ name: z.ZodString;
2335
+ goal: z.ZodNullable<z.ZodString>;
2336
+ startAt: z.ZodISODateTime;
2337
+ endAt: z.ZodISODateTime;
2338
+ status: z.ZodEnum<{
2339
+ upcoming: "upcoming";
2340
+ active: "active";
2341
+ completed: "completed";
2342
+ }>;
2343
+ startedAt: z.ZodNullable<z.ZodISODateTime>;
2344
+ completedAt: z.ZodNullable<z.ZodISODateTime>;
2345
+ carryOverCount: z.ZodNumber;
2346
+ stats: z.ZodObject<{
2347
+ total: z.ZodNumber;
2348
+ done: z.ZodNumber;
2349
+ estimateTotal: z.ZodNumber;
2350
+ estimateDone: z.ZodNumber;
2351
+ }, z.core.$strip>;
2352
+ createdAt: z.ZodISODateTime;
2353
+ updatedAt: z.ZodISODateTime;
2354
+ }, z.core.$strip>;
2355
+ unit: z.ZodEnum<{
2356
+ none: "none";
2357
+ points: "points";
2358
+ hours: "hours";
2359
+ }>;
2360
+ points: z.ZodArray<z.ZodObject<{
2361
+ date: z.ZodString;
2362
+ remaining: z.ZodNumber;
2363
+ ideal: z.ZodNumber;
2364
+ completed: z.ZodNumber;
2365
+ scope: z.ZodNumber;
2366
+ scopeChange: z.ZodNumber;
2367
+ }, z.core.$strip>>;
2368
+ }, z.core.$strip>;
2369
+ export type BurndownReport = z.infer<typeof BurndownReport>;
2370
+ export declare const VelocityReport: z.ZodObject<{
2371
+ unit: z.ZodEnum<{
2372
+ none: "none";
2373
+ points: "points";
2374
+ hours: "hours";
2375
+ }>;
2376
+ cycles: z.ZodArray<z.ZodObject<{
2377
+ cycle: z.ZodObject<{
2378
+ number: z.ZodNumber;
2379
+ id: z.ZodUUID;
2380
+ name: z.ZodString;
2381
+ startAt: z.ZodISODateTime;
2382
+ endAt: z.ZodISODateTime;
2383
+ status: z.ZodEnum<{
2384
+ upcoming: "upcoming";
2385
+ active: "active";
2386
+ completed: "completed";
2387
+ }>;
2388
+ }, z.core.$strip>;
2389
+ committed: z.ZodNumber;
2390
+ completed: z.ZodNumber;
2391
+ committedCount: z.ZodNumber;
2392
+ completedCount: z.ZodNumber;
2393
+ }, z.core.$strip>>;
2394
+ average: z.ZodNumber;
2395
+ }, z.core.$strip>;
2396
+ export type VelocityReport = z.infer<typeof VelocityReport>;
2397
+ export declare const CfdReport: z.ZodObject<{
2398
+ statuses: z.ZodArray<z.ZodObject<{
2399
+ id: z.ZodString;
2400
+ name: z.ZodString;
2401
+ color: z.ZodNullable<z.ZodString>;
2402
+ category: z.ZodEnum<{
2403
+ backlog: "backlog";
2404
+ todo: "todo";
2405
+ in_progress: "in_progress";
2406
+ done: "done";
2407
+ cancelled: "cancelled";
2408
+ triage: "triage";
2409
+ }>;
2410
+ }, z.core.$strip>>;
2411
+ points: z.ZodArray<z.ZodObject<{
2412
+ date: z.ZodString;
2413
+ counts: z.ZodRecord<z.ZodString, z.ZodNumber>;
2414
+ }, z.core.$strip>>;
2415
+ }, z.core.$strip>;
2416
+ export type CfdReport = z.infer<typeof CfdReport>;
2417
+ export declare const CreatedVsResolvedReport: z.ZodObject<{
2418
+ points: z.ZodArray<z.ZodObject<{
2419
+ date: z.ZodString;
2420
+ created: z.ZodNumber;
2421
+ resolved: z.ZodNumber;
2422
+ openTotal: z.ZodNumber;
2423
+ }, z.core.$strip>>;
2424
+ }, z.core.$strip>;
2425
+ export type CreatedVsResolvedReport = z.infer<typeof CreatedVsResolvedReport>;
2426
+ export declare const TimeReport: z.ZodObject<{
2427
+ from: z.ZodString;
2428
+ to: z.ZodString;
2429
+ totalSec: z.ZodNumber;
2430
+ billableSec: z.ZodNumber;
2431
+ rows: z.ZodArray<z.ZodObject<{
2432
+ userId: z.core.$ZodBranded<z.ZodUUID, "UserId", "out">;
2433
+ projectId: z.ZodUUID;
2434
+ issueId: z.ZodNullable<z.ZodUUID>;
2435
+ issueKey: z.ZodNullable<z.ZodString>;
2436
+ date: z.ZodString;
2437
+ durationSec: z.ZodNumber;
2438
+ billableSec: z.ZodNumber;
2439
+ }, z.core.$strip>>;
2440
+ byUser: z.ZodArray<z.ZodObject<{
2441
+ userId: z.core.$ZodBranded<z.ZodUUID, "UserId", "out">;
2442
+ durationSec: z.ZodNumber;
2443
+ billableSec: z.ZodNumber;
2444
+ }, z.core.$strip>>;
2445
+ byIssue: z.ZodArray<z.ZodObject<{
2446
+ issueId: z.ZodUUID;
2447
+ issueKey: z.ZodString;
2448
+ title: z.ZodString;
2449
+ durationSec: z.ZodNumber;
2450
+ originalEstimateSec: z.ZodNullable<z.ZodNumber>;
2451
+ remainingSec: z.ZodNullable<z.ZodNumber>;
2452
+ }, z.core.$strip>>;
2453
+ }, z.core.$strip>;
2454
+ export type TimeReport = z.infer<typeof TimeReport>;
2455
+ export declare const ImportSource: z.ZodEnum<{
2456
+ jira: "jira";
2457
+ linear: "linear";
2458
+ csv: "csv";
2459
+ }>;
2460
+ export type ImportSource = z.infer<typeof ImportSource>;
2461
+ export declare const CsvMapping: z.ZodObject<{
2462
+ columns: z.ZodRecord<z.ZodString, z.ZodString>;
2463
+ delimiter: z.ZodDefault<z.ZodString>;
2464
+ hasHeader: z.ZodDefault<z.ZodBoolean>;
2465
+ dateFormat: z.ZodOptional<z.ZodString>;
2466
+ statusMap: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2467
+ userMap: z.ZodDefault<z.ZodRecord<z.ZodString, z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
2468
+ typeMap: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUUID>>;
2469
+ priorityMap: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<{
2470
+ none: "none";
2471
+ low: "low";
2472
+ medium: "medium";
2473
+ high: "high";
2474
+ urgent: "urgent";
2475
+ }>>>;
2476
+ createMissingLabels: z.ZodDefault<z.ZodBoolean>;
2477
+ }, z.core.$strip>;
2478
+ export type CsvMapping = z.infer<typeof CsvMapping>;
2479
+ export declare const ImportJob: z.ZodObject<{
2480
+ id: z.ZodUUID;
2481
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
2482
+ projectId: z.ZodUUID;
2483
+ source: z.ZodEnum<{
2484
+ jira: "jira";
2485
+ linear: "linear";
2486
+ csv: "csv";
2487
+ }>;
2488
+ fileId: z.ZodUUID;
2489
+ mapping: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2490
+ status: z.ZodEnum<{
2491
+ cancelled: "cancelled";
2492
+ failed: "failed";
2493
+ completed: "completed";
2494
+ pending: "pending";
2495
+ running: "running";
2496
+ }>;
2497
+ progress: z.ZodObject<{
2498
+ total: z.ZodNumber;
2499
+ processed: z.ZodNumber;
2500
+ created: z.ZodNumber;
2501
+ skipped: z.ZodNumber;
2502
+ failed: z.ZodNumber;
2503
+ }, z.core.$strip>;
2504
+ errors: z.ZodArray<z.ZodObject<{
2505
+ row: z.ZodNullable<z.ZodNumber>;
2506
+ message: z.ZodString;
2507
+ }, z.core.$strip>>;
2508
+ createdBy: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
2509
+ startedAt: z.ZodNullable<z.ZodISODateTime>;
2510
+ finishedAt: z.ZodNullable<z.ZodISODateTime>;
2511
+ createdAt: z.ZodISODateTime;
2512
+ }, z.core.$strip>;
2513
+ export type ImportJob = z.infer<typeof ImportJob>;
2514
+ export declare const IssueApproval: z.ZodObject<{
2515
+ id: z.ZodUUID;
2516
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
2517
+ issueId: z.ZodUUID;
2518
+ transitionId: z.ZodString;
2519
+ state: z.ZodObject<{
2520
+ transitionId: z.ZodString;
2521
+ spec: z.ZodObject<{
2522
+ approvers: z.ZodArray<z.ZodAny>;
2523
+ minApprovals: z.ZodNumber;
2524
+ rejectOnAnyRejection: z.ZodBoolean;
2525
+ }, z.core.$strip>;
2526
+ requestedBy: z.ZodNullable<z.ZodString>;
2527
+ requestedAt: z.ZodString;
2528
+ decisions: z.ZodDefault<z.ZodArray<z.ZodObject<{
2529
+ userId: z.ZodString;
2530
+ decision: z.ZodEnum<{
2531
+ approve: "approve";
2532
+ reject: "reject";
2533
+ }>;
2534
+ comment: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2535
+ at: z.ZodString;
2536
+ }, z.core.$strip>>>;
2537
+ status: z.ZodDefault<z.ZodEnum<{
2538
+ pending: "pending";
2539
+ approved: "approved";
2540
+ rejected: "rejected";
2541
+ }>>;
2542
+ }, z.core.$strip>;
2543
+ createdAt: z.ZodISODateTime;
2544
+ updatedAt: z.ZodISODateTime;
2545
+ }, z.core.$strip>;
2546
+ export type IssueApproval = z.infer<typeof IssueApproval>;
2547
+ //# sourceMappingURL=models.d.ts.map