@doist/todoist-api-typescript 6.5.1 → 6.7.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 (140) hide show
  1. package/dist/cjs/todoist-api.js +32 -4
  2. package/dist/cjs/types/index.js +1 -0
  3. package/dist/cjs/types/sync/commands/calendars.js +2 -0
  4. package/dist/cjs/types/sync/commands/filters.js +2 -0
  5. package/dist/cjs/types/sync/commands/folders.js +2 -0
  6. package/dist/cjs/types/sync/commands/index.js +35 -0
  7. package/dist/cjs/types/sync/commands/labels.js +2 -0
  8. package/dist/cjs/types/sync/commands/notes.js +2 -0
  9. package/dist/cjs/types/sync/commands/notifications.js +2 -0
  10. package/dist/cjs/types/sync/commands/others.js +2 -0
  11. package/dist/cjs/types/sync/commands/project-view-options.js +2 -0
  12. package/dist/cjs/types/sync/commands/projects.js +2 -0
  13. package/dist/cjs/types/sync/commands/reminders.js +2 -0
  14. package/dist/cjs/types/sync/commands/sections.js +2 -0
  15. package/dist/cjs/types/sync/commands/shared.js +5 -0
  16. package/dist/cjs/types/sync/commands/sharing.js +2 -0
  17. package/dist/cjs/types/sync/commands/tasks.js +2 -0
  18. package/dist/cjs/types/sync/commands/view-options.js +2 -0
  19. package/dist/cjs/types/sync/commands/workspace-filters.js +2 -0
  20. package/dist/cjs/types/sync/commands/workspace-goals.js +2 -0
  21. package/dist/cjs/types/sync/commands/workspaces.js +2 -0
  22. package/dist/cjs/types/sync/index.js +21 -0
  23. package/dist/cjs/types/sync/request.js +2 -0
  24. package/dist/cjs/types/{sync.js → sync/resource-types.js} +9 -0
  25. package/dist/cjs/types/sync/resources/calendars.js +27 -0
  26. package/dist/cjs/types/sync/resources/collaborators.js +23 -0
  27. package/dist/cjs/types/sync/resources/completed-info.js +30 -0
  28. package/dist/cjs/types/sync/resources/filters.js +16 -0
  29. package/dist/cjs/types/sync/resources/folders.js +14 -0
  30. package/dist/cjs/types/sync/resources/index.js +33 -0
  31. package/dist/cjs/types/sync/resources/live-notifications.js +28 -0
  32. package/dist/cjs/types/sync/resources/notes.js +23 -0
  33. package/dist/cjs/types/sync/resources/reminders.js +34 -0
  34. package/dist/cjs/types/sync/resources/suggestions.js +38 -0
  35. package/dist/cjs/types/sync/resources/tooltips.js +10 -0
  36. package/dist/cjs/types/sync/resources/user-plan-limits.js +24 -0
  37. package/dist/cjs/types/sync/resources/user-settings.js +42 -0
  38. package/dist/cjs/types/sync/resources/user.js +123 -0
  39. package/dist/cjs/types/sync/resources/view-options.js +75 -0
  40. package/dist/cjs/types/sync/resources/workspace-filters.js +21 -0
  41. package/dist/cjs/types/sync/resources/workspace-goals.js +32 -0
  42. package/dist/cjs/types/sync/resources/workspaces.js +49 -0
  43. package/dist/cjs/types/sync/response.js +2 -0
  44. package/dist/cjs/utils/index.js +3 -1
  45. package/dist/cjs/utils/sync-helpers.js +22 -0
  46. package/dist/cjs/utils/validators.js +69 -88
  47. package/dist/esm/todoist-api.js +32 -4
  48. package/dist/esm/types/index.js +1 -0
  49. package/dist/esm/types/sync/commands/calendars.js +1 -0
  50. package/dist/esm/types/sync/commands/filters.js +1 -0
  51. package/dist/esm/types/sync/commands/folders.js +1 -0
  52. package/dist/esm/types/sync/commands/index.js +19 -0
  53. package/dist/esm/types/sync/commands/labels.js +1 -0
  54. package/dist/esm/types/sync/commands/notes.js +1 -0
  55. package/dist/esm/types/sync/commands/notifications.js +1 -0
  56. package/dist/esm/types/sync/commands/others.js +1 -0
  57. package/dist/esm/types/sync/commands/project-view-options.js +1 -0
  58. package/dist/esm/types/sync/commands/projects.js +1 -0
  59. package/dist/esm/types/sync/commands/reminders.js +1 -0
  60. package/dist/esm/types/sync/commands/sections.js +1 -0
  61. package/dist/esm/types/sync/commands/shared.js +4 -0
  62. package/dist/esm/types/sync/commands/sharing.js +1 -0
  63. package/dist/esm/types/sync/commands/tasks.js +1 -0
  64. package/dist/esm/types/sync/commands/view-options.js +1 -0
  65. package/dist/esm/types/sync/commands/workspace-filters.js +1 -0
  66. package/dist/esm/types/sync/commands/workspace-goals.js +1 -0
  67. package/dist/esm/types/sync/commands/workspaces.js +1 -0
  68. package/dist/esm/types/sync/index.js +5 -0
  69. package/dist/esm/types/sync/request.js +1 -0
  70. package/dist/esm/types/{sync.js → sync/resource-types.js} +9 -0
  71. package/dist/esm/types/sync/resources/calendars.js +24 -0
  72. package/dist/esm/types/sync/resources/collaborators.js +20 -0
  73. package/dist/esm/types/sync/resources/completed-info.js +27 -0
  74. package/dist/esm/types/sync/resources/filters.js +13 -0
  75. package/dist/esm/types/sync/resources/folders.js +11 -0
  76. package/dist/esm/types/sync/resources/index.js +17 -0
  77. package/dist/esm/types/sync/resources/live-notifications.js +25 -0
  78. package/dist/esm/types/sync/resources/notes.js +20 -0
  79. package/dist/esm/types/sync/resources/reminders.js +31 -0
  80. package/dist/esm/types/sync/resources/suggestions.js +35 -0
  81. package/dist/esm/types/sync/resources/tooltips.js +7 -0
  82. package/dist/esm/types/sync/resources/user-plan-limits.js +21 -0
  83. package/dist/esm/types/sync/resources/user-settings.js +39 -0
  84. package/dist/esm/types/sync/resources/user.js +120 -0
  85. package/dist/esm/types/sync/resources/view-options.js +72 -0
  86. package/dist/esm/types/sync/resources/workspace-filters.js +18 -0
  87. package/dist/esm/types/sync/resources/workspace-goals.js +29 -0
  88. package/dist/esm/types/sync/resources/workspaces.js +46 -0
  89. package/dist/esm/types/sync/response.js +1 -0
  90. package/dist/esm/utils/index.js +1 -0
  91. package/dist/esm/utils/sync-helpers.js +19 -0
  92. package/dist/esm/utils/validators.js +65 -64
  93. package/dist/types/todoist-api.d.ts +26 -0
  94. package/dist/types/types/index.d.ts +1 -0
  95. package/dist/types/types/sync/commands/calendars.d.ts +14 -0
  96. package/dist/types/types/sync/commands/filters.d.ts +21 -0
  97. package/dist/types/types/sync/commands/folders.d.ts +18 -0
  98. package/dist/types/types/sync/commands/index.d.ts +175 -0
  99. package/dist/types/types/sync/commands/labels.d.ts +27 -0
  100. package/dist/types/types/sync/commands/notes.d.ts +27 -0
  101. package/dist/types/types/sync/commands/notifications.d.ts +10 -0
  102. package/dist/types/types/sync/commands/others.d.ts +28 -0
  103. package/dist/types/types/sync/commands/project-view-options.d.ts +14 -0
  104. package/dist/types/types/sync/commands/projects.d.ts +88 -0
  105. package/dist/types/types/sync/commands/reminders.d.ts +40 -0
  106. package/dist/types/types/sync/commands/sections.d.ts +31 -0
  107. package/dist/types/types/sync/commands/shared.d.ts +46 -0
  108. package/dist/types/types/sync/commands/sharing.d.ts +16 -0
  109. package/dist/types/types/sync/commands/tasks.d.ts +78 -0
  110. package/dist/types/types/sync/commands/view-options.d.ts +19 -0
  111. package/dist/types/types/sync/commands/workspace-filters.d.ts +22 -0
  112. package/dist/types/types/sync/commands/workspace-goals.d.ts +24 -0
  113. package/dist/types/types/sync/commands/workspaces.d.ts +79 -0
  114. package/dist/types/types/sync/index.d.ts +5 -0
  115. package/dist/types/types/sync/request.d.ts +7 -0
  116. package/dist/types/types/sync/resource-types.d.ts +5 -0
  117. package/dist/types/types/sync/resources/calendars.d.ts +30 -0
  118. package/dist/types/types/sync/resources/collaborators.d.ts +24 -0
  119. package/dist/types/types/sync/resources/completed-info.d.ts +33 -0
  120. package/dist/types/types/sync/resources/filters.d.ts +12 -0
  121. package/dist/types/types/sync/resources/folders.d.ts +10 -0
  122. package/dist/types/types/sync/resources/index.d.ts +17 -0
  123. package/dist/types/types/sync/resources/live-notifications.d.ts +23 -0
  124. package/dist/types/types/sync/resources/notes.d.ts +34 -0
  125. package/dist/types/types/sync/resources/reminders.d.ts +101 -0
  126. package/dist/types/types/sync/resources/suggestions.d.ts +54 -0
  127. package/dist/types/types/sync/resources/tooltips.d.ts +6 -0
  128. package/dist/types/types/sync/resources/user-plan-limits.d.ts +41 -0
  129. package/dist/types/types/sync/resources/user-settings.d.ts +32 -0
  130. package/dist/types/types/sync/resources/user.d.ts +104 -0
  131. package/dist/types/types/sync/resources/view-options.d.ts +94 -0
  132. package/dist/types/types/sync/resources/workspace-filters.d.ts +17 -0
  133. package/dist/types/types/sync/resources/workspace-goals.d.ts +29 -0
  134. package/dist/types/types/sync/resources/workspaces.d.ts +52 -0
  135. package/dist/types/types/sync/response.d.ts +47 -0
  136. package/dist/types/utils/index.d.ts +1 -0
  137. package/dist/types/utils/sync-helpers.d.ts +17 -0
  138. package/dist/types/utils/validators.d.ts +1163 -23
  139. package/package.json +1 -1
  140. package/dist/types/types/sync.d.ts +0 -30
