@aibrains/shared-types 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/README.md +170 -0
  2. package/dist/index.d.ts +48 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +74 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/mappers/edfi/calendar.mapper.d.ts +158 -0
  7. package/dist/mappers/edfi/calendar.mapper.d.ts.map +1 -0
  8. package/dist/mappers/edfi/calendar.mapper.js +235 -0
  9. package/dist/mappers/edfi/calendar.mapper.js.map +1 -0
  10. package/dist/mappers/edfi/credential.mapper.d.ts +50 -0
  11. package/dist/mappers/edfi/credential.mapper.d.ts.map +1 -0
  12. package/dist/mappers/edfi/credential.mapper.js +123 -0
  13. package/dist/mappers/edfi/credential.mapper.js.map +1 -0
  14. package/dist/mappers/edfi/index.d.ts +10 -0
  15. package/dist/mappers/edfi/index.d.ts.map +1 -0
  16. package/dist/mappers/edfi/index.js +26 -0
  17. package/dist/mappers/edfi/index.js.map +1 -0
  18. package/dist/mappers/edfi/staff.mapper.d.ts +96 -0
  19. package/dist/mappers/edfi/staff.mapper.d.ts.map +1 -0
  20. package/dist/mappers/edfi/staff.mapper.js +138 -0
  21. package/dist/mappers/edfi/staff.mapper.js.map +1 -0
  22. package/dist/mappers/index.d.ts +7 -0
  23. package/dist/mappers/index.d.ts.map +1 -0
  24. package/dist/mappers/index.js +23 -0
  25. package/dist/mappers/index.js.map +1 -0
  26. package/dist/schemas/academics/assignment.schema.d.ts +1463 -0
  27. package/dist/schemas/academics/assignment.schema.d.ts.map +1 -0
  28. package/dist/schemas/academics/assignment.schema.js +195 -0
  29. package/dist/schemas/academics/assignment.schema.js.map +1 -0
  30. package/dist/schemas/academics/attendance.schema.d.ts +762 -0
  31. package/dist/schemas/academics/attendance.schema.d.ts.map +1 -0
  32. package/dist/schemas/academics/attendance.schema.js +250 -0
  33. package/dist/schemas/academics/attendance.schema.js.map +1 -0
  34. package/dist/schemas/academics/classroom.schema.d.ts +742 -0
  35. package/dist/schemas/academics/classroom.schema.d.ts.map +1 -0
  36. package/dist/schemas/academics/classroom.schema.js +164 -0
  37. package/dist/schemas/academics/classroom.schema.js.map +1 -0
  38. package/dist/schemas/academics/course-section.schema.d.ts +388 -0
  39. package/dist/schemas/academics/course-section.schema.d.ts.map +1 -0
  40. package/dist/schemas/academics/course-section.schema.js +128 -0
  41. package/dist/schemas/academics/course-section.schema.js.map +1 -0
  42. package/dist/schemas/academics/course.schema.d.ts +778 -0
  43. package/dist/schemas/academics/course.schema.d.ts.map +1 -0
  44. package/dist/schemas/academics/course.schema.js +207 -0
  45. package/dist/schemas/academics/course.schema.js.map +1 -0
  46. package/dist/schemas/academics/grade.schema.d.ts +848 -0
  47. package/dist/schemas/academics/grade.schema.d.ts.map +1 -0
  48. package/dist/schemas/academics/grade.schema.js +251 -0
  49. package/dist/schemas/academics/grade.schema.js.map +1 -0
  50. package/dist/schemas/academics/index.d.ts +13 -0
  51. package/dist/schemas/academics/index.d.ts.map +1 -0
  52. package/dist/schemas/academics/index.js +29 -0
  53. package/dist/schemas/academics/index.js.map +1 -0
  54. package/dist/schemas/academics/student.schema.d.ts +2891 -0
  55. package/dist/schemas/academics/student.schema.d.ts.map +1 -0
  56. package/dist/schemas/academics/student.schema.js +249 -0
  57. package/dist/schemas/academics/student.schema.js.map +1 -0
  58. package/dist/schemas/common.d.ts +183 -0
  59. package/dist/schemas/common.d.ts.map +1 -0
  60. package/dist/schemas/common.js +126 -0
  61. package/dist/schemas/common.js.map +1 -0
  62. package/dist/schemas/enrollment/enrollment.schema.d.ts +2799 -0
  63. package/dist/schemas/enrollment/enrollment.schema.d.ts.map +1 -0
  64. package/dist/schemas/enrollment/enrollment.schema.js +435 -0
  65. package/dist/schemas/enrollment/enrollment.schema.js.map +1 -0
  66. package/dist/schemas/enrollment/index.d.ts +7 -0
  67. package/dist/schemas/enrollment/index.d.ts.map +1 -0
  68. package/dist/schemas/enrollment/index.js +23 -0
  69. package/dist/schemas/enrollment/index.js.map +1 -0
  70. package/dist/schemas/identity/academic-year.schema.d.ts +546 -0
  71. package/dist/schemas/identity/academic-year.schema.d.ts.map +1 -0
  72. package/dist/schemas/identity/academic-year.schema.js +137 -0
  73. package/dist/schemas/identity/academic-year.schema.js.map +1 -0
  74. package/dist/schemas/identity/auth.schema.d.ts +670 -0
  75. package/dist/schemas/identity/auth.schema.d.ts.map +1 -0
  76. package/dist/schemas/identity/auth.schema.js +126 -0
  77. package/dist/schemas/identity/auth.schema.js.map +1 -0
  78. package/dist/schemas/identity/bell-schedule.schema.d.ts +630 -0
  79. package/dist/schemas/identity/bell-schedule.schema.d.ts.map +1 -0
  80. package/dist/schemas/identity/bell-schedule.schema.js +143 -0
  81. package/dist/schemas/identity/bell-schedule.schema.js.map +1 -0
  82. package/dist/schemas/identity/calendar-date.schema.d.ts +830 -0
  83. package/dist/schemas/identity/calendar-date.schema.d.ts.map +1 -0
  84. package/dist/schemas/identity/calendar-date.schema.js +208 -0
  85. package/dist/schemas/identity/calendar-date.schema.js.map +1 -0
  86. package/dist/schemas/identity/credential.schema.d.ts +472 -0
  87. package/dist/schemas/identity/credential.schema.d.ts.map +1 -0
  88. package/dist/schemas/identity/credential.schema.js +200 -0
  89. package/dist/schemas/identity/credential.schema.js.map +1 -0
  90. package/dist/schemas/identity/department.schema.d.ts +567 -0
  91. package/dist/schemas/identity/department.schema.d.ts.map +1 -0
  92. package/dist/schemas/identity/department.schema.js +113 -0
  93. package/dist/schemas/identity/department.schema.js.map +1 -0
  94. package/dist/schemas/identity/index.d.ts +21 -0
  95. package/dist/schemas/identity/index.d.ts.map +1 -0
  96. package/dist/schemas/identity/index.js +39 -0
  97. package/dist/schemas/identity/index.js.map +1 -0
  98. package/dist/schemas/identity/leave.schema.d.ts +725 -0
  99. package/dist/schemas/identity/leave.schema.d.ts.map +1 -0
  100. package/dist/schemas/identity/leave.schema.js +204 -0
  101. package/dist/schemas/identity/leave.schema.js.map +1 -0
  102. package/dist/schemas/identity/role.schema.d.ts +356 -0
  103. package/dist/schemas/identity/role.schema.d.ts.map +1 -0
  104. package/dist/schemas/identity/role.schema.js +124 -0
  105. package/dist/schemas/identity/role.schema.js.map +1 -0
  106. package/dist/schemas/identity/school-year.schema.d.ts +303 -0
  107. package/dist/schemas/identity/school-year.schema.d.ts.map +1 -0
  108. package/dist/schemas/identity/school-year.schema.js +59 -0
  109. package/dist/schemas/identity/school-year.schema.js.map +1 -0
  110. package/dist/schemas/identity/school.schema.d.ts +844 -0
  111. package/dist/schemas/identity/school.schema.d.ts.map +1 -0
  112. package/dist/schemas/identity/school.schema.js +139 -0
  113. package/dist/schemas/identity/school.schema.js.map +1 -0
  114. package/dist/schemas/identity/security.schema.d.ts +422 -0
  115. package/dist/schemas/identity/security.schema.d.ts.map +1 -0
  116. package/dist/schemas/identity/security.schema.js +151 -0
  117. package/dist/schemas/identity/security.schema.js.map +1 -0
  118. package/dist/schemas/identity/session.schema.d.ts +193 -0
  119. package/dist/schemas/identity/session.schema.d.ts.map +1 -0
  120. package/dist/schemas/identity/session.schema.js +59 -0
  121. package/dist/schemas/identity/session.schema.js.map +1 -0
  122. package/dist/schemas/identity/staff.schema.d.ts +1037 -0
  123. package/dist/schemas/identity/staff.schema.d.ts.map +1 -0
  124. package/dist/schemas/identity/staff.schema.js +251 -0
  125. package/dist/schemas/identity/staff.schema.js.map +1 -0
  126. package/dist/schemas/identity/tenant.schema.d.ts +313 -0
  127. package/dist/schemas/identity/tenant.schema.d.ts.map +1 -0
  128. package/dist/schemas/identity/tenant.schema.js +81 -0
  129. package/dist/schemas/identity/tenant.schema.js.map +1 -0
  130. package/dist/schemas/identity/user.schema.d.ts +921 -0
  131. package/dist/schemas/identity/user.schema.d.ts.map +1 -0
  132. package/dist/schemas/identity/user.schema.js +201 -0
  133. package/dist/schemas/identity/user.schema.js.map +1 -0
  134. package/dist/schemas/index.d.ts +10 -0
  135. package/dist/schemas/index.d.ts.map +1 -0
  136. package/dist/schemas/index.js +26 -0
  137. package/dist/schemas/index.js.map +1 -0
  138. package/dist/validators/academic-year.d.ts +90 -0
  139. package/dist/validators/academic-year.d.ts.map +1 -0
  140. package/dist/validators/academic-year.js +190 -0
  141. package/dist/validators/academic-year.js.map +1 -0
  142. package/dist/validators/date-range.d.ts +142 -0
  143. package/dist/validators/date-range.d.ts.map +1 -0
  144. package/dist/validators/date-range.js +170 -0
  145. package/dist/validators/date-range.js.map +1 -0
  146. package/dist/validators/grade-level.d.ts +80 -0
  147. package/dist/validators/grade-level.d.ts.map +1 -0
  148. package/dist/validators/grade-level.js +157 -0
  149. package/dist/validators/grade-level.js.map +1 -0
  150. package/dist/validators/index.d.ts +10 -0
  151. package/dist/validators/index.d.ts.map +1 -0
  152. package/dist/validators/index.js +26 -0
  153. package/dist/validators/index.js.map +1 -0
  154. package/dist/validators/password.d.ts +60 -0
  155. package/dist/validators/password.d.ts.map +1 -0
  156. package/dist/validators/password.js +81 -0
  157. package/dist/validators/password.js.map +1 -0
  158. package/package.json +50 -0
