@brite-future-schools-contracts/contracts 1.0.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.
@@ -0,0 +1,697 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const uuidSchema: z.ZodString;
4
+ declare const paginationSchema: z.ZodObject<{
5
+ page: z.ZodDefault<z.ZodNumber>;
6
+ limit: z.ZodDefault<z.ZodNumber>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ page: number;
9
+ limit: number;
10
+ }, {
11
+ page?: number | undefined;
12
+ limit?: number | undefined;
13
+ }>;
14
+ declare const dateRangeSchema: z.ZodObject<{
15
+ from: z.ZodOptional<z.ZodString>;
16
+ to: z.ZodOptional<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ from?: string | undefined;
19
+ to?: string | undefined;
20
+ }, {
21
+ from?: string | undefined;
22
+ to?: string | undefined;
23
+ }>;
24
+ declare const genderEnum: z.ZodEnum<["male", "female"]>;
25
+ declare const userStatusEnum: z.ZodEnum<["active", "inactive", "suspended"]>;
26
+ declare const systemRoleEnum: z.ZodEnum<["DIRECTOR", "PRINCIPAL", "DEPUTY_PRINCIPAL", "HOD", "CLASS_TEACHER", "SUBJECT_TEACHER", "BURSAR", "HR_ADMIN", "SCHOOL_NURSE", "LIBRARIAN", "LAB_TECHNICIAN", "SPORTS_COACH", "COUNSELLOR", "CARETAKER", "SECURITY", "KITCHEN_STAFF", "DRIVER", "IT_ADMIN", "STUDENT", "PARENT", "ORG_SPONSOR", "INDIVIDUAL_SPONSOR"]>;
27
+ type SystemRole = z.infer<typeof systemRoleEnum>;
28
+ declare const loginInputSchema: z.ZodObject<{
29
+ email: z.ZodString;
30
+ password: z.ZodString;
31
+ deviceFingerprint: z.ZodOptional<z.ZodString>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ email: string;
34
+ password: string;
35
+ deviceFingerprint?: string | undefined;
36
+ }, {
37
+ email: string;
38
+ password: string;
39
+ deviceFingerprint?: string | undefined;
40
+ }>;
41
+ declare const loginOutputSchema: z.ZodObject<{
42
+ accessToken: z.ZodString;
43
+ refreshToken: z.ZodOptional<z.ZodString>;
44
+ user: z.ZodObject<{
45
+ id: z.ZodString;
46
+ firstName: z.ZodString;
47
+ middleName: z.ZodNullable<z.ZodString>;
48
+ lastName: z.ZodString;
49
+ email: z.ZodString;
50
+ avatarUrl: z.ZodNullable<z.ZodString>;
51
+ roles: z.ZodArray<z.ZodObject<{
52
+ id: z.ZodString;
53
+ name: z.ZodString;
54
+ branchId: z.ZodNullable<z.ZodString>;
55
+ }, "strip", z.ZodTypeAny, {
56
+ id: string;
57
+ name: string;
58
+ branchId: string | null;
59
+ }, {
60
+ id: string;
61
+ name: string;
62
+ branchId: string | null;
63
+ }>, "many">;
64
+ activeBranchId: z.ZodNullable<z.ZodString>;
65
+ isMfaEnabled: z.ZodBoolean;
66
+ }, "strip", z.ZodTypeAny, {
67
+ email: string;
68
+ id: string;
69
+ firstName: string;
70
+ middleName: string | null;
71
+ lastName: string;
72
+ avatarUrl: string | null;
73
+ roles: {
74
+ id: string;
75
+ name: string;
76
+ branchId: string | null;
77
+ }[];
78
+ activeBranchId: string | null;
79
+ isMfaEnabled: boolean;
80
+ }, {
81
+ email: string;
82
+ id: string;
83
+ firstName: string;
84
+ middleName: string | null;
85
+ lastName: string;
86
+ avatarUrl: string | null;
87
+ roles: {
88
+ id: string;
89
+ name: string;
90
+ branchId: string | null;
91
+ }[];
92
+ activeBranchId: string | null;
93
+ isMfaEnabled: boolean;
94
+ }>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ accessToken: string;
97
+ user: {
98
+ email: string;
99
+ id: string;
100
+ firstName: string;
101
+ middleName: string | null;
102
+ lastName: string;
103
+ avatarUrl: string | null;
104
+ roles: {
105
+ id: string;
106
+ name: string;
107
+ branchId: string | null;
108
+ }[];
109
+ activeBranchId: string | null;
110
+ isMfaEnabled: boolean;
111
+ };
112
+ refreshToken?: string | undefined;
113
+ }, {
114
+ accessToken: string;
115
+ user: {
116
+ email: string;
117
+ id: string;
118
+ firstName: string;
119
+ middleName: string | null;
120
+ lastName: string;
121
+ avatarUrl: string | null;
122
+ roles: {
123
+ id: string;
124
+ name: string;
125
+ branchId: string | null;
126
+ }[];
127
+ activeBranchId: string | null;
128
+ isMfaEnabled: boolean;
129
+ };
130
+ refreshToken?: string | undefined;
131
+ }>;
132
+ declare const refreshTokenOutputSchema: z.ZodObject<{
133
+ accessToken: z.ZodString;
134
+ }, "strip", z.ZodTypeAny, {
135
+ accessToken: string;
136
+ }, {
137
+ accessToken: string;
138
+ }>;
139
+ declare const refreshInputSchema: z.ZodObject<{
140
+ refreshToken: z.ZodOptional<z.ZodString>;
141
+ }, "strip", z.ZodTypeAny, {
142
+ refreshToken?: string | undefined;
143
+ }, {
144
+ refreshToken?: string | undefined;
145
+ }>;
146
+ declare const mfaVerifyInputSchema: z.ZodObject<{
147
+ totp: z.ZodString;
148
+ }, "strip", z.ZodTypeAny, {
149
+ totp: string;
150
+ }, {
151
+ totp: string;
152
+ }>;
153
+ declare const changePasswordInputSchema: z.ZodObject<{
154
+ currentPassword: z.ZodString;
155
+ newPassword: z.ZodString;
156
+ }, "strip", z.ZodTypeAny, {
157
+ currentPassword: string;
158
+ newPassword: string;
159
+ }, {
160
+ currentPassword: string;
161
+ newPassword: string;
162
+ }>;
163
+ declare const userSchema: z.ZodObject<{
164
+ id: z.ZodString;
165
+ firstName: z.ZodString;
166
+ middleName: z.ZodNullable<z.ZodString>;
167
+ lastName: z.ZodString;
168
+ email: z.ZodString;
169
+ phone: z.ZodNullable<z.ZodString>;
170
+ avatarUrl: z.ZodNullable<z.ZodString>;
171
+ isActive: z.ZodBoolean;
172
+ isMfaEnabled: z.ZodBoolean;
173
+ lastLoginAt: z.ZodNullable<z.ZodString>;
174
+ createdAt: z.ZodString;
175
+ }, "strip", z.ZodTypeAny, {
176
+ email: string;
177
+ id: string;
178
+ firstName: string;
179
+ middleName: string | null;
180
+ lastName: string;
181
+ avatarUrl: string | null;
182
+ isMfaEnabled: boolean;
183
+ phone: string | null;
184
+ isActive: boolean;
185
+ lastLoginAt: string | null;
186
+ createdAt: string;
187
+ }, {
188
+ email: string;
189
+ id: string;
190
+ firstName: string;
191
+ middleName: string | null;
192
+ lastName: string;
193
+ avatarUrl: string | null;
194
+ isMfaEnabled: boolean;
195
+ phone: string | null;
196
+ isActive: boolean;
197
+ lastLoginAt: string | null;
198
+ createdAt: string;
199
+ }>;
200
+ declare const branchSchema: z.ZodObject<{
201
+ id: z.ZodString;
202
+ name: z.ZodString;
203
+ code: z.ZodString;
204
+ address: z.ZodString;
205
+ county: z.ZodString;
206
+ phone: z.ZodNullable<z.ZodString>;
207
+ email: z.ZodNullable<z.ZodString>;
208
+ logoUrl: z.ZodNullable<z.ZodString>;
209
+ motto: z.ZodNullable<z.ZodString>;
210
+ principalId: z.ZodNullable<z.ZodString>;
211
+ mpesaPaybill: z.ZodNullable<z.ZodString>;
212
+ featureFlags: z.ZodRecord<z.ZodString, z.ZodBoolean>;
213
+ createdAt: z.ZodString;
214
+ }, "strip", z.ZodTypeAny, {
215
+ code: string;
216
+ email: string | null;
217
+ id: string;
218
+ name: string;
219
+ phone: string | null;
220
+ createdAt: string;
221
+ address: string;
222
+ county: string;
223
+ logoUrl: string | null;
224
+ motto: string | null;
225
+ principalId: string | null;
226
+ mpesaPaybill: string | null;
227
+ featureFlags: Record<string, boolean>;
228
+ }, {
229
+ code: string;
230
+ email: string | null;
231
+ id: string;
232
+ name: string;
233
+ phone: string | null;
234
+ createdAt: string;
235
+ address: string;
236
+ county: string;
237
+ logoUrl: string | null;
238
+ motto: string | null;
239
+ principalId: string | null;
240
+ mpesaPaybill: string | null;
241
+ featureFlags: Record<string, boolean>;
242
+ }>;
243
+ declare const createBranchInputSchema: z.ZodObject<{
244
+ name: z.ZodString;
245
+ code: z.ZodString;
246
+ address: z.ZodString;
247
+ county: z.ZodString;
248
+ phone: z.ZodOptional<z.ZodString>;
249
+ email: z.ZodOptional<z.ZodString>;
250
+ motto: z.ZodOptional<z.ZodString>;
251
+ }, "strip", z.ZodTypeAny, {
252
+ code: string;
253
+ name: string;
254
+ address: string;
255
+ county: string;
256
+ email?: string | undefined;
257
+ phone?: string | undefined;
258
+ motto?: string | undefined;
259
+ }, {
260
+ code: string;
261
+ name: string;
262
+ address: string;
263
+ county: string;
264
+ email?: string | undefined;
265
+ phone?: string | undefined;
266
+ motto?: string | undefined;
267
+ }>;
268
+ declare const studentStatusEnum: z.ZodEnum<["active", "transferred", "graduated", "suspended", "withdrawn"]>;
269
+ declare const studentSchema: z.ZodObject<{
270
+ id: z.ZodString;
271
+ branchId: z.ZodString;
272
+ admissionNo: z.ZodString;
273
+ nemisNo: z.ZodNullable<z.ZodString>;
274
+ firstName: z.ZodString;
275
+ middleName: z.ZodNullable<z.ZodString>;
276
+ lastName: z.ZodString;
277
+ dateOfBirth: z.ZodString;
278
+ gender: z.ZodEnum<["male", "female"]>;
279
+ photoUrl: z.ZodNullable<z.ZodString>;
280
+ bloodGroup: z.ZodNullable<z.ZodString>;
281
+ admissionDate: z.ZodString;
282
+ status: z.ZodEnum<["active", "transferred", "graduated", "suspended", "withdrawn"]>;
283
+ currentClassId: z.ZodNullable<z.ZodString>;
284
+ createdAt: z.ZodString;
285
+ }, "strip", z.ZodTypeAny, {
286
+ status: "active" | "suspended" | "transferred" | "graduated" | "withdrawn";
287
+ id: string;
288
+ firstName: string;
289
+ middleName: string | null;
290
+ lastName: string;
291
+ branchId: string;
292
+ createdAt: string;
293
+ admissionNo: string;
294
+ nemisNo: string | null;
295
+ dateOfBirth: string;
296
+ gender: "male" | "female";
297
+ photoUrl: string | null;
298
+ bloodGroup: string | null;
299
+ admissionDate: string;
300
+ currentClassId: string | null;
301
+ }, {
302
+ status: "active" | "suspended" | "transferred" | "graduated" | "withdrawn";
303
+ id: string;
304
+ firstName: string;
305
+ middleName: string | null;
306
+ lastName: string;
307
+ branchId: string;
308
+ createdAt: string;
309
+ admissionNo: string;
310
+ nemisNo: string | null;
311
+ dateOfBirth: string;
312
+ gender: "male" | "female";
313
+ photoUrl: string | null;
314
+ bloodGroup: string | null;
315
+ admissionDate: string;
316
+ currentClassId: string | null;
317
+ }>;
318
+ declare const createStudentInputSchema: z.ZodObject<{
319
+ admissionNo: z.ZodString;
320
+ nemisNo: z.ZodOptional<z.ZodString>;
321
+ firstName: z.ZodString;
322
+ middleName: z.ZodOptional<z.ZodString>;
323
+ lastName: z.ZodString;
324
+ dateOfBirth: z.ZodString;
325
+ gender: z.ZodEnum<["male", "female"]>;
326
+ admissionDate: z.ZodString;
327
+ guardianId: z.ZodOptional<z.ZodString>;
328
+ }, "strip", z.ZodTypeAny, {
329
+ firstName: string;
330
+ lastName: string;
331
+ admissionNo: string;
332
+ dateOfBirth: string;
333
+ gender: "male" | "female";
334
+ admissionDate: string;
335
+ middleName?: string | undefined;
336
+ nemisNo?: string | undefined;
337
+ guardianId?: string | undefined;
338
+ }, {
339
+ firstName: string;
340
+ lastName: string;
341
+ admissionNo: string;
342
+ dateOfBirth: string;
343
+ gender: "male" | "female";
344
+ admissionDate: string;
345
+ middleName?: string | undefined;
346
+ nemisNo?: string | undefined;
347
+ guardianId?: string | undefined;
348
+ }>;
349
+ declare const listStudentsInputSchema: z.ZodObject<{
350
+ page: z.ZodDefault<z.ZodNumber>;
351
+ limit: z.ZodDefault<z.ZodNumber>;
352
+ } & {
353
+ branchId: z.ZodOptional<z.ZodString>;
354
+ classId: z.ZodOptional<z.ZodString>;
355
+ search: z.ZodOptional<z.ZodString>;
356
+ status: z.ZodOptional<z.ZodEnum<["active", "transferred", "graduated", "suspended", "withdrawn"]>>;
357
+ termId: z.ZodOptional<z.ZodString>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ page: number;
360
+ limit: number;
361
+ status?: "active" | "suspended" | "transferred" | "graduated" | "withdrawn" | undefined;
362
+ branchId?: string | undefined;
363
+ classId?: string | undefined;
364
+ search?: string | undefined;
365
+ termId?: string | undefined;
366
+ }, {
367
+ page?: number | undefined;
368
+ limit?: number | undefined;
369
+ status?: "active" | "suspended" | "transferred" | "graduated" | "withdrawn" | undefined;
370
+ branchId?: string | undefined;
371
+ classId?: string | undefined;
372
+ search?: string | undefined;
373
+ termId?: string | undefined;
374
+ }>;
375
+ declare const guardianSchema: z.ZodObject<{
376
+ id: z.ZodString;
377
+ userId: z.ZodString;
378
+ firstName: z.ZodString;
379
+ middleName: z.ZodNullable<z.ZodString>;
380
+ lastName: z.ZodString;
381
+ relationship: z.ZodString;
382
+ phone: z.ZodString;
383
+ email: z.ZodNullable<z.ZodString>;
384
+ nationalId: z.ZodNullable<z.ZodString>;
385
+ occupation: z.ZodNullable<z.ZodString>;
386
+ address: z.ZodNullable<z.ZodString>;
387
+ }, "strip", z.ZodTypeAny, {
388
+ email: string | null;
389
+ id: string;
390
+ firstName: string;
391
+ middleName: string | null;
392
+ lastName: string;
393
+ phone: string;
394
+ address: string | null;
395
+ userId: string;
396
+ relationship: string;
397
+ nationalId: string | null;
398
+ occupation: string | null;
399
+ }, {
400
+ email: string | null;
401
+ id: string;
402
+ firstName: string;
403
+ middleName: string | null;
404
+ lastName: string;
405
+ phone: string;
406
+ address: string | null;
407
+ userId: string;
408
+ relationship: string;
409
+ nationalId: string | null;
410
+ occupation: string | null;
411
+ }>;
412
+ declare const sponsorTypeEnum: z.ZodEnum<["organisation", "individual"]>;
413
+ declare const sponsorSchema: z.ZodObject<{
414
+ id: z.ZodString;
415
+ branchId: z.ZodString;
416
+ type: z.ZodEnum<["organisation", "individual"]>;
417
+ organisationName: z.ZodNullable<z.ZodString>;
418
+ firstName: z.ZodNullable<z.ZodString>;
419
+ middleName: z.ZodNullable<z.ZodString>;
420
+ lastName: z.ZodNullable<z.ZodString>;
421
+ contactUserId: z.ZodNullable<z.ZodString>;
422
+ phone: z.ZodString;
423
+ email: z.ZodNullable<z.ZodString>;
424
+ address: z.ZodNullable<z.ZodString>;
425
+ }, "strip", z.ZodTypeAny, {
426
+ type: "organisation" | "individual";
427
+ email: string | null;
428
+ id: string;
429
+ firstName: string | null;
430
+ middleName: string | null;
431
+ lastName: string | null;
432
+ branchId: string;
433
+ phone: string;
434
+ address: string | null;
435
+ organisationName: string | null;
436
+ contactUserId: string | null;
437
+ }, {
438
+ type: "organisation" | "individual";
439
+ email: string | null;
440
+ id: string;
441
+ firstName: string | null;
442
+ middleName: string | null;
443
+ lastName: string | null;
444
+ branchId: string;
445
+ phone: string;
446
+ address: string | null;
447
+ organisationName: string | null;
448
+ contactUserId: string | null;
449
+ }>;
450
+ declare const gradeLevelEnum: z.ZodEnum<["PP1", "PP2", "G1", "G2", "G3", "G4", "G5", "G6", "G7", "G8", "G9"]>;
451
+ declare const assessmentTypeEnum: z.ZodEnum<["formative", "summative", "knec_national", "informal"]>;
452
+ declare const rubricBandEnum: z.ZodEnum<["EE", "ME", "AE", "BE"]>;
453
+ declare const subjectSchema: z.ZodObject<{
454
+ id: z.ZodString;
455
+ branchId: z.ZodString;
456
+ name: z.ZodString;
457
+ code: z.ZodString;
458
+ gradeLevel: z.ZodEnum<["PP1", "PP2", "G1", "G2", "G3", "G4", "G5", "G6", "G7", "G8", "G9"]>;
459
+ departmentId: z.ZodNullable<z.ZodString>;
460
+ }, "strip", z.ZodTypeAny, {
461
+ code: string;
462
+ id: string;
463
+ name: string;
464
+ branchId: string;
465
+ gradeLevel: "PP1" | "PP2" | "G1" | "G2" | "G3" | "G4" | "G5" | "G6" | "G7" | "G8" | "G9";
466
+ departmentId: string | null;
467
+ }, {
468
+ code: string;
469
+ id: string;
470
+ name: string;
471
+ branchId: string;
472
+ gradeLevel: "PP1" | "PP2" | "G1" | "G2" | "G3" | "G4" | "G5" | "G6" | "G7" | "G8" | "G9";
473
+ departmentId: string | null;
474
+ }>;
475
+ declare const assessmentScoreInputSchema: z.ZodObject<{
476
+ assessmentId: z.ZodString;
477
+ studentId: z.ZodString;
478
+ subStrandId: z.ZodString;
479
+ numericScore: z.ZodNumber;
480
+ comments: z.ZodOptional<z.ZodString>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ assessmentId: string;
483
+ studentId: string;
484
+ subStrandId: string;
485
+ numericScore: number;
486
+ comments?: string | undefined;
487
+ }, {
488
+ assessmentId: string;
489
+ studentId: string;
490
+ subStrandId: string;
491
+ numericScore: number;
492
+ comments?: string | undefined;
493
+ }>;
494
+ declare const reportCardStatusEnum: z.ZodEnum<["draft", "hod_review", "principal_review", "released", "blocked"]>;
495
+ declare const feeItemCategoryEnum: z.ZodEnum<["compulsory", "class_specific", "additive"]>;
496
+ declare const paymentMethodEnum: z.ZodEnum<["mpesa", "bank", "card", "cash", "cheque"]>;
497
+ declare const invoiceStatusEnum: z.ZodEnum<["draft", "sent", "partial", "paid", "overdue", "cancelled"]>;
498
+ declare const feeItemSchema: z.ZodObject<{
499
+ id: z.ZodString;
500
+ branchId: z.ZodString;
501
+ name: z.ZodString;
502
+ category: z.ZodEnum<["compulsory", "class_specific", "additive"]>;
503
+ defaultAmount: z.ZodNumber;
504
+ applicableGrades: z.ZodArray<z.ZodEnum<["PP1", "PP2", "G1", "G2", "G3", "G4", "G5", "G6", "G7", "G8", "G9"]>, "many">;
505
+ isActive: z.ZodBoolean;
506
+ }, "strip", z.ZodTypeAny, {
507
+ id: string;
508
+ name: string;
509
+ branchId: string;
510
+ isActive: boolean;
511
+ category: "compulsory" | "class_specific" | "additive";
512
+ defaultAmount: number;
513
+ applicableGrades: ("PP1" | "PP2" | "G1" | "G2" | "G3" | "G4" | "G5" | "G6" | "G7" | "G8" | "G9")[];
514
+ }, {
515
+ id: string;
516
+ name: string;
517
+ branchId: string;
518
+ isActive: boolean;
519
+ category: "compulsory" | "class_specific" | "additive";
520
+ defaultAmount: number;
521
+ applicableGrades: ("PP1" | "PP2" | "G1" | "G2" | "G3" | "G4" | "G5" | "G6" | "G7" | "G8" | "G9")[];
522
+ }>;
523
+ declare const recordPaymentInputSchema: z.ZodObject<{
524
+ studentId: z.ZodString;
525
+ invoiceId: z.ZodString;
526
+ amount: z.ZodNumber;
527
+ method: z.ZodEnum<["mpesa", "bank", "card", "cash", "cheque"]>;
528
+ reference: z.ZodOptional<z.ZodString>;
529
+ mpesaReceipt: z.ZodOptional<z.ZodString>;
530
+ paymentDate: z.ZodString;
531
+ }, "strip", z.ZodTypeAny, {
532
+ studentId: string;
533
+ invoiceId: string;
534
+ amount: number;
535
+ method: "mpesa" | "bank" | "card" | "cash" | "cheque";
536
+ paymentDate: string;
537
+ reference?: string | undefined;
538
+ mpesaReceipt?: string | undefined;
539
+ }, {
540
+ studentId: string;
541
+ invoiceId: string;
542
+ amount: number;
543
+ method: "mpesa" | "bank" | "card" | "cash" | "cheque";
544
+ paymentDate: string;
545
+ reference?: string | undefined;
546
+ mpesaReceipt?: string | undefined;
547
+ }>;
548
+ declare const employmentTypeEnum: z.ZodEnum<["permanent", "contract", "temporary", "intern"]>;
549
+ declare const staffSchema: z.ZodObject<{
550
+ id: z.ZodString;
551
+ branchId: z.ZodString;
552
+ userId: z.ZodString;
553
+ firstName: z.ZodString;
554
+ middleName: z.ZodNullable<z.ZodString>;
555
+ lastName: z.ZodString;
556
+ tscNumber: z.ZodNullable<z.ZodString>;
557
+ nationalId: z.ZodString;
558
+ kraPin: z.ZodNullable<z.ZodString>;
559
+ nhifNo: z.ZodNullable<z.ZodString>;
560
+ nssfNo: z.ZodNullable<z.ZodString>;
561
+ phone: z.ZodString;
562
+ departmentId: z.ZodNullable<z.ZodString>;
563
+ designation: z.ZodString;
564
+ employmentType: z.ZodEnum<["permanent", "contract", "temporary", "intern"]>;
565
+ contractStart: z.ZodString;
566
+ contractEnd: z.ZodNullable<z.ZodString>;
567
+ basicSalary: z.ZodNumber;
568
+ houseAllowance: z.ZodDefault<z.ZodNumber>;
569
+ transportAllowance: z.ZodDefault<z.ZodNumber>;
570
+ bankName: z.ZodNullable<z.ZodString>;
571
+ bankAccount: z.ZodNullable<z.ZodString>;
572
+ status: z.ZodEnum<["active", "inactive", "suspended"]>;
573
+ }, "strip", z.ZodTypeAny, {
574
+ status: "active" | "inactive" | "suspended";
575
+ id: string;
576
+ firstName: string;
577
+ middleName: string | null;
578
+ lastName: string;
579
+ branchId: string;
580
+ phone: string;
581
+ userId: string;
582
+ nationalId: string;
583
+ departmentId: string | null;
584
+ tscNumber: string | null;
585
+ kraPin: string | null;
586
+ nhifNo: string | null;
587
+ nssfNo: string | null;
588
+ designation: string;
589
+ employmentType: "permanent" | "contract" | "temporary" | "intern";
590
+ contractStart: string;
591
+ contractEnd: string | null;
592
+ basicSalary: number;
593
+ houseAllowance: number;
594
+ transportAllowance: number;
595
+ bankName: string | null;
596
+ bankAccount: string | null;
597
+ }, {
598
+ status: "active" | "inactive" | "suspended";
599
+ id: string;
600
+ firstName: string;
601
+ middleName: string | null;
602
+ lastName: string;
603
+ branchId: string;
604
+ phone: string;
605
+ userId: string;
606
+ nationalId: string;
607
+ departmentId: string | null;
608
+ tscNumber: string | null;
609
+ kraPin: string | null;
610
+ nhifNo: string | null;
611
+ nssfNo: string | null;
612
+ designation: string;
613
+ employmentType: "permanent" | "contract" | "temporary" | "intern";
614
+ contractStart: string;
615
+ contractEnd: string | null;
616
+ basicSalary: number;
617
+ bankName: string | null;
618
+ bankAccount: string | null;
619
+ houseAllowance?: number | undefined;
620
+ transportAllowance?: number | undefined;
621
+ }>;
622
+ declare const leaveStatusEnum: z.ZodEnum<["pending", "approved", "rejected", "cancelled"]>;
623
+ declare const leaveRequestInputSchema: z.ZodObject<{
624
+ leaveTypeId: z.ZodString;
625
+ startDate: z.ZodString;
626
+ endDate: z.ZodString;
627
+ reason: z.ZodString;
628
+ }, "strip", z.ZodTypeAny, {
629
+ leaveTypeId: string;
630
+ startDate: string;
631
+ endDate: string;
632
+ reason: string;
633
+ }, {
634
+ leaveTypeId: string;
635
+ startDate: string;
636
+ endDate: string;
637
+ reason: string;
638
+ }>;
639
+ declare const vehicleOwnershipEnum: z.ZodEnum<["owned", "contracted"]>;
640
+ declare const vehicleTypeEnum: z.ZodEnum<["bus", "van", "pickup", "other"]>;
641
+ declare const busRegisterStatusEnum: z.ZodEnum<["boarded", "alighted", "absent"]>;
642
+ declare const tripLogInputSchema: z.ZodObject<{
643
+ vehicleId: z.ZodString;
644
+ routeId: z.ZodString;
645
+ departureTime: z.ZodString;
646
+ tripType: z.ZodEnum<["morning", "evening", "errand"]>;
647
+ }, "strip", z.ZodTypeAny, {
648
+ vehicleId: string;
649
+ routeId: string;
650
+ departureTime: string;
651
+ tripType: "morning" | "evening" | "errand";
652
+ }, {
653
+ vehicleId: string;
654
+ routeId: string;
655
+ departureTime: string;
656
+ tripType: "morning" | "evening" | "errand";
657
+ }>;
658
+ declare const busRegisterEntrySchema: z.ZodObject<{
659
+ studentId: z.ZodString;
660
+ status: z.ZodEnum<["boarded", "alighted", "absent"]>;
661
+ }, "strip", z.ZodTypeAny, {
662
+ status: "boarded" | "alighted" | "absent";
663
+ studentId: string;
664
+ }, {
665
+ status: "boarded" | "alighted" | "absent";
666
+ studentId: string;
667
+ }>;
668
+ declare const assetCategoryEnum: z.ZodEnum<["furniture", "lab_equipment", "ict_device", "vehicle", "sports_equipment", "kitchen_equipment", "musical_instrument", "classroom_supply", "library_book", "other"]>;
669
+ declare const assetConditionEnum: z.ZodEnum<["excellent", "good", "fair", "poor", "condemned"]>;
670
+ declare const maintenanceTicketStatusEnum: z.ZodEnum<["open", "in_progress", "resolved", "closed"]>;
671
+ declare const borrowingStatusEnum: z.ZodEnum<["active", "returned", "overdue", "lost"]>;
672
+ declare const incidentSeverityEnum: z.ZodEnum<["minor", "moderate", "serious", "critical"]>;
673
+ declare const incidentStatusEnum: z.ZodEnum<["open", "counsellor_review", "hod_review", "principal_ruling", "resolved"]>;
674
+ declare const disciplineRulingEnum: z.ZodEnum<["verbal_warning", "written_warning", "suspension", "expulsion", "dismissed"]>;
675
+ declare const payrollRunStatusEnum: z.ZodEnum<["draft", "approved", "paid"]>;
676
+ declare const notificationTypeEnum: z.ZodEnum<["report_card", "fee_invoice", "fee_reminder", "fee_block", "attendance_absent", "bus_departed", "bus_arrived", "discipline_incident", "assignment", "notice", "leave", "payslip"]>;
677
+ declare const sendBulkSmsInputSchema: z.ZodObject<{
678
+ branchId: z.ZodString;
679
+ message: z.ZodString;
680
+ recipientType: z.ZodEnum<["class", "grade", "whole_school", "custom"]>;
681
+ recipientIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
682
+ scheduleAt: z.ZodOptional<z.ZodString>;
683
+ }, "strip", z.ZodTypeAny, {
684
+ message: string;
685
+ branchId: string;
686
+ recipientType: "custom" | "class" | "grade" | "whole_school";
687
+ recipientIds?: string[] | undefined;
688
+ scheduleAt?: string | undefined;
689
+ }, {
690
+ message: string;
691
+ branchId: string;
692
+ recipientType: "custom" | "class" | "grade" | "whole_school";
693
+ recipientIds?: string[] | undefined;
694
+ scheduleAt?: string | undefined;
695
+ }>;
696
+
697
+ export { type SystemRole, assessmentScoreInputSchema, assessmentTypeEnum, assetCategoryEnum, assetConditionEnum, borrowingStatusEnum, branchSchema, busRegisterEntrySchema, busRegisterStatusEnum, changePasswordInputSchema, createBranchInputSchema, createStudentInputSchema, dateRangeSchema, disciplineRulingEnum, employmentTypeEnum, feeItemCategoryEnum, feeItemSchema, genderEnum, gradeLevelEnum, guardianSchema, incidentSeverityEnum, incidentStatusEnum, invoiceStatusEnum, leaveRequestInputSchema, leaveStatusEnum, listStudentsInputSchema, loginInputSchema, loginOutputSchema, maintenanceTicketStatusEnum, mfaVerifyInputSchema, notificationTypeEnum, paginationSchema, paymentMethodEnum, payrollRunStatusEnum, recordPaymentInputSchema, refreshInputSchema, refreshTokenOutputSchema, reportCardStatusEnum, rubricBandEnum, sendBulkSmsInputSchema, sponsorSchema, sponsorTypeEnum, staffSchema, studentSchema, studentStatusEnum, subjectSchema, systemRoleEnum, tripLogInputSchema, userSchema, userStatusEnum, uuidSchema, vehicleOwnershipEnum, vehicleTypeEnum };