@@ -1,6 +1,86 @@
1
- import { type Attachment, type Task, type Section, type Label, type Comment, type User, type CurrentUser, type ProductivityStats, type WorkspaceProject, type PersonalProject, type ActivityEvent, type WorkspaceUser, type WorkspaceInvitation, type WorkspacePlanDetails, type JoinWorkspaceResult, type Workspace } from '../types/entities.js';
2
- export declare function validateTask(input: unknown): Task;
3
- export declare function validateTaskArray(input: unknown[]): Task[];
1
+ import { type WorkspaceProject, type PersonalProject, type WorkspaceUser } from '../types/entities.js';
2
+ export declare const validateTask: (input: unknown) => {
3
+ isUncompletable: boolean;
4
+ url: string;
5
+ id: string;
6
+ userId: string;
7
+ projectId: string;
8
+ sectionId: string | null;
9
+ parentId: string | null;
10
+ addedByUid: string | null;
11
+ assignedByUid: string | null;
12
+ responsibleUid: string | null;
13
+ labels: string[];
14
+ deadline: {
15
+ date: string;
16
+ lang: string;
17
+ } | null;
18
+ duration: {
19
+ amount: number;
20
+ unit: "minute" | "day";
21
+ } | null;
22
+ checked: boolean;
23
+ isDeleted: boolean;
24
+ addedAt: string | null;
25
+ completedAt: string | null;
26
+ updatedAt: string | null;
27
+ due: {
28
+ isRecurring: boolean;
29
+ string: string;
30
+ date: string;
31
+ datetime?: string | null | undefined;
32
+ timezone?: string | null | undefined;
33
+ lang?: string | null | undefined;
34
+ } | null;
35
+ priority: number;
36
+ childOrder: number;
37
+ content: string;
38
+ description: string;
39
+ noteCount: number;
40
+ dayOrder: number;
41
+ isCollapsed: boolean;
42
+ };
43
+ export declare const validateTaskArray: (input: unknown[]) => {
44
+ isUncompletable: boolean;
45
+ url: string;
46
+ id: string;
47
+ userId: string;
48
+ projectId: string;
49
+ sectionId: string | null;
50
+ parentId: string | null;
51
+ addedByUid: string | null;
52
+ assignedByUid: string | null;
53
+ responsibleUid: string | null;
54
+ labels: string[];
55
+ deadline: {
56
+ date: string;
57
+ lang: string;
58
+ } | null;
59
+ duration: {
60
+ amount: number;
61
+ unit: "minute" | "day";
62
+ } | null;
63
+ checked: boolean;
64
+ isDeleted: boolean;
65
+ addedAt: string | null;
66
+ completedAt: string | null;
67
+ updatedAt: string | null;
68
+ due: {
69
+ isRecurring: boolean;
70
+ string: string;
71
+ date: string;
72
+ datetime?: string | null | undefined;
73
+ timezone?: string | null | undefined;
74
+ lang?: string | null | undefined;
75
+ } | null;
76
+ priority: number;
77
+ childOrder: number;
78
+ content: string;
79
+ description: string;
80
+ noteCount: number;
81
+ dayOrder: number;
82
+ isCollapsed: boolean;
83
+ }[];
4
84
  /**
5
85
  * Type guard to check if a project is a workspace project.
6
86
  * @param project The project to check
@@ -20,24 +100,1084 @@ export declare function isPersonalProject(project: PersonalProject | WorkspacePr
20
100
  */
21
101
  export declare function validateProject(input: unknown): PersonalProject | WorkspaceProject;
22
102
  export declare function validateProjectArray(input: unknown[]): (PersonalProject | WorkspaceProject)[];