@@ -0,0 +1,848 @@
1
+ /**
2
+ * Grade Schemas - Academics Service
3
+ *
4
+ * Zod schemas for grading and grade management DTOs.
5
+ */
6
+ import { z } from 'zod';
7
+ /**
8
+ * Academic grading scale types for student assessments
9
+ */
10
+ export declare const academicGradingScaleTypeSchema: z.ZodEnum<["percentage", "letter", "points", "standards_based", "pass_fail"]>;
11
+ export type AcademicGradingScaleType = z.infer<typeof academicGradingScaleTypeSchema>;
12
+ export declare const gradeCategoryTypeSchema: z.ZodEnum<["assignment", "quiz", "test", "exam", "project", "homework", "participation", "lab", "presentation", "other"]>;
13
+ export type GradeCategoryType = z.infer<typeof gradeCategoryTypeSchema>;
14
+ export declare const gradeStatusSchema: z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>;
15
+ export type GradeStatus = z.infer<typeof gradeStatusSchema>;
16
+ /**
17
+ * Letter grade range for academic grading
18
+ * (e.g., A = 90-100%, B = 80-89%, etc.)
19
+ */
20
+ export declare const letterGradeRangeSchema: z.ZodEffects<z.ZodObject<{
21
+ letter: z.ZodString;
22
+ minPercentage: z.ZodNumber;
23
+ maxPercentage: z.ZodNumber;
24
+ gpaValue: z.ZodOptional<z.ZodNumber>;
25
+ description: z.ZodOptional<z.ZodString>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ letter: string;
28
+ minPercentage: number;
29
+ maxPercentage: number;
30
+ description?: string | undefined;
31
+ gpaValue?: number | undefined;
32
+ }, {
33
+ letter: string;
34
+ minPercentage: number;
35
+ maxPercentage: number;
36
+ description?: string | undefined;
37
+ gpaValue?: number | undefined;
38
+ }>, {
39
+ letter: string;
40
+ minPercentage: number;
41
+ maxPercentage: number;
42
+ description?: string | undefined;
43
+ gpaValue?: number | undefined;
44
+ }, {
45
+ letter: string;
46
+ minPercentage: number;
47
+ maxPercentage: number;
48
+ description?: string | undefined;
49
+ gpaValue?: number | undefined;
50
+ }>;
51
+ export type LetterGradeRangeDto = z.infer<typeof letterGradeRangeSchema>;
52
+ /**
53
+ * Academic grading scale for classroom/course grading
54
+ */
55
+ export declare const academicGradingScaleSchema: z.ZodObject<{
56
+ name: z.ZodString;
57
+ scaleType: z.ZodEnum<["percentage", "letter", "points", "standards_based", "pass_fail"]>;
58
+ ranges: z.ZodArray<z.ZodEffects<z.ZodObject<{
59
+ letter: z.ZodString;
60
+ minPercentage: z.ZodNumber;
61
+ maxPercentage: z.ZodNumber;
62
+ gpaValue: z.ZodOptional<z.ZodNumber>;
63
+ description: z.ZodOptional<z.ZodString>;
64
+ }, "strip", z.ZodTypeAny, {
65
+ letter: string;
66
+ minPercentage: number;
67
+ maxPercentage: number;
68
+ description?: string | undefined;
69
+ gpaValue?: number | undefined;
70
+ }, {
71
+ letter: string;
72
+ minPercentage: number;
73
+ maxPercentage: number;
74
+ description?: string | undefined;
75
+ gpaValue?: number | undefined;
76
+ }>, {
77
+ letter: string;
78
+ minPercentage: number;
79
+ maxPercentage: number;
80
+ description?: string | undefined;
81
+ gpaValue?: number | undefined;
82
+ }, {
83
+ letter: string;
84
+ minPercentage: number;
85
+ maxPercentage: number;
86
+ description?: string | undefined;
87
+ gpaValue?: number | undefined;
88
+ }>, "many">;
89
+ passingGrade: z.ZodDefault<z.ZodNumber>;
90
+ isDefault: z.ZodDefault<z.ZodBoolean>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ name: string;
93
+ passingGrade: number;
94
+ isDefault: boolean;
95
+ scaleType: "letter" | "percentage" | "points" | "standards_based" | "pass_fail";
96
+ ranges: {
97
+ letter: string;
98
+ minPercentage: number;
99
+ maxPercentage: number;
100
+ description?: string | undefined;
101
+ gpaValue?: number | undefined;
102
+ }[];
103
+ }, {
104
+ name: string;
105
+ scaleType: "letter" | "percentage" | "points" | "standards_based" | "pass_fail";
106
+ ranges: {
107
+ letter: string;
108
+ minPercentage: number;
109
+ maxPercentage: number;
110
+ description?: string | undefined;
111
+ gpaValue?: number | undefined;
112
+ }[];
113
+ passingGrade?: number | undefined;
114
+ isDefault?: boolean | undefined;
115
+ }>;
116
+ export type AcademicGradingScaleDto = z.infer<typeof academicGradingScaleSchema>;
117
+ export declare const createGradingScaleSchema: z.ZodObject<{
118
+ schoolId: z.ZodString;
119
+ name: z.ZodString;
120
+ scaleType: z.ZodEnum<["percentage", "letter", "points", "standards_based", "pass_fail"]>;
121
+ ranges: z.ZodArray<z.ZodEffects<z.ZodObject<{
122
+ letter: z.ZodString;
123
+ minPercentage: z.ZodNumber;
124
+ maxPercentage: z.ZodNumber;
125
+ gpaValue: z.ZodOptional<z.ZodNumber>;
126
+ description: z.ZodOptional<z.ZodString>;
127
+ }, "strip", z.ZodTypeAny, {
128
+ letter: string;
129
+ minPercentage: number;
130
+ maxPercentage: number;
131
+ description?: string | undefined;
132
+ gpaValue?: number | undefined;
133
+ }, {
134
+ letter: string;
135
+ minPercentage: number;
136
+ maxPercentage: number;
137
+ description?: string | undefined;
138
+ gpaValue?: number | undefined;
139
+ }>, {
140
+ letter: string;
141
+ minPercentage: number;
142
+ maxPercentage: number;
143
+ description?: string | undefined;
144
+ gpaValue?: number | undefined;
145
+ }, {
146
+ letter: string;
147
+ minPercentage: number;
148
+ maxPercentage: number;
149
+ description?: string | undefined;
150
+ gpaValue?: number | undefined;
151
+ }>, "many">;
152
+ passingGrade: z.ZodDefault<z.ZodNumber>;
153
+ isDefault: z.ZodDefault<z.ZodBoolean>;
154
+ description: z.ZodOptional<z.ZodString>;
155
+ }, "strip", z.ZodTypeAny, {
156
+ name: string;
157
+ schoolId: string;
158
+ passingGrade: number;
159
+ isDefault: boolean;
160
+ scaleType: "letter" | "percentage" | "points" | "standards_based" | "pass_fail";
161
+ ranges: {
162
+ letter: string;
163
+ minPercentage: number;
164
+ maxPercentage: number;
165
+ description?: string | undefined;
166
+ gpaValue?: number | undefined;
167
+ }[];
168
+ description?: string | undefined;
169
+ }, {
170
+ name: string;
171
+ schoolId: string;
172
+ scaleType: "letter" | "percentage" | "points" | "standards_based" | "pass_fail";
173
+ ranges: {
174
+ letter: string;
175
+ minPercentage: number;
176
+ maxPercentage: number;
177
+ description?: string | undefined;
178
+ gpaValue?: number | undefined;
179
+ }[];
180
+ description?: string | undefined;
181
+ passingGrade?: number | undefined;
182
+ isDefault?: boolean | undefined;
183
+ }>;
184
+ export type CreateGradingScaleDto = z.infer<typeof createGradingScaleSchema>;
185
+ export declare const gradeCategorySchema: z.ZodObject<{
186
+ name: z.ZodString;
187
+ categoryType: z.ZodEnum<["assignment", "quiz", "test", "exam", "project", "homework", "participation", "lab", "presentation", "other"]>;
188
+ weight: z.ZodNumber;
189
+ dropLowest: z.ZodDefault<z.ZodNumber>;
190
+ isExtraCredit: z.ZodDefault<z.ZodBoolean>;
191
+ }, "strip", z.ZodTypeAny, {
192
+ name: string;
193
+ categoryType: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation";
194
+ weight: number;
195
+ dropLowest: number;
196
+ isExtraCredit: boolean;
197
+ }, {
198
+ name: string;
199
+ categoryType: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation";
200
+ weight: number;
201
+ dropLowest?: number | undefined;
202
+ isExtraCredit?: boolean | undefined;
203
+ }>;
204
+ export type GradeCategoryDto = z.infer<typeof gradeCategorySchema>;
205
+ export declare const createGradeCategorySchema: z.ZodObject<{
206
+ classroomId: z.ZodString;
207
+ name: z.ZodString;
208
+ categoryType: z.ZodEnum<["assignment", "quiz", "test", "exam", "project", "homework", "participation", "lab", "presentation", "other"]>;
209
+ weight: z.ZodNumber;
210
+ dropLowest: z.ZodDefault<z.ZodNumber>;
211
+ isExtraCredit: z.ZodDefault<z.ZodBoolean>;
212
+ color: z.ZodOptional<z.ZodString>;
213
+ }, "strip", z.ZodTypeAny, {
214
+ name: string;
215
+ classroomId: string;
216
+ categoryType: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation";
217
+ weight: number;
218
+ dropLowest: number;
219
+ isExtraCredit: boolean;
220
+ color?: string | undefined;
221
+ }, {
222
+ name: string;
223
+ classroomId: string;
224
+ categoryType: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation";
225
+ weight: number;
226
+ dropLowest?: number | undefined;
227
+ isExtraCredit?: boolean | undefined;
228
+ color?: string | undefined;
229
+ }>;
230
+ export type CreateGradeCategoryDto = z.infer<typeof createGradeCategorySchema>;
231
+ export declare const updateGradeCategorySchema: z.ZodObject<Omit<{
232
+ classroomId: z.ZodOptional<z.ZodString>;
233
+ name: z.ZodOptional<z.ZodString>;
234
+ categoryType: z.ZodOptional<z.ZodEnum<["assignment", "quiz", "test", "exam", "project", "homework", "participation", "lab", "presentation", "other"]>>;
235
+ weight: z.ZodOptional<z.ZodNumber>;
236
+ dropLowest: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
237
+ isExtraCredit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
238
+ color: z.ZodOptional<z.ZodOptional<z.ZodString>>;
239
+ }, "classroomId">, "strip", z.ZodTypeAny, {
240
+ name?: string | undefined;
241
+ categoryType?: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation" | undefined;
242
+ weight?: number | undefined;
243
+ dropLowest?: number | undefined;
244
+ isExtraCredit?: boolean | undefined;
245
+ color?: string | undefined;
246
+ }, {
247
+ name?: string | undefined;
248
+ categoryType?: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation" | undefined;
249
+ weight?: number | undefined;
250
+ dropLowest?: number | undefined;
251
+ isExtraCredit?: boolean | undefined;
252
+ color?: string | undefined;
253
+ }>;
254
+ export type UpdateGradeCategoryDto = z.infer<typeof updateGradeCategorySchema>;
255
+ export declare const createGradeSchema: z.ZodObject<{
256
+ studentId: z.ZodString;
257
+ assignmentId: z.ZodString;
258
+ classroomId: z.ZodString;
259
+ pointsEarned: z.ZodOptional<z.ZodNumber>;
260
+ pointsPossible: z.ZodOptional<z.ZodNumber>;
261
+ percentage: z.ZodOptional<z.ZodNumber>;
262
+ letterGrade: z.ZodOptional<z.ZodString>;
263
+ status: z.ZodDefault<z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>>;
264
+ isLate: z.ZodDefault<z.ZodBoolean>;
265
+ isExtraCredit: z.ZodDefault<z.ZodBoolean>;
266
+ feedback: z.ZodOptional<z.ZodString>;
267
+ privateNotes: z.ZodOptional<z.ZodString>;
268
+ rubricScores: z.ZodOptional<z.ZodArray<z.ZodObject<{
269
+ criterionId: z.ZodString;
270
+ score: z.ZodNumber;
271
+ feedback: z.ZodOptional<z.ZodString>;
272
+ }, "strip", z.ZodTypeAny, {
273
+ criterionId: string;
274
+ score: number;
275
+ feedback?: string | undefined;
276
+ }, {
277
+ criterionId: string;
278
+ score: number;
279
+ feedback?: string | undefined;
280
+ }>, "many">>;
281
+ submittedAt: z.ZodOptional<z.ZodString>;
282
+ gradedAt: z.ZodOptional<z.ZodString>;
283
+ }, "strip", z.ZodTypeAny, {
284
+ status: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete";
285
+ studentId: string;
286
+ classroomId: string;
287
+ isExtraCredit: boolean;
288
+ assignmentId: string;
289
+ isLate: boolean;
290
+ percentage?: number | undefined;
291
+ pointsEarned?: number | undefined;
292
+ pointsPossible?: number | undefined;
293
+ letterGrade?: string | undefined;
294
+ feedback?: string | undefined;
295
+ privateNotes?: string | undefined;
296
+ rubricScores?: {
297
+ criterionId: string;
298
+ score: number;
299
+ feedback?: string | undefined;
300
+ }[] | undefined;
301
+ submittedAt?: string | undefined;
302
+ gradedAt?: string | undefined;
303
+ }, {
304
+ studentId: string;
305
+ classroomId: string;
306
+ assignmentId: string;
307
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
308
+ percentage?: number | undefined;
309
+ isExtraCredit?: boolean | undefined;
310
+ pointsEarned?: number | undefined;
311
+ pointsPossible?: number | undefined;
312
+ letterGrade?: string | undefined;
313
+ isLate?: boolean | undefined;
314
+ feedback?: string | undefined;
315
+ privateNotes?: string | undefined;
316
+ rubricScores?: {
317
+ criterionId: string;
318
+ score: number;
319
+ feedback?: string | undefined;
320
+ }[] | undefined;
321
+ submittedAt?: string | undefined;
322
+ gradedAt?: string | undefined;
323
+ }>;
324
+ export type CreateGradeDto = z.infer<typeof createGradeSchema>;
325
+ export declare const updateGradeSchema: z.ZodObject<Omit<{
326
+ studentId: z.ZodOptional<z.ZodString>;
327
+ assignmentId: z.ZodOptional<z.ZodString>;
328
+ classroomId: z.ZodOptional<z.ZodString>;
329
+ pointsEarned: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
330
+ pointsPossible: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
331
+ percentage: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
332
+ letterGrade: z.ZodOptional<z.ZodOptional<z.ZodString>>;
333
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>>>;
334
+ isLate: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
335
+ isExtraCredit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
336
+ feedback: z.ZodOptional<z.ZodOptional<z.ZodString>>;
337
+ privateNotes: z.ZodOptional<z.ZodOptional<z.ZodString>>;
338
+ rubricScores: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
339
+ criterionId: z.ZodString;
340
+ score: z.ZodNumber;
341
+ feedback: z.ZodOptional<z.ZodString>;
342
+ }, "strip", z.ZodTypeAny, {
343
+ criterionId: string;
344
+ score: number;
345
+ feedback?: string | undefined;
346
+ }, {
347
+ criterionId: string;
348
+ score: number;
349
+ feedback?: string | undefined;
350
+ }>, "many">>>;
351
+ submittedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
352
+ gradedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
353
+ }, "studentId" | "classroomId" | "assignmentId">, "strip", z.ZodTypeAny, {
354
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
355
+ percentage?: number | undefined;
356
+ isExtraCredit?: boolean | undefined;
357
+ pointsEarned?: number | undefined;
358
+ pointsPossible?: number | undefined;
359
+ letterGrade?: string | undefined;
360
+ isLate?: boolean | undefined;
361
+ feedback?: string | undefined;
362
+ privateNotes?: string | undefined;
363
+ rubricScores?: {
364
+ criterionId: string;
365
+ score: number;
366
+ feedback?: string | undefined;
367
+ }[] | undefined;
368
+ submittedAt?: string | undefined;
369
+ gradedAt?: string | undefined;
370
+ }, {
371
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
372
+ percentage?: number | undefined;
373
+ isExtraCredit?: boolean | undefined;
374
+ pointsEarned?: number | undefined;
375
+ pointsPossible?: number | undefined;
376
+ letterGrade?: string | undefined;
377
+ isLate?: boolean | undefined;
378
+ feedback?: string | undefined;
379
+ privateNotes?: string | undefined;
380
+ rubricScores?: {
381
+ criterionId: string;
382
+ score: number;
383
+ feedback?: string | undefined;
384
+ }[] | undefined;
385
+ submittedAt?: string | undefined;
386
+ gradedAt?: string | undefined;
387
+ }>;
388
+ export type UpdateGradeDto = z.infer<typeof updateGradeSchema>;
389
+ export declare const gradeResponseSchema: z.ZodObject<{
390
+ gradeId: z.ZodString;
391
+ studentId: z.ZodString;
392
+ studentName: z.ZodOptional<z.ZodString>;
393
+ assignmentId: z.ZodString;
394
+ assignmentName: z.ZodOptional<z.ZodString>;
395
+ classroomId: z.ZodString;
396
+ classroomName: z.ZodOptional<z.ZodString>;
397
+ pointsEarned: z.ZodOptional<z.ZodNumber>;
398
+ pointsPossible: z.ZodOptional<z.ZodNumber>;
399
+ percentage: z.ZodOptional<z.ZodNumber>;
400
+ letterGrade: z.ZodOptional<z.ZodString>;
401
+ status: z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>;
402
+ isLate: z.ZodBoolean;
403
+ isExtraCredit: z.ZodBoolean;
404
+ feedback: z.ZodOptional<z.ZodString>;
405
+ privateNotes: z.ZodOptional<z.ZodString>;
406
+ rubricScores: z.ZodOptional<z.ZodArray<z.ZodObject<{
407
+ criterionId: z.ZodString;
408
+ criterionName: z.ZodOptional<z.ZodString>;
409
+ score: z.ZodNumber;
410
+ maxScore: z.ZodOptional<z.ZodNumber>;
411
+ feedback: z.ZodOptional<z.ZodString>;
412
+ }, "strip", z.ZodTypeAny, {
413
+ criterionId: string;
414
+ score: number;
415
+ maxScore?: number | undefined;
416
+ feedback?: string | undefined;
417
+ criterionName?: string | undefined;
418
+ }, {
419
+ criterionId: string;
420
+ score: number;
421
+ maxScore?: number | undefined;
422
+ feedback?: string | undefined;
423
+ criterionName?: string | undefined;
424
+ }>, "many">>;
425
+ submittedAt: z.ZodOptional<z.ZodString>;
426
+ gradedAt: z.ZodOptional<z.ZodString>;
427
+ createdAt: z.ZodString;
428
+ updatedAt: z.ZodString;
429
+ gradedBy: z.ZodOptional<z.ZodString>;
430
+ }, "strip", z.ZodTypeAny, {
431
+ status: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete";
432
+ createdAt: string;
433
+ updatedAt: string;
434
+ studentId: string;
435
+ classroomId: string;
436
+ isExtraCredit: boolean;
437
+ assignmentId: string;
438
+ isLate: boolean;
439
+ gradeId: string;
440
+ percentage?: number | undefined;
441
+ studentName?: string | undefined;
442
+ classroomName?: string | undefined;
443
+ pointsEarned?: number | undefined;
444
+ pointsPossible?: number | undefined;
445
+ letterGrade?: string | undefined;
446
+ feedback?: string | undefined;
447
+ privateNotes?: string | undefined;
448
+ rubricScores?: {
449
+ criterionId: string;
450
+ score: number;
451
+ maxScore?: number | undefined;
452
+ feedback?: string | undefined;
453
+ criterionName?: string | undefined;
454
+ }[] | undefined;
455
+ submittedAt?: string | undefined;
456
+ gradedAt?: string | undefined;
457
+ assignmentName?: string | undefined;
458
+ gradedBy?: string | undefined;
459
+ }, {
460
+ status: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete";
461
+ createdAt: string;
462
+ updatedAt: string;
463
+ studentId: string;
464
+ classroomId: string;
465
+ isExtraCredit: boolean;
466
+ assignmentId: string;
467
+ isLate: boolean;
468
+ gradeId: string;
469
+ percentage?: number | undefined;
470
+ studentName?: string | undefined;
471
+ classroomName?: string | undefined;
472
+ pointsEarned?: number | undefined;
473
+ pointsPossible?: number | undefined;
474
+ letterGrade?: string | undefined;
475
+ feedback?: string | undefined;
476
+ privateNotes?: string | undefined;
477
+ rubricScores?: {
478
+ criterionId: string;
479
+ score: number;
480
+ maxScore?: number | undefined;
481
+ feedback?: string | undefined;
482
+ criterionName?: string | undefined;
483
+ }[] | undefined;
484
+ submittedAt?: string | undefined;
485
+ gradedAt?: string | undefined;
486
+ assignmentName?: string | undefined;
487
+ gradedBy?: string | undefined;
488
+ }>;
489
+ export type GradeResponseDto = z.infer<typeof gradeResponseSchema>;
490
+ export declare const gradeListResponseSchema: z.ZodObject<{
491
+ items: z.ZodArray<z.ZodObject<{
492
+ gradeId: z.ZodString;
493
+ studentId: z.ZodString;
494
+ studentName: z.ZodOptional<z.ZodString>;
495
+ assignmentId: z.ZodString;
496
+ assignmentName: z.ZodOptional<z.ZodString>;
497
+ classroomId: z.ZodString;
498
+ classroomName: z.ZodOptional<z.ZodString>;
499
+ pointsEarned: z.ZodOptional<z.ZodNumber>;
500
+ pointsPossible: z.ZodOptional<z.ZodNumber>;
501
+ percentage: z.ZodOptional<z.ZodNumber>;
502
+ letterGrade: z.ZodOptional<z.ZodString>;
503
+ status: z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>;
504
+ isLate: z.ZodBoolean;
505
+ isExtraCredit: z.ZodBoolean;
506
+ feedback: z.ZodOptional<z.ZodString>;
507
+ privateNotes: z.ZodOptional<z.ZodString>;
508
+ rubricScores: z.ZodOptional<z.ZodArray<z.ZodObject<{
509
+ criterionId: z.ZodString;
510
+ criterionName: z.ZodOptional<z.ZodString>;
511
+ score: z.ZodNumber;
512
+ maxScore: z.ZodOptional<z.ZodNumber>;
513
+ feedback: z.ZodOptional<z.ZodString>;
514
+ }, "strip", z.ZodTypeAny, {
515
+ criterionId: string;
516
+ score: number;
517
+ maxScore?: number | undefined;
518
+ feedback?: string | undefined;
519
+ criterionName?: string | undefined;
520
+ }, {
521
+ criterionId: string;
522
+ score: number;
523
+ maxScore?: number | undefined;
524
+ feedback?: string | undefined;
525
+ criterionName?: string | undefined;
526
+ }>, "many">>;
527
+ submittedAt: z.ZodOptional<z.ZodString>;
528
+ gradedAt: z.ZodOptional<z.ZodString>;
529
+ createdAt: z.ZodString;
530
+ updatedAt: z.ZodString;
531
+ gradedBy: z.ZodOptional<z.ZodString>;
532
+ }, "strip", z.ZodTypeAny, {
533
+ status: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete";
534
+ createdAt: string;
535
+ updatedAt: string;
536
+ studentId: string;
537
+ classroomId: string;
538
+ isExtraCredit: boolean;
539
+ assignmentId: string;
540
+ isLate: boolean;
541
+ gradeId: string;
542
+ percentage?: number | undefined;
543
+ studentName?: string | undefined;
544
+ classroomName?: string | undefined;
545
+ pointsEarned?: number | undefined;
546
+ pointsPossible?: number | undefined;
547
+ letterGrade?: string | undefined;
548
+ feedback?: string | undefined;
549
+ privateNotes?: string | undefined;
550
+ rubricScores?: {
551
+ criterionId: string;
552
+ score: number;
553
+ maxScore?: number | undefined;
554
+ feedback?: string | undefined;
555
+ criterionName?: string | undefined;
556
+ }[] | undefined;
557
+ submittedAt?: string | undefined;
558
+ gradedAt?: string | undefined;
559
+ assignmentName?: string | undefined;
560
+ gradedBy?: string | undefined;
561
+ }, {
562
+ status: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete";
563
+ createdAt: string;
564
+ updatedAt: string;
565
+ studentId: string;
566
+ classroomId: string;
567
+ isExtraCredit: boolean;
568
+ assignmentId: string;
569
+ isLate: boolean;
570
+ gradeId: string;
571
+ percentage?: number | undefined;
572
+ studentName?: string | undefined;
573
+ classroomName?: string | undefined;
574
+ pointsEarned?: number | undefined;
575
+ pointsPossible?: number | undefined;
576
+ letterGrade?: string | undefined;
577
+ feedback?: string | undefined;
578
+ privateNotes?: string | undefined;
579
+ rubricScores?: {
580
+ criterionId: string;
581
+ score: number;
582
+ maxScore?: number | undefined;
583
+ feedback?: string | undefined;
584
+ criterionName?: string | undefined;
585
+ }[] | undefined;
586
+ submittedAt?: string | undefined;
587
+ gradedAt?: string | undefined;
588
+ assignmentName?: string | undefined;
589
+ gradedBy?: string | undefined;
590
+ }>, "many">;
591
+ lastEvaluatedKey: z.ZodOptional<z.ZodString>;
592
+ hasMore: z.ZodBoolean;
593
+ total: z.ZodOptional<z.ZodNumber>;
594
+ }, "strip", z.ZodTypeAny, {
595
+ items: {
596
+ status: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete";
597
+ createdAt: string;
598
+ updatedAt: string;
599
+ studentId: string;
600
+ classroomId: string;
601
+ isExtraCredit: boolean;
602
+ assignmentId: string;
603
+ isLate: boolean;
604
+ gradeId: string;
605
+ percentage?: number | undefined;
606
+ studentName?: string | undefined;
607
+ classroomName?: string | undefined;
608
+ pointsEarned?: number | undefined;
609
+ pointsPossible?: number | undefined;
610
+ letterGrade?: string | undefined;
611
+ feedback?: string | undefined;
612
+ privateNotes?: string | undefined;
613
+ rubricScores?: {
614
+ criterionId: string;
615
+ score: number;
616
+ maxScore?: number | undefined;
617
+ feedback?: string | undefined;
618
+ criterionName?: string | undefined;
619
+ }[] | undefined;
620
+ submittedAt?: string | undefined;
621
+ gradedAt?: string | undefined;
622
+ assignmentName?: string | undefined;
623
+ gradedBy?: string | undefined;
624
+ }[];
625
+ hasMore: boolean;
626
+ lastEvaluatedKey?: string | undefined;
627
+ total?: number | undefined;
628
+ }, {
629
+ items: {
630
+ status: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete";
631
+ createdAt: string;
632
+ updatedAt: string;
633
+ studentId: string;
634
+ classroomId: string;
635
+ isExtraCredit: boolean;
636
+ assignmentId: string;
637
+ isLate: boolean;
638
+ gradeId: string;
639
+ percentage?: number | undefined;
640
+ studentName?: string | undefined;
641
+ classroomName?: string | undefined;
642
+ pointsEarned?: number | undefined;
643
+ pointsPossible?: number | undefined;
644
+ letterGrade?: string | undefined;
645
+ feedback?: string | undefined;
646
+ privateNotes?: string | undefined;
647
+ rubricScores?: {
648
+ criterionId: string;
649
+ score: number;
650
+ maxScore?: number | undefined;
651
+ feedback?: string | undefined;
652
+ criterionName?: string | undefined;
653
+ }[] | undefined;
654
+ submittedAt?: string | undefined;
655
+ gradedAt?: string | undefined;
656
+ assignmentName?: string | undefined;
657
+ gradedBy?: string | undefined;
658
+ }[];
659
+ hasMore: boolean;
660
+ lastEvaluatedKey?: string | undefined;
661
+ total?: number | undefined;
662
+ }>;
663
+ export type GradeListResponseDto = z.infer<typeof gradeListResponseSchema>;
664
+ export declare const bulkGradeRecordSchema: z.ZodObject<{
665
+ studentId: z.ZodString;
666
+ pointsEarned: z.ZodOptional<z.ZodNumber>;
667
+ percentage: z.ZodOptional<z.ZodNumber>;
668
+ status: z.ZodOptional<z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>>;
669
+ feedback: z.ZodOptional<z.ZodString>;
670
+ }, "strip", z.ZodTypeAny, {
671
+ studentId: string;
672
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
673
+ percentage?: number | undefined;
674
+ pointsEarned?: number | undefined;
675
+ feedback?: string | undefined;
676
+ }, {
677
+ studentId: string;
678
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
679
+ percentage?: number | undefined;
680
+ pointsEarned?: number | undefined;
681
+ feedback?: string | undefined;
682
+ }>;
683
+ export declare const bulkGradeSchema: z.ZodObject<{
684
+ assignmentId: z.ZodString;
685
+ classroomId: z.ZodString;
686
+ grades: z.ZodArray<z.ZodObject<{
687
+ studentId: z.ZodString;
688
+ pointsEarned: z.ZodOptional<z.ZodNumber>;
689
+ percentage: z.ZodOptional<z.ZodNumber>;
690
+ status: z.ZodOptional<z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>>;
691
+ feedback: z.ZodOptional<z.ZodString>;
692
+ }, "strip", z.ZodTypeAny, {
693
+ studentId: string;
694
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
695
+ percentage?: number | undefined;
696
+ pointsEarned?: number | undefined;
697
+ feedback?: string | undefined;
698
+ }, {
699
+ studentId: string;
700
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
701
+ percentage?: number | undefined;
702
+ pointsEarned?: number | undefined;
703
+ feedback?: string | undefined;
704
+ }>, "many">;
705
+ publishImmediately: z.ZodDefault<z.ZodBoolean>;
706
+ }, "strip", z.ZodTypeAny, {
707
+ grades: {
708
+ studentId: string;
709
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
710
+ percentage?: number | undefined;
711
+ pointsEarned?: number | undefined;
712
+ feedback?: string | undefined;
713
+ }[];
714
+ classroomId: string;
715
+ assignmentId: string;
716
+ publishImmediately: boolean;
717
+ }, {
718
+ grades: {
719
+ studentId: string;
720
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
721
+ percentage?: number | undefined;
722
+ pointsEarned?: number | undefined;
723
+ feedback?: string | undefined;
724
+ }[];
725
+ classroomId: string;
726
+ assignmentId: string;
727
+ publishImmediately?: boolean | undefined;
728
+ }>;
729
+ export type BulkGradeDto = z.infer<typeof bulkGradeSchema>;
730
+ export declare const gradeFilterSchema: z.ZodObject<{
731
+ studentId: z.ZodOptional<z.ZodString>;
732
+ classroomId: z.ZodOptional<z.ZodString>;
733
+ assignmentId: z.ZodOptional<z.ZodString>;
734
+ categoryType: z.ZodOptional<z.ZodEnum<["assignment", "quiz", "test", "exam", "project", "homework", "participation", "lab", "presentation", "other"]>>;
735
+ status: z.ZodOptional<z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>>;
736
+ dateFrom: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
737
+ dateTo: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
738
+ gradingPeriodId: z.ZodOptional<z.ZodString>;
739
+ }, "strip", z.ZodTypeAny, {
740
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
741
+ gradingPeriodId?: string | undefined;
742
+ studentId?: string | undefined;
743
+ classroomId?: string | undefined;
744
+ dateFrom?: string | undefined;
745
+ dateTo?: string | undefined;
746
+ categoryType?: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation" | undefined;
747
+ assignmentId?: string | undefined;
748
+ }, {
749
+ status?: "excused" | "draft" | "submitted" | "published" | "missing" | "incomplete" | undefined;
750
+ gradingPeriodId?: string | undefined;
751
+ studentId?: string | undefined;
752
+ classroomId?: string | undefined;
753
+ dateFrom?: string | undefined;
754
+ dateTo?: string | undefined;
755
+ categoryType?: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation" | undefined;
756
+ assignmentId?: string | undefined;
757
+ }>;
758
+ export type GradeFilterDto = z.infer<typeof gradeFilterSchema>;
759
+ export declare const studentGradeSummarySchema: z.ZodObject<{
760
+ studentId: z.ZodString;
761
+ studentName: z.ZodString;
762
+ classroomId: z.ZodString;
763
+ classroomName: z.ZodString;
764
+ currentGrade: z.ZodOptional<z.ZodNumber>;
765
+ letterGrade: z.ZodOptional<z.ZodString>;
766
+ categoryGrades: z.ZodOptional<z.ZodArray<z.ZodObject<{
767
+ categoryId: z.ZodString;
768
+ categoryName: z.ZodString;
769
+ categoryType: z.ZodEnum<["assignment", "quiz", "test", "exam", "project", "homework", "participation", "lab", "presentation", "other"]>;
770
+ weight: z.ZodNumber;
771
+ earnedPoints: z.ZodNumber;
772
+ possiblePoints: z.ZodNumber;
773
+ percentage: z.ZodOptional<z.ZodNumber>;
774
+ assignmentCount: z.ZodNumber;
775
+ }, "strip", z.ZodTypeAny, {
776
+ categoryType: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation";
777
+ weight: number;
778
+ categoryId: string;
779
+ categoryName: string;
780
+ earnedPoints: number;
781
+ possiblePoints: number;
782
+ assignmentCount: number;
783
+ percentage?: number | undefined;
784
+ }, {
785
+ categoryType: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation";
786
+ weight: number;
787
+ categoryId: string;
788
+ categoryName: string;
789
+ earnedPoints: number;
790
+ possiblePoints: number;
791
+ assignmentCount: number;
792
+ percentage?: number | undefined;
793
+ }>, "many">>;
794
+ assignmentsCompleted: z.ZodNumber;
795
+ assignmentsTotal: z.ZodNumber;
796
+ missingAssignments: z.ZodNumber;
797
+ lateAssignments: z.ZodNumber;
798
+ trend: z.ZodOptional<z.ZodEnum<["improving", "declining", "stable"]>>;
799
+ previousGrade: z.ZodOptional<z.ZodNumber>;
800
+ }, "strip", z.ZodTypeAny, {
801
+ studentId: string;
802
+ classroomId: string;
803
+ studentName: string;
804
+ classroomName: string;
805
+ assignmentsCompleted: number;
806
+ assignmentsTotal: number;
807
+ missingAssignments: number;
808
+ lateAssignments: number;
809
+ letterGrade?: string | undefined;
810
+ currentGrade?: number | undefined;
811
+ categoryGrades?: {
812
+ categoryType: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation";
813
+ weight: number;
814
+ categoryId: string;
815
+ categoryName: string;
816
+ earnedPoints: number;
817
+ possiblePoints: number;
818
+ assignmentCount: number;
819
+ percentage?: number | undefined;
820
+ }[] | undefined;
821
+ trend?: "improving" | "declining" | "stable" | undefined;
822
+ previousGrade?: number | undefined;
823
+ }, {
824
+ studentId: string;
825
+ classroomId: string;
826
+ studentName: string;
827
+ classroomName: string;
828
+ assignmentsCompleted: number;
829
+ assignmentsTotal: number;
830
+ missingAssignments: number;
831
+ lateAssignments: number;
832
+ letterGrade?: string | undefined;
833
+ currentGrade?: number | undefined;
834
+ categoryGrades?: {
835
+ categoryType: "other" | "assignment" | "quiz" | "test" | "exam" | "project" | "homework" | "participation" | "lab" | "presentation";
836
+ weight: number;
837
+ categoryId: string;
838
+ categoryName: string;
839
+ earnedPoints: number;
840
+ possiblePoints: number;
841
+ assignmentCount: number;
842
+ percentage?: number | undefined;
843
+ }[] | undefined;
844
+ trend?: "improving" | "declining" | "stable" | undefined;
845
+ previousGrade?: number | undefined;
846
+ }>;
847
+ export type StudentGradeSummaryDto = z.infer<typeof studentGradeSummarySchema>;
848
+ //# sourceMappingURL=grade.schema.d.ts.map