23
- export declare function validateSection(input: unknown): Section;
24
- export declare function validateSectionArray(input: unknown[]): Section[];
25
- export declare function validateLabel(input: unknown): Label;
26
- export declare function validateLabelArray(input: unknown[]): Label[];
27
- export declare function validateComment(input: unknown): Comment;
28
- export declare function validateCommentArray(input: unknown[]): Comment[];
29
- export declare function validateUser(input: unknown): User;
30
- export declare function validateUserArray(input: unknown[]): User[];
31
- export declare function validateProductivityStats(input: unknown): ProductivityStats;
32
- export declare function validateCurrentUser(input: unknown): CurrentUser;
33
- export declare function validateActivityEvent(input: unknown): ActivityEvent;
34
- export declare function validateActivityEventArray(input: unknown[]): ActivityEvent[];
35
- export declare function validateAttachment(input: unknown): Attachment;
36
- export declare function validateWorkspaceUser(input: unknown): WorkspaceUser;
103
+ export declare const validateSection: (input: unknown) => {
104
+ url: string;
105
+ id: string;
106
+ userId: string;
107
+ projectId: string;
108
+ addedAt: string;
109
+ updatedAt: string;
110
+ archivedAt: string | null;
111
+ name: string;
112
+ sectionOrder: number;
113
+ isArchived: boolean;
114
+ isDeleted: boolean;
115
+ isCollapsed: boolean;
116
+ };
117
+ export declare const validateSectionArray: (input: unknown[]) => {
118
+ url: string;
119
+ id: string;
120
+ userId: string;
121
+ projectId: string;
122
+ addedAt: string;
123
+ updatedAt: string;
124
+ archivedAt: string | null;
125
+ name: string;
126
+ sectionOrder: number;
127
+ isArchived: boolean;
128
+ isDeleted: boolean;
129
+ isCollapsed: boolean;
130
+ }[];
131
+ export declare const validateLabel: (input: unknown) => {
132
+ id: string;
133
+ order: number | null;
134
+ name: string;
135
+ color: string;
136
+ isFavorite: boolean;
137
+ };
138
+ export declare const validateLabelArray: (input: unknown[]) => {
139
+ id: string;
140
+ order: number | null;
141
+ name: string;
142
+ color: string;
143
+ isFavorite: boolean;
144
+ }[];
145
+ export declare const validateComment: (input: unknown) => {
146
+ taskId: string | undefined;
147
+ id: string;
148
+ content: string;
149
+ postedAt: string;
150
+ fileAttachment: {
151
+ resourceType: string;
152
+ fileName?: string | null | undefined;
153
+ fileSize?: number | null | undefined;
154
+ fileType?: string | null | undefined;
155
+ fileUrl?: string | null | undefined;
156
+ fileDuration?: number | null | undefined;
157
+ uploadState?: "pending" | "completed" | null | undefined;
158
+ image?: string | null | undefined;
159
+ imageWidth?: number | null | undefined;
160
+ imageHeight?: number | null | undefined;
161
+ url?: string | null | undefined;
162
+ title?: string | null | undefined;
163
+ } | null;
164
+ postedUid: string;
165
+ uidsToNotify: string[] | null;
166
+ reactions: Record<string, string[]> | null;
167
+ isDeleted: boolean;
168
+ projectId?: string | undefined;
169
+ };
170
+ export declare const validateCommentArray: (input: unknown[]) => {
171
+ taskId: string | undefined;
172
+ id: string;
173
+ content: string;
174
+ postedAt: string;
175
+ fileAttachment: {
176
+ resourceType: string;
177
+ fileName?: string | null | undefined;
178
+ fileSize?: number | null | undefined;
179
+ fileType?: string | null | undefined;
180
+ fileUrl?: string | null | undefined;
181
+ fileDuration?: number | null | undefined;
182
+ uploadState?: "pending" | "completed" | null | undefined;
183
+ image?: string | null | undefined;
184
+ imageWidth?: number | null | undefined;
185
+ imageHeight?: number | null | undefined;
186
+ url?: string | null | undefined;
187
+ title?: string | null | undefined;
188
+ } | null;
189
+ postedUid: string;
190
+ uidsToNotify: string[] | null;
191
+ reactions: Record<string, string[]> | null;
192
+ isDeleted: boolean;
193
+ projectId?: string | undefined;
194
+ }[];
195
+ export declare const validateUser: (input: unknown) => {
196
+ id: string;
197
+ name: string;
198
+ email: string;
199
+ };
200
+ export declare const validateUserArray: (input: unknown[]) => {
201
+ id: string;
202
+ name: string;
203
+ email: string;
204
+ }[];
205
+ export declare const validateProductivityStats: (input: unknown) => {
206
+ completedCount: number;
207
+ daysItems: {
208
+ items: {
209
+ id: string;
210
+ completed: number;
211
+ }[];
212
+ totalCompleted: number;
213
+ date: string;
214
+ }[];
215
+ goals: {
216
+ currentDailyStreak: {
217
+ count: number;
218
+ start: string;
219
+ end: string;
220
+ };
221
+ currentWeeklyStreak: {
222
+ count: number;
223
+ start: string;
224
+ end: string;
225
+ };
226
+ dailyGoal: number;
227
+ ignoreDays: number[];
228
+ karmaDisabled: number;
229
+ lastDailyStreak: {
230
+ count: number;
231
+ start: string;
232
+ end: string;
233
+ };
234
+ lastWeeklyStreak: {
235
+ count: number;
236
+ start: string;
237
+ end: string;
238
+ };
239
+ maxDailyStreak: {
240
+ count: number;
241
+ start: string;
242
+ end: string;
243
+ };
244
+ maxWeeklyStreak: {
245
+ count: number;
246
+ start: string;
247
+ end: string;
248
+ };
249
+ user: string;
250
+ userId: string;
251
+ vacationMode: number;
252
+ weeklyGoal: number;
253
+ };
254
+ karma: number;
255
+ karmaGraphData: {
256
+ date: string;
257
+ karmaAvg: number;
258
+ }[];
259
+ karmaLastUpdate: number;
260
+ karmaTrend: string;
261
+ karmaUpdateReasons: {
262
+ time: string;
263
+ newKarma: number;
264
+ positiveKarma: number;
265
+ negativeKarma: number;
266
+ positiveKarmaReasons: any[];
267
+ negativeKarmaReasons: any[];
268
+ }[];
269
+ projectColors: Record<string, string>;
270
+ weekItems: {
271
+ items: {
272
+ id: string;
273
+ completed: number;
274
+ }[];
275
+ totalCompleted: number;
276
+ from: string;
277
+ to: string;
278
+ }[];
279
+ };
280
+ export declare const validateCurrentUser: (input: unknown) => {
281
+ id: string;
282
+ email: string;
283
+ fullName: string;
284
+ businessAccountId: string | null;
285
+ isPremium: boolean;
286
+ premiumStatus: "not_premium" | "current_personal_plan" | "legacy_personal_plan" | "teams_business_member";
287
+ dateFormat: number;
288
+ timeFormat: number;
289
+ weeklyGoal: number;
290
+ dailyGoal: number;
291
+ completedCount: number;
292
+ completedToday: number;
293
+ karma: number;
294
+ karmaTrend: string;
295
+ lang: string;
296
+ nextWeek: number;
297
+ startDay: number;
298
+ startPage: string;
299
+ tzInfo: {
300
+ gmtString: string;
301
+ hours: number;
302
+ isDst: number;
303
+ minutes: number;
304
+ timezone: string;
305
+ };
306
+ inboxProjectId: string;
307
+ daysOff: number[];
308
+ weekendStartDay: number;
309
+ avatarBig?: string | null | undefined;
310
+ avatarMedium?: string | null | undefined;
311
+ avatarS640?: string | null | undefined;
312
+ avatarSmall?: string | null | undefined;
313
+ };
314
+ export declare const validateActivityEvent: (input: unknown) => {
315
+ [x: string]: any;
316
+ objectType: string;
317
+ objectId: string;
318
+ eventType: string;
319
+ eventDate: string;
320
+ id: string | null;
321
+ parentProjectId: string | null;
322
+ parentItemId: string | null;
323
+ initiatorId: string | null;
324
+ extraData: Record<string, any> | null;
325
+ };
326
+ export declare const validateActivityEventArray: (input: unknown[]) => {
327
+ [x: string]: any;
328
+ objectType: string;
329
+ objectId: string;
330
+ eventType: string;
331
+ eventDate: string;
332
+ id: string | null;
333
+ parentProjectId: string | null;
334
+ parentItemId: string | null;
335
+ initiatorId: string | null;
336
+ extraData: Record<string, any> | null;
337
+ }[];
338
+ export declare const validateAttachment: (input: unknown) => {
339
+ resourceType: string;
340
+ fileName?: string | null | undefined;
341
+ fileSize?: number | null | undefined;
342
+ fileType?: string | null | undefined;
343
+ fileUrl?: string | null | undefined;
344
+ fileDuration?: number | null | undefined;
345
+ uploadState?: "pending" | "completed" | null | undefined;
346
+ image?: string | null | undefined;
347
+ imageWidth?: number | null | undefined;
348
+ imageHeight?: number | null | undefined;
349
+ url?: string | null | undefined;
350
+ title?: string | null | undefined;
351
+ };
352
+ export declare const validateWorkspaceUser: (input: unknown) => {
353
+ userId: string;
354
+ workspaceId: string;
355
+ userEmail: string;
356
+ fullName: string;
357
+ timezone: string;
358
+ role: "ADMIN" | "MEMBER" | "GUEST";
359
+ imageId: string | null;
360
+ isDeleted: boolean;
361
+ };
37
362
  export declare function validateWorkspaceUserArray(input: unknown): WorkspaceUser[];
38
- export declare function validateWorkspaceInvitation(input: unknown): WorkspaceInvitation;
39
- export declare function validateWorkspaceInvitationArray(input: unknown[]): WorkspaceInvitation[];
40
- export declare function validateWorkspacePlanDetails(input: unknown): WorkspacePlanDetails;
41
- export declare function validateJoinWorkspaceResult(input: unknown): JoinWorkspaceResult;
42
- export declare function validateWorkspace(input: unknown): Workspace;
43
- export declare function validateWorkspaceArray(input: unknown[]): Workspace[];
363
+ export declare const validateWorkspaceInvitation: (input: unknown) => {
364
+ id: string;
365
+ inviterId: string;
366
+ userEmail: string;
367
+ workspaceId: string;
368
+ role: "ADMIN" | "MEMBER" | "GUEST";
369
+ isExistingUser: boolean;
370
+ };
371
+ export declare const validateWorkspaceInvitationArray: (input: unknown[]) => {
372
+ id: string;
373
+ inviterId: string;
374
+ userEmail: string;
375
+ workspaceId: string;
376
+ role: "ADMIN" | "MEMBER" | "GUEST";
377
+ isExistingUser: boolean;
378
+ }[];
379
+ export declare const validateWorkspacePlanDetails: (input: unknown) => {
380
+ currentMemberCount: number;
381
+ currentPlan: "Business" | "Starter";
382
+ currentPlanStatus: "Active" | "Downgraded" | "Cancelled" | "NeverSubscribed";
383
+ downgradeAt: string | null;
384
+ currentActiveProjects: number;
385
+ maximumActiveProjects: number;
386
+ priceList: {
387
+ currency?: string | undefined;
388
+ amount?: number | undefined;
389
+ interval?: string | undefined;
390
+ formatted?: string | undefined;
391
+ }[];
392
+ workspaceId: number;
393
+ isTrialing: boolean;
394
+ trialEndsAt: string | null;
395
+ cancelAtPeriodEnd: boolean;
396
+ hasTrialed: boolean;
397
+ planPrice: {
398
+ currency: string;
399
+ amount: string | number;
400
+ interval?: string | undefined;
401
+ } | null;
402
+ hasBillingPortal: boolean;
403
+ hasBillingPortalSwitchToAnnual: boolean;
404
+ };
405
+ export declare const validateJoinWorkspaceResult: (input: unknown) => {
406
+ customSortingApplied: boolean;
407
+ projectSortPreference: string;
408
+ role: "ADMIN" | "MEMBER" | "GUEST";
409
+ userId: string;
410
+ workspaceId: string;
411
+ };
412
+ export declare const validateWorkspace: (input: unknown) => {
413
+ id: string;
414
+ name: string;
415
+ plan: "STARTER" | "BUSINESS";
416
+ role: "ADMIN" | "MEMBER" | "GUEST";
417
+ inviteCode: string;
418
+ isLinkSharingEnabled: boolean;
419
+ isGuestAllowed: boolean;
420
+ limits: {
421
+ [x: string]: any;
422
+ current: Record<string, any> | null;
423
+ next: Record<string, any> | null;
424
+ };
425
+ createdAt: string;
426
+ creatorId: string;
427
+ properties: Record<string, unknown>;
428
+ logoBig?: string | null | undefined;
429
+ logoMedium?: string | null | undefined;
430
+ logoSmall?: string | null | undefined;
431
+ logoS640?: string | null | undefined;
432
+ };
433
+ export declare const validateWorkspaceArray: (input: unknown[]) => {
434
+ id: string;
435
+ name: string;
436
+ plan: "STARTER" | "BUSINESS";
437
+ role: "ADMIN" | "MEMBER" | "GUEST";
438
+ inviteCode: string;
439
+ isLinkSharingEnabled: boolean;
440
+ isGuestAllowed: boolean;
441
+ limits: {
442
+ [x: string]: any;
443
+ current: Record<string, any> | null;
444
+ next: Record<string, any> | null;
445
+ };
446
+ createdAt: string;
447
+ creatorId: string;
448
+ properties: Record<string, unknown>;
449
+ logoBig?: string | null | undefined;
450
+ logoMedium?: string | null | undefined;
451
+ logoSmall?: string | null | undefined;
452
+ logoS640?: string | null | undefined;
453
+ }[];
454
+ export declare const validateFilter: (input: unknown) => {
455
+ [x: string]: unknown;
456
+ id: string;
457
+ name: string;
458
+ query: string;
459
+ color: string;
460
+ isDeleted: boolean;
461
+ isFavorite: boolean;
462
+ isFrozen: boolean;
463
+ itemOrder: number;
464
+ };
465
+ export declare const validateFilterArray: (input: unknown[]) => {
466
+ [x: string]: unknown;
467
+ id: string;
468
+ name: string;
469
+ query: string;
470
+ color: string;
471
+ isDeleted: boolean;
472
+ isFavorite: boolean;
473
+ isFrozen: boolean;
474
+ itemOrder: number;
475
+ }[];
476
+ export declare const validateCollaborator: (input: unknown) => {
477
+ [x: string]: unknown;
478
+ id: string;
479
+ email: string;
480
+ fullName: string;
481
+ timezone: string;
482
+ imageId: string | null;
483
+ };
484
+ export declare const validateCollaboratorArray: (input: unknown[]) => {
485
+ [x: string]: unknown;
486
+ id: string;
487
+ email: string;
488
+ fullName: string;
489
+ timezone: string;
490
+ imageId: string | null;
491
+ }[];
492
+ export declare const validateCollaboratorState: (input: unknown) => {
493
+ [x: string]: unknown;
494
+ userId: string;
495
+ projectId: string;
496
+ state: "active" | "invited";
497
+ isDeleted: boolean;
498
+ workspaceRole?: "ADMIN" | "MEMBER" | "GUEST" | undefined;
499
+ };
500
+ export declare const validateCollaboratorStateArray: (input: unknown[]) => {
501
+ [x: string]: unknown;
502
+ userId: string;
503
+ projectId: string;
504
+ state: "active" | "invited";
505
+ isDeleted: boolean;
506
+ workspaceRole?: "ADMIN" | "MEMBER" | "GUEST" | undefined;
507
+ }[];
508
+ export declare const validateFolder: (input: unknown) => {
509
+ [x: string]: unknown;
510
+ id: string;
511
+ name: string;
512
+ workspaceId: string;
513
+ isDeleted: boolean;
514
+ defaultOrder: number;
515
+ childOrder: number;
516
+ };
517
+ export declare const validateFolderArray: (input: unknown[]) => {
518
+ [x: string]: unknown;
519
+ id: string;
520
+ name: string;
521
+ workspaceId: string;
522
+ isDeleted: boolean;
523
+ defaultOrder: number;
524
+ childOrder: number;
525
+ }[];
526
+ export declare const validateNote: (input: unknown) => {
527
+ [x: string]: unknown;
528
+ id: string;
529
+ content: string;
530
+ postedAt: string;
531
+ fileAttachment: {
532
+ resourceType: string;
533
+ fileName?: string | null | undefined;
534
+ fileSize?: number | null | undefined;
535
+ fileType?: string | null | undefined;
536
+ fileUrl?: string | null | undefined;
537
+ fileDuration?: number | null | undefined;
538
+ uploadState?: "pending" | "completed" | null | undefined;
539
+ image?: string | null | undefined;
540
+ imageWidth?: number | null | undefined;
541
+ imageHeight?: number | null | undefined;
542
+ url?: string | null | undefined;
543
+ title?: string | null | undefined;
544
+ } | null;
545
+ postedUid: string;
546
+ uidsToNotify: string[] | null;
547
+ reactions: Record<string, string[]> | null;
548
+ isDeleted: boolean;
549
+ itemId?: string | undefined;
550
+ projectId?: string | undefined;
551
+ };
552
+ export declare const validateNoteArray: (input: unknown[]) => {
553
+ [x: string]: unknown;
554
+ id: string;
555
+ content: string;
556
+ postedAt: string;
557
+ fileAttachment: {
558
+ resourceType: string;
559
+ fileName?: string | null | undefined;
560
+ fileSize?: number | null | undefined;
561
+ fileType?: string | null | undefined;
562
+ fileUrl?: string | null | undefined;
563
+ fileDuration?: number | null | undefined;
564
+ uploadState?: "pending" | "completed" | null | undefined;
565
+ image?: string | null | undefined;
566
+ imageWidth?: number | null | undefined;
567
+ imageHeight?: number | null | undefined;
568
+ url?: string | null | undefined;
569
+ title?: string | null | undefined;
570
+ } | null;
571
+ postedUid: string;
572
+ uidsToNotify: string[] | null;
573
+ reactions: Record<string, string[]> | null;
574
+ isDeleted: boolean;
575
+ itemId?: string | undefined;
576
+ projectId?: string | undefined;
577
+ }[];
578
+ export declare const validateTooltips: (input: unknown) => {
579
+ [x: string]: unknown;
580
+ seen?: string[] | undefined;
581
+ scheduled?: string[] | undefined;
582
+ };
583
+ export declare const validateWorkspaceFilter: (input: unknown) => {
584
+ [x: string]: unknown;
585
+ id: string;
586
+ workspaceId: string;
587
+ name: string;
588
+ query: string;
589
+ color: string;
590
+ itemOrder: number;
591
+ isDeleted: boolean;
592
+ isFavorite: boolean;
593
+ isFrozen: boolean;
594
+ creatorUid: string;
595
+ updaterUid: string;
596
+ createdAt: string;
597
+ updatedAt: string;
598
+ };
599
+ export declare const validateWorkspaceFilterArray: (input: unknown[]) => {
600
+ [x: string]: unknown;
601
+ id: string;
602
+ workspaceId: string;
603
+ name: string;
604
+ query: string;
605
+ color: string;
606
+ itemOrder: number;
607
+ isDeleted: boolean;
608
+ isFavorite: boolean;
609
+ isFrozen: boolean;
610
+ creatorUid: string;
611
+ updaterUid: string;
612
+ createdAt: string;
613
+ updatedAt: string;
614
+ }[];
615
+ export declare const validateWorkspaceGoal: (input: unknown) => {
616
+ [x: string]: unknown;
617
+ id: string;
618
+ workspaceId: string;
619
+ title: string;
620
+ description: string | null;
621
+ deadline: string | null;
622
+ isDeleted: boolean;
623
+ projectIds: string[];
624
+ progress: {
625
+ [x: string]: unknown;
626
+ completedItems: number;
627
+ totalItems: number;
628
+ } | null;
629
+ creatorUid: string;
630
+ createdAt: string;
631
+ updatedAt: string;
632
+ };
633
+ export declare const validateWorkspaceGoalArray: (input: unknown[]) => {
634
+ [x: string]: unknown;
635
+ id: string;
636
+ workspaceId: string;
637
+ title: string;
638
+ description: string | null;
639
+ deadline: string | null;
640
+ isDeleted: boolean;
641
+ projectIds: string[];
642
+ progress: {
643
+ [x: string]: unknown;
644
+ completedItems: number;
645
+ totalItems: number;
646
+ } | null;
647
+ creatorUid: string;
648
+ createdAt: string;
649
+ updatedAt: string;
650
+ }[];
651
+ export declare const validateCalendar: (input: unknown) => {
652
+ [x: string]: unknown;
653
+ id: string;
654
+ summary: string;
655
+ color: string | null;
656
+ accountId: string;
657
+ isVisible: boolean;
658
+ isTaskCalendar?: boolean | undefined;
659
+ };
660
+ export declare const validateCalendarArray: (input: unknown[]) => {
661
+ [x: string]: unknown;
662
+ id: string;
663
+ summary: string;
664
+ color: string | null;
665
+ accountId: string;
666
+ isVisible: boolean;
667
+ isTaskCalendar?: boolean | undefined;
668
+ }[];
669
+ export declare const validateCalendarAccount: (input: unknown) => {
670
+ [x: string]: unknown;
671
+ id: string;
672
+ name: string;
673
+ type: "google" | "microsoft" | "apple";
674
+ isDeleted?: boolean | undefined;
675
+ isEventsEnabled?: boolean | undefined;
676
+ isTasksEnabled?: boolean | undefined;
677
+ isAllDayTasksEnabled?: boolean | undefined;
678
+ pendingOperationUntil?: string | null | undefined;
679
+ calendarsSyncState?: "error" | "synced" | "syncing" | undefined;
680
+ };
681
+ export declare const validateCalendarAccountArray: (input: unknown[]) => {
682
+ [x: string]: unknown;
683
+ id: string;
684
+ name: string;
685
+ type: "google" | "microsoft" | "apple";
686
+ isDeleted?: boolean | undefined;
687
+ isEventsEnabled?: boolean | undefined;
688
+ isTasksEnabled?: boolean | undefined;
689
+ isAllDayTasksEnabled?: boolean | undefined;
690
+ pendingOperationUntil?: string | null | undefined;
691
+ calendarsSyncState?: "error" | "synced" | "syncing" | undefined;
692
+ }[];
693
+ export declare const validateReminder: (input: unknown) => {
694
+ [x: string]: unknown;
695
+ id: string;
696
+ notifyUid: string;
697
+ itemId: string;
698
+ isDeleted: boolean;
699
+ type: "location";
700
+ name: string;
701
+ locLat: string;
702
+ locLong: string;
703
+ locTrigger: "on_enter" | "on_leave";
704
+ radius: number;
705
+ projectId?: string | undefined;
706
+ } | {
707
+ [x: string]: unknown;
708
+ id: string;
709
+ notifyUid: string;
710
+ itemId: string;
711
+ isDeleted: boolean;
712
+ type: "absolute";
713
+ due: {
714
+ isRecurring: boolean;
715
+ string: string;
716
+ date: string;
717
+ datetime?: string | null | undefined;
718
+ timezone?: string | null | undefined;
719
+ lang?: string | null | undefined;
720
+ };
721
+ projectId?: string | undefined;
722
+ } | {
723
+ [x: string]: unknown;
724
+ id: string;
725
+ notifyUid: string;
726
+ itemId: string;
727
+ isDeleted: boolean;
728
+ type: "relative";
729
+ minuteOffset: number;
730
+ projectId?: string | undefined;
731
+ due?: {
732
+ isRecurring: boolean;
733
+ string: string;
734
+ date: string;
735
+ datetime?: string | null | undefined;
736
+ timezone?: string | null | undefined;
737
+ lang?: string | null | undefined;
738
+ } | undefined;
739
+ };
740
+ export declare const validateReminderArray: (input: unknown[]) => ({
741
+ [x: string]: unknown;
742
+ id: string;
743
+ notifyUid: string;
744
+ itemId: string;
745
+ isDeleted: boolean;
746
+ type: "location";
747
+ name: string;
748
+ locLat: string;
749
+ locLong: string;
750
+ locTrigger: "on_enter" | "on_leave";
751
+ radius: number;
752
+ projectId?: string | undefined;
753
+ } | {
754
+ [x: string]: unknown;
755
+ id: string;
756
+ notifyUid: string;
757
+ itemId: string;
758
+ isDeleted: boolean;
759
+ type: "absolute";
760
+ due: {
761
+ isRecurring: boolean;
762
+ string: string;
763
+ date: string;
764
+ datetime?: string | null | undefined;
765
+ timezone?: string | null | undefined;
766
+ lang?: string | null | undefined;
767
+ };
768
+ projectId?: string | undefined;
769
+ } | {
770
+ [x: string]: unknown;
771
+ id: string;
772
+ notifyUid: string;
773
+ itemId: string;
774
+ isDeleted: boolean;
775
+ type: "relative";
776
+ minuteOffset: number;
777
+ projectId?: string | undefined;
778
+ due?: {
779
+ isRecurring: boolean;
780
+ string: string;
781
+ date: string;
782
+ datetime?: string | null | undefined;
783
+ timezone?: string | null | undefined;
784
+ lang?: string | null | undefined;
785
+ } | undefined;
786
+ })[];
787
+ export declare const validateCompletedInfo: (input: unknown) => {
788
+ [x: string]: unknown;
789
+ projectId: string;
790
+ archivedSections: number;
791
+ completedItems: number;
792
+ } | {
793
+ [x: string]: unknown;
794
+ sectionId: string;
795
+ id: string;
796
+ completedItems: number;
797
+ } | {
798
+ [x: string]: unknown;
799
+ itemId: string;
800
+ completedItems: number;
801
+ id?: string | undefined;
802
+ };
803
+ export declare const validateCompletedInfoArray: (input: unknown[]) => ({
804
+ [x: string]: unknown;
805
+ projectId: string;
806
+ archivedSections: number;
807
+ completedItems: number;
808
+ } | {
809
+ [x: string]: unknown;
810
+ sectionId: string;
811
+ id: string;
812
+ completedItems: number;
813
+ } | {
814
+ [x: string]: unknown;
815
+ itemId: string;
816
+ completedItems: number;
817
+ id?: string | undefined;
818
+ })[];
819
+ export declare const validateViewOptions: (input: unknown) => {
820
+ [x: string]: unknown;
821
+ viewType: "TODAY" | "UPCOMING" | "PROJECT" | "LABEL" | "FILTER" | "WORKSPACE_FILTER" | "SEARCH" | "TEMPLATE_PREVIEW" | "TASK_DETAIL" | "AUTOMATION" | "ASSIGNED" | "OVERDUE" | "WORKSPACE_OVERVIEW";
822
+ objectId?: string | undefined;
823
+ groupedBy?: "PROJECT" | "LABEL" | "ASSIGNEE" | "ADDED_DATE" | "DUE_DATE" | "DEADLINE" | "PRIORITY" | "WORKSPACE" | null | undefined;
824
+ filteredBy?: string | null | undefined;
825
+ viewMode?: "LIST" | "BOARD" | "CALENDAR" | undefined;
826
+ showCompletedTasks?: boolean | undefined;
827
+ sortedBy?: "MANUAL" | "PROJECT" | "ASSIGNEE" | "ADDED_DATE" | "DUE_DATE" | "DEADLINE" | "PRIORITY" | "WORKSPACE" | "ALPHABETICALLY" | null | undefined;
828
+ sortOrder?: "ASC" | "DESC" | null | undefined;
829
+ };
830
+ export declare const validateViewOptionsArray: (input: unknown[]) => {
831
+ [x: string]: unknown;
832
+ viewType: "TODAY" | "UPCOMING" | "PROJECT" | "LABEL" | "FILTER" | "WORKSPACE_FILTER" | "SEARCH" | "TEMPLATE_PREVIEW" | "TASK_DETAIL" | "AUTOMATION" | "ASSIGNED" | "OVERDUE" | "WORKSPACE_OVERVIEW";
833
+ objectId?: string | undefined;
834
+ groupedBy?: "PROJECT" | "LABEL" | "ASSIGNEE" | "ADDED_DATE" | "DUE_DATE" | "DEADLINE" | "PRIORITY" | "WORKSPACE" | null | undefined;
835
+ filteredBy?: string | null | undefined;
836
+ viewMode?: "LIST" | "BOARD" | "CALENDAR" | undefined;
837
+ showCompletedTasks?: boolean | undefined;
838
+ sortedBy?: "MANUAL" | "PROJECT" | "ASSIGNEE" | "ADDED_DATE" | "DUE_DATE" | "DEADLINE" | "PRIORITY" | "WORKSPACE" | "ALPHABETICALLY" | null | undefined;
839
+ sortOrder?: "ASC" | "DESC" | null | undefined;
840
+ }[];
841
+ export declare const validateProjectViewOptionsDefaults: (input: unknown) => {
842
+ [x: string]: unknown;
843
+ projectId: string;
844
+ viewMode?: "LIST" | "BOARD" | "CALENDAR" | null | undefined;
845
+ groupedBy?: "PROJECT" | "LABEL" | "ASSIGNEE" | "ADDED_DATE" | "DUE_DATE" | "DEADLINE" | "PRIORITY" | "WORKSPACE" | null | undefined;
846
+ sortedBy?: "MANUAL" | "PROJECT" | "ASSIGNEE" | "ADDED_DATE" | "DUE_DATE" | "DEADLINE" | "PRIORITY" | "WORKSPACE" | "ALPHABETICALLY" | null | undefined;
847
+ sortOrder?: "ASC" | "DESC" | null | undefined;
848
+ showCompletedTasks?: boolean | undefined;
849
+ filteredBy?: string | null | undefined;
850
+ calendarSettings?: {
851
+ [x: string]: unknown;
852
+ layout?: "WEEK" | "MONTH" | undefined;
853
+ } | null | undefined;
854
+ };
855
+ export declare const validateProjectViewOptionsDefaultsArray: (input: unknown[]) => {
856
+ [x: string]: unknown;
857
+ projectId: string;
858
+ viewMode?: "LIST" | "BOARD" | "CALENDAR" | null | undefined;
859
+ groupedBy?: "PROJECT" | "LABEL" | "ASSIGNEE" | "ADDED_DATE" | "DUE_DATE" | "DEADLINE" | "PRIORITY" | "WORKSPACE" | null | undefined;
860
+ sortedBy?: "MANUAL" | "PROJECT" | "ASSIGNEE" | "ADDED_DATE" | "DUE_DATE" | "DEADLINE" | "PRIORITY" | "WORKSPACE" | "ALPHABETICALLY" | null | undefined;
861
+ sortOrder?: "ASC" | "DESC" | null | undefined;
862
+ showCompletedTasks?: boolean | undefined;
863
+ filteredBy?: string | null | undefined;
864
+ calendarSettings?: {
865
+ [x: string]: unknown;
866
+ layout?: "WEEK" | "MONTH" | undefined;
867
+ } | null | undefined;
868
+ }[];
869
+ export declare const validateUserPlanLimits: (input: unknown) => {
870
+ [x: string]: unknown;
871
+ current: {
872
+ [x: string]: unknown;
873
+ activeProjects?: number | undefined;
874
+ activityLog?: number | undefined;
875
+ collaboratorsPerProject?: number | undefined;
876
+ commentsPerTask?: number | undefined;
877
+ fileUploadsPerComment?: number | undefined;
878
+ filtersPerUser?: number | undefined;
879
+ labelsPerTask?: number | undefined;
880
+ remindersPerUser?: number | undefined;
881
+ sectionsPerProject?: number | undefined;
882
+ tasksPerProject?: number | undefined;
883
+ };
884
+ next: {
885
+ [x: string]: unknown;
886
+ activeProjects?: number | undefined;
887
+ activityLog?: number | undefined;
888
+ collaboratorsPerProject?: number | undefined;
889
+ commentsPerTask?: number | undefined;
890
+ fileUploadsPerComment?: number | undefined;
891
+ filtersPerUser?: number | undefined;
892
+ labelsPerTask?: number | undefined;
893
+ remindersPerUser?: number | undefined;
894
+ sectionsPerProject?: number | undefined;
895
+ tasksPerProject?: number | undefined;
896
+ } | null;
897
+ };
898
+ export declare const validateLiveNotification: (input: unknown) => {
899
+ [x: string]: unknown;
900
+ id: string;
901
+ createdAt: string;
902
+ fromUid: string;
903
+ notificationType: string;
904
+ isUnread: boolean;
905
+ projectId?: string | undefined;
906
+ invitationId?: string | undefined;
907
+ itemId?: string | undefined;
908
+ itemContent?: string | undefined;
909
+ responsibleUid?: string | undefined;
910
+ assignedByUid?: string | undefined;
911
+ };
912
+ export declare const validateLiveNotificationArray: (input: unknown[]) => {
913
+ [x: string]: unknown;
914
+ id: string;
915
+ createdAt: string;
916
+ fromUid: string;
917
+ notificationType: string;
918
+ isUnread: boolean;
919
+ projectId?: string | undefined;
920
+ invitationId?: string | undefined;
921
+ itemId?: string | undefined;
922
+ itemContent?: string | undefined;
923
+ responsibleUid?: string | undefined;
924
+ assignedByUid?: string | undefined;
925
+ }[];
926
+ export declare const validateSyncWorkspace: (input: unknown) => {
927
+ [x: string]: unknown;
928
+ id: string;
929
+ name: string;
930
+ description: string;
931
+ creatorId: string;
932
+ createdAt: string;
933
+ isDeleted: boolean;
934
+ isCollapsed: boolean;
935
+ role: "ADMIN" | "MEMBER" | "GUEST";
936
+ plan: "STARTER" | "BUSINESS";
937
+ limits: {
938
+ [x: string]: any;
939
+ current: Record<string, any> | null;
940
+ next: Record<string, any> | null;
941
+ };
942
+ currentActiveProjects: number | null;
943
+ currentMemberCount: number | null;
944
+ currentTemplateCount: number | null;
945
+ adminSortingApplied: boolean;
946
+ logoBig?: string | undefined;
947
+ logoMedium?: string | undefined;
948
+ logoSmall?: string | undefined;
949
+ logoS640?: string | undefined;
950
+ inviteCode?: string | null | undefined;
951
+ isLinkSharingEnabled?: boolean | null | undefined;
952
+ isGuestAllowed?: boolean | null | undefined;
953
+ pendingInvitations?: string[] | null | undefined;
954
+ domainName?: string | undefined;
955
+ domainDiscovery?: boolean | undefined;
956
+ restrictEmailDomains?: boolean | undefined;
957
+ projectSortPreference?: string | undefined;
958
+ defaultCollaborators?: {
959
+ predefinedGroupIds: string[];
960
+ userIds: number[];
961
+ } | undefined;
962
+ properties?: Record<string, unknown> | undefined;
963
+ };
964
+ export declare const validateSyncWorkspaceArray: (input: unknown[]) => {
965
+ [x: string]: unknown;
966
+ id: string;
967
+ name: string;
968
+ description: string;
969
+ creatorId: string;
970
+ createdAt: string;
971
+ isDeleted: boolean;
972
+ isCollapsed: boolean;
973
+ role: "ADMIN" | "MEMBER" | "GUEST";
974
+ plan: "STARTER" | "BUSINESS";
975
+ limits: {
976
+ [x: string]: any;
977
+ current: Record<string, any> | null;
978
+ next: Record<string, any> | null;
979
+ };
980
+ currentActiveProjects: number | null;
981
+ currentMemberCount: number | null;
982
+ currentTemplateCount: number | null;
983
+ adminSortingApplied: boolean;
984
+ logoBig?: string | undefined;
985
+ logoMedium?: string | undefined;
986
+ logoSmall?: string | undefined;
987
+ logoS640?: string | undefined;
988
+ inviteCode?: string | null | undefined;
989
+ isLinkSharingEnabled?: boolean | null | undefined;
990
+ isGuestAllowed?: boolean | null | undefined;
991
+ pendingInvitations?: string[] | null | undefined;
992
+ domainName?: string | undefined;
993
+ domainDiscovery?: boolean | undefined;
994
+ restrictEmailDomains?: boolean | undefined;
995
+ projectSortPreference?: string | undefined;
996
+ defaultCollaborators?: {
997
+ predefinedGroupIds: string[];
998
+ userIds: number[];
999
+ } | undefined;
1000
+ properties?: Record<string, unknown> | undefined;
1001
+ }[];
1002
+ export declare const validateSyncUser: (input: unknown) => {
1003
+ [x: string]: unknown;
1004
+ id: string;
1005
+ email: string;
1006
+ fullName: string;
1007
+ activatedUser: boolean;
1008
+ autoReminder: number;
1009
+ businessAccountId: string | null;
1010
+ dailyGoal: number;
1011
+ dateFormat: number;
1012
+ dateistLang: string | null;
1013
+ daysOff: number[];
1014
+ featureIdentifier: string;
1015
+ features: {
1016
+ [x: string]: unknown;
1017
+ karmaDisabled: boolean;
1018
+ restriction: number;
1019
+ karmaVacation: boolean;
1020
+ dateistLang: any;
1021
+ beta: 0 | 1;
1022
+ hasPushReminders: boolean;
1023
+ dateistInlineDisabled: boolean;
1024
+ autoInviteDisabled?: boolean | undefined;
1025
+ goldTheme?: boolean | undefined;
1026
+ migratedFromTdb?: boolean | undefined;
1027
+ };
1028
+ hasMagicNumber: boolean;
1029
+ hasPassword: boolean;
1030
+ imageId: string | null;
1031
+ inboxProjectId: string;
1032
+ isCelebrationsEnabled: boolean;
1033
+ isPremium: boolean;
1034
+ joinableWorkspace: {
1035
+ [x: string]: unknown;
1036
+ workspaceId: string;
1037
+ workspaceName: string;
1038
+ memberCount: number;
1039
+ } | null;
1040
+ joinedAt: string;
1041
+ gettingStartedGuideProjects: {
1042
+ [x: string]: unknown;
1043
+ onboardingUseCase: string;
1044
+ projectId: string;
1045
+ completed: boolean;
1046
+ closed: boolean;
1047
+ }[] | null;
1048
+ karma: number;
1049
+ karmaTrend: string;
1050
+ lang: string;
1051
+ mobileHost: string | null;
1052
+ mobileNumber: string | null;
1053
+ nextWeek: number;
1054
+ premiumStatus: "not_premium" | "current_personal_plan" | "legacy_personal_plan" | "teams_business_member";
1055
+ premiumUntil: string | null;
1056
+ shareLimit: number;
1057
+ sortOrder: number;
1058
+ startDay: number;
1059
+ startPage: string;
1060
+ themeId: string;
1061
+ timeFormat: number;
1062
+ token: string;
1063
+ tzInfo: {
1064
+ [x: string]: unknown;
1065
+ timezone: string;
1066
+ hours: number;
1067
+ minutes: number;
1068
+ isDst: 0 | 1;
1069
+ gmtString: string;
1070
+ };
1071
+ uniquePrefix: number;
1072
+ verificationStatus: string;
1073
+ websocketUrl: string;
1074
+ weekendStartDay: number;
1075
+ weeklyGoal: number;
1076
+ avatarBig?: string | undefined;
1077
+ avatarMedium?: string | undefined;
1078
+ avatarS640?: string | undefined;
1079
+ avatarSmall?: string | undefined;
1080
+ freeTrailExpires?: string | undefined;
1081
+ hasStartedATrial?: boolean | undefined;
1082
+ mfaEnabled?: boolean | undefined;
1083
+ onboardingLevel?: string | null | undefined;
1084
+ onboardingRole?: string | null | undefined;
1085
+ onboardingPersona?: string | null | undefined;
1086
+ onboardingInitiated?: boolean | null | undefined;
1087
+ onboardingCompleted?: boolean | null | undefined;
1088
+ onboardingSkipped?: boolean | undefined;
1089
+ onboardingTeamMode?: boolean | null | undefined;
1090
+ onboardingUseCases?: string[] | null | undefined;
1091
+ rambleSessionsUsage?: {
1092
+ currentCount: number;
1093
+ limit: number;
1094
+ remaining: number;
1095
+ resetDate: string;
1096
+ } | null | undefined;
1097
+ };
1098
+ export declare const validateUserSettings: (input: unknown) => {
1099
+ [x: string]: unknown;
1100
+ completedSoundDesktop: boolean;
1101
+ completedSoundMobile: boolean;
1102
+ debugLogSendingEnabledUntil: string | null;
1103
+ legacyPricing: boolean;
1104
+ navigation: {
1105
+ [x: string]: unknown;
1106
+ countsShown: boolean;
1107
+ features: {
1108
+ name: string;
1109
+ shown: boolean;
1110
+ }[];
1111
+ };
1112
+ reminderDesktop: boolean;
1113
+ reminderEmail: boolean;
1114
+ reminderPush: boolean;
1115
+ resetRecurringSubtasks: boolean;
1116
+ aiEmailAssist: boolean;
1117
+ quickAdd: {
1118
+ [x: string]: unknown;
1119
+ labelsShown: boolean;
1120
+ features: {
1121
+ name: string;
1122
+ shown: boolean;
1123
+ }[];
1124
+ };
1125
+ theme?: string | null | undefined;
1126
+ syncTheme?: boolean | undefined;
1127
+ };
1128
+ export declare const validateSuggestion: (input: unknown) => {
1129
+ [x: string]: unknown;
1130
+ type: "templates" | "most_used_user_templates";
1131
+ content: {
1132
+ templates: {
1133
+ [x: string]: unknown;
1134
+ id: string;
1135
+ name: string;
1136
+ templateType: "project" | "setup";
1137
+ }[];
1138
+ locale: string;
1139
+ };
1140
+ isDeleted: boolean;
1141
+ } | {
1142
+ [x: string]: unknown;
1143
+ type: "most_used_workspace_templates";
1144
+ content: {
1145
+ templates: {
1146
+ [x: string]: unknown;
1147
+ id: string;
1148
+ name: string;
1149
+ templateType: "project" | "setup";
1150
+ workspaceId: string | null;
1151
+ }[];
1152
+ locale: string;
1153
+ };
1154
+ isDeleted: boolean;
1155
+ };
1156
+ export declare const validateSuggestionArray: (input: unknown[]) => ({
1157
+ [x: string]: unknown;
1158
+ type: "templates" | "most_used_user_templates";
1159
+ content: {
1160
+ templates: {
1161
+ [x: string]: unknown;
1162
+ id: string;
1163
+ name: string;
1164
+ templateType: "project" | "setup";
1165
+ }[];
1166
+ locale: string;
1167
+ };
1168
+ isDeleted: boolean;
1169
+ } | {
1170
+ [x: string]: unknown;
1171
+ type: "most_used_workspace_templates";
1172
+ content: {
1173
+ templates: {
1174
+ [x: string]: unknown;
1175
+ id: string;
1176
+ name: string;
1177
+ templateType: "project" | "setup";
1178
+ workspaceId: string | null;
1179
+ }[];
1180
+ locale: string;
1181
+ };
1182
+ isDeleted: boolean;
1183
+ })[];