@careflair/common 1.0.4 → 1.0.6

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 (47) hide show
  1. package/dist/constants/index.d.ts +78 -0
  2. package/dist/constants/index.js +102 -13
  3. package/dist/index.d.ts +8 -7
  4. package/dist/index.js +23 -19
  5. package/dist/interfaces/common-fields.input.d.ts +15 -15
  6. package/dist/interfaces/common-fields.input.js +2 -2
  7. package/dist/interfaces/common-fields.output.d.ts +26 -26
  8. package/dist/interfaces/common-fields.output.js +2 -2
  9. package/dist/interfaces/index.d.ts +0 -0
  10. package/dist/interfaces/index.js +1 -0
  11. package/dist/schemas/availabilitySchemaValidation.d.ts +56 -56
  12. package/dist/schemas/availabilitySchemaValidation.js +79 -79
  13. package/dist/schemas/businessServicesValidation.d.ts +6 -6
  14. package/dist/schemas/businessServicesValidation.js +23 -23
  15. package/dist/schemas/educationSchemas.d.ts +38 -38
  16. package/dist/schemas/educationSchemas.js +29 -29
  17. package/dist/schemas/forms.d.ts +210 -0
  18. package/dist/schemas/forms.js +192 -0
  19. package/dist/schemas/hourlyRateSchemaValidation.d.ts +36 -36
  20. package/dist/schemas/hourlyRateSchemaValidation.js +25 -25
  21. package/dist/schemas/index.d.ts +2 -6
  22. package/dist/schemas/index.js +18 -16
  23. package/dist/schemas/userValiationSchema.d.ts +30 -30
  24. package/dist/schemas/userValiationSchema.js +38 -38
  25. package/dist/schemas/validation.d.ts +33 -0
  26. package/dist/schemas/validation.js +38 -0
  27. package/dist/schemas/workHistorySchema.d.ts +33 -33
  28. package/dist/schemas/workHistorySchema.js +28 -28
  29. package/dist/utils/date.d.ts +35 -0
  30. package/dist/utils/date.js +166 -0
  31. package/dist/utils/debounce.d.ts +8 -0
  32. package/dist/utils/debounce.js +22 -0
  33. package/dist/utils/enum.d.ts +6 -0
  34. package/dist/utils/enum.js +9 -0
  35. package/dist/utils/index.d.ts +6 -0
  36. package/dist/utils/index.js +28 -0
  37. package/dist/utils/phone.d.ts +9 -0
  38. package/dist/utils/phone.js +52 -0
  39. package/dist/utils/time.d.ts +63 -0
  40. package/dist/utils/time.js +134 -0
  41. package/dist/utils/utils.d.ts +6 -6
  42. package/dist/utils/utils.js +9 -9
  43. package/dist/utils/video.d.ts +25 -0
  44. package/dist/utils/video.js +80 -0
  45. package/dist/utils/videoValidation.d.ts +31 -31
  46. package/dist/utils/videoValidation.js +119 -119
  47. package/package.json +81 -46
@@ -1,79 +1,79 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AvailabilitiesSchemaZod = void 0;
4
- const zod_1 = require("zod");
5
- // Regular expression for both 12-hour (with AM/PM) and 24-hour format
6
- const timeRegex = /^(0?[1-9]|1[0-2]):([0-5][0-9]) (AM|PM)$/i; // 12-hour format with AM/PM
7
- const timeRegex24Hour = /^(2[0-3]|[01]?[0-9]):([0-5][0-9])$/; // 24-hour format (00:00 to 23:59)
8
- // Function to convert time string to minutes
9
- const convertToMinutes = (time) => {
10
- let hours, minutes;
11
- // Check if it's a 12-hour format with AM/PM
12
- if (timeRegex.test(time)) {
13
- const [timeString, period] = time.split(' ');
14
- const [hour, minute] = timeString.split(':').map(Number);
15
- hours = hour;
16
- minutes = minute;
17
- if (period.toLowerCase() === 'pm' && hours !== 12) {
18
- hours += 12; // Convert PM to 24-hour format
19
- }
20
- else if (period.toLowerCase() === 'am' && hours === 12) {
21
- hours = 0; // Handle 12 AM as 0 hours
22
- }
23
- }
24
- else if (timeRegex24Hour.test(time)) {
25
- // Handle 24-hour format (e.g., "14:00")
26
- const [hour, minute] = time.split(':').map(Number);
27
- hours = hour;
28
- minutes = minute;
29
- }
30
- else {
31
- throw new Error('Invalid time format');
32
- }
33
- return hours * 60 + minutes; // Convert to total minutes since midnight
34
- };
35
- // Shift schema with time validation
36
- const ShiftSchema = zod_1.z.object({
37
- startTime: zod_1.z.string().refine(time => timeRegex.test(time) || timeRegex24Hour.test(time), 'Invalid start time format'),
38
- endTime: zod_1.z.string().refine(time => timeRegex.test(time) || timeRegex24Hour.test(time), 'Invalid end time format'),
39
- }).refine((data) => {
40
- // Convert times to minutes for comparison
41
- const startInMinutes = convertToMinutes(data.startTime);
42
- const endInMinutes = convertToMinutes(data.endTime);
43
- return startInMinutes < endInMinutes; // Ensure start time is before end time
44
- }, {
45
- message: 'Start time must be before end time',
46
- path: ['startTime', 'endTime'],
47
- });
48
- // Availability schema with shift overlap validation
49
- const AvailabilitySchemaZod = zod_1.z.object({
50
- day: zod_1.z.string(),
51
- isEnabled: zod_1.z.boolean().default(true),
52
- shifts: zod_1.z.array(ShiftSchema).refine(shifts => {
53
- // Sort shifts by start time (in minutes)
54
- const sortedShifts = shifts.sort((a, b) => {
55
- const startA = convertToMinutes(a.startTime);
56
- const startB = convertToMinutes(b.startTime);
57
- return startA - startB;
58
- });
59
- // Ensure no overlapping shifts
60
- for (let i = 0; i < sortedShifts.length - 1; i++) {
61
- const endCurrent = convertToMinutes(sortedShifts[i].endTime);
62
- const startNext = convertToMinutes(sortedShifts[i + 1].startTime);
63
- if (endCurrent > startNext) {
64
- return false;
65
- }
66
- }
67
- return true;
68
- }, {
69
- message: 'Shifts cannot overlap',
70
- }),
71
- });
72
- // Schema for the entire availability array (the list of availabilities)
73
- exports.AvailabilitiesSchemaZod = zod_1.z.array(AvailabilitySchemaZod).refine(availabilities => {
74
- const days = availabilities.map(a => a.day);
75
- const uniqueDays = new Set(days);
76
- return days.length === uniqueDays.size; // Ensure no duplicate days
77
- }, {
78
- message: 'There should be no duplicate days',
79
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvailabilitiesSchemaZod = void 0;
4
+ const zod_1 = require("zod");
5
+ // Regular expression for both 12-hour (with AM/PM) and 24-hour format
6
+ const timeRegex = /^(0?[1-9]|1[0-2]):([0-5][0-9]) (AM|PM)$/i; // 12-hour format with AM/PM
7
+ const timeRegex24Hour = /^(2[0-3]|[01]?[0-9]):([0-5][0-9])$/; // 24-hour format (00:00 to 23:59)
8
+ // Function to convert time string to minutes
9
+ const convertToMinutes = (time) => {
10
+ let hours, minutes;
11
+ // Check if it's a 12-hour format with AM/PM
12
+ if (timeRegex.test(time)) {
13
+ const [timeString, period] = time.split(' ');
14
+ const [hour, minute] = timeString.split(':').map(Number);
15
+ hours = hour;
16
+ minutes = minute;
17
+ if (period.toLowerCase() === 'pm' && hours !== 12) {
18
+ hours += 12; // Convert PM to 24-hour format
19
+ }
20
+ else if (period.toLowerCase() === 'am' && hours === 12) {
21
+ hours = 0; // Handle 12 AM as 0 hours
22
+ }
23
+ }
24
+ else if (timeRegex24Hour.test(time)) {
25
+ // Handle 24-hour format (e.g., "14:00")
26
+ const [hour, minute] = time.split(':').map(Number);
27
+ hours = hour;
28
+ minutes = minute;
29
+ }
30
+ else {
31
+ throw new Error('Invalid time format');
32
+ }
33
+ return hours * 60 + minutes; // Convert to total minutes since midnight
34
+ };
35
+ // Shift schema with time validation
36
+ const ShiftSchema = zod_1.z.object({
37
+ startTime: zod_1.z.string().refine(time => timeRegex.test(time) || timeRegex24Hour.test(time), 'Invalid start time format'),
38
+ endTime: zod_1.z.string().refine(time => timeRegex.test(time) || timeRegex24Hour.test(time), 'Invalid end time format'),
39
+ }).refine((data) => {
40
+ // Convert times to minutes for comparison
41
+ const startInMinutes = convertToMinutes(data.startTime);
42
+ const endInMinutes = convertToMinutes(data.endTime);
43
+ return startInMinutes < endInMinutes; // Ensure start time is before end time
44
+ }, {
45
+ message: 'Start time must be before end time',
46
+ path: ['startTime', 'endTime'],
47
+ });
48
+ // Availability schema with shift overlap validation
49
+ const AvailabilitySchemaZod = zod_1.z.object({
50
+ day: zod_1.z.string(),
51
+ isEnabled: zod_1.z.boolean().default(true),
52
+ shifts: zod_1.z.array(ShiftSchema).refine(shifts => {
53
+ // Sort shifts by start time (in minutes)
54
+ const sortedShifts = shifts.sort((a, b) => {
55
+ const startA = convertToMinutes(a.startTime);
56
+ const startB = convertToMinutes(b.startTime);
57
+ return startA - startB;
58
+ });
59
+ // Ensure no overlapping shifts
60
+ for (let i = 0; i < sortedShifts.length - 1; i++) {
61
+ const endCurrent = convertToMinutes(sortedShifts[i].endTime);
62
+ const startNext = convertToMinutes(sortedShifts[i + 1].startTime);
63
+ if (endCurrent > startNext) {
64
+ return false;
65
+ }
66
+ }
67
+ return true;
68
+ }, {
69
+ message: 'Shifts cannot overlap',
70
+ }),
71
+ });
72
+ // Schema for the entire availability array (the list of availabilities)
73
+ exports.AvailabilitiesSchemaZod = zod_1.z.array(AvailabilitySchemaZod).refine(availabilities => {
74
+ const days = availabilities.map(a => a.day);
75
+ const uniqueDays = new Set(days);
76
+ return days.length === uniqueDays.size; // Ensure no duplicate days
77
+ }, {
78
+ message: 'There should be no duplicate days',
79
+ });
@@ -1,6 +1,6 @@
1
- import { z } from 'zod';
2
- import { CategoryEnum, SupportWorkerService } from '../enums';
3
- export declare const ServicesSchema: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CategoryEnum>, "many">>, CategoryEnum[] | undefined, CategoryEnum[] | undefined>;
4
- export declare const validateServices: (services?: string[]) => boolean;
5
- export declare const SupportWorkerServicesSchema: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof SupportWorkerService>, "many">>, SupportWorkerService[] | undefined, SupportWorkerService[] | undefined>;
6
- export declare const validateSupportWorkerServices: (services?: string[]) => boolean;
1
+ import { z } from 'zod';
2
+ import { CategoryEnum, SupportWorkerService } from '../enums';
3
+ export declare const ServicesSchema: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CategoryEnum>, "many">>, CategoryEnum[] | undefined, CategoryEnum[] | undefined>;
4
+ export declare const validateServices: (services?: string[]) => boolean;
5
+ export declare const SupportWorkerServicesSchema: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof SupportWorkerService>, "many">>, SupportWorkerService[] | undefined, SupportWorkerService[] | undefined>;
6
+ export declare const validateSupportWorkerServices: (services?: string[]) => boolean;
@@ -1,23 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateSupportWorkerServices = exports.SupportWorkerServicesSchema = exports.validateServices = exports.ServicesSchema = void 0;
4
- const zod_1 = require("zod");
5
- const enums_1 = require("../enums");
6
- exports.ServicesSchema = zod_1.z
7
- .array(zod_1.z.nativeEnum(enums_1.CategoryEnum))
8
- .optional()
9
- .refine((services) => !services || services.every((service) => Object.values(enums_1.CategoryEnum).includes(service)), { message: 'Invalid services provided.' });
10
- const validateServices = (services) => {
11
- const result = exports.ServicesSchema.safeParse(services);
12
- return result.success;
13
- };
14
- exports.validateServices = validateServices;
15
- exports.SupportWorkerServicesSchema = zod_1.z
16
- .array(zod_1.z.nativeEnum(enums_1.SupportWorkerService))
17
- .optional()
18
- .refine((services) => !services || services.every((service) => Object.values(enums_1.SupportWorkerService).includes(service)), { message: 'Invalid services provided.' });
19
- const validateSupportWorkerServices = (services) => {
20
- const result = exports.SupportWorkerServicesSchema.safeParse(services);
21
- return result.success;
22
- };
23
- exports.validateSupportWorkerServices = validateSupportWorkerServices;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSupportWorkerServices = exports.SupportWorkerServicesSchema = exports.validateServices = exports.ServicesSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const enums_1 = require("../enums");
6
+ exports.ServicesSchema = zod_1.z
7
+ .array(zod_1.z.nativeEnum(enums_1.CategoryEnum))
8
+ .optional()
9
+ .refine((services) => !services || services.every((service) => Object.values(enums_1.CategoryEnum).includes(service)), { message: 'Invalid services provided.' });
10
+ const validateServices = (services) => {
11
+ const result = exports.ServicesSchema.safeParse(services);
12
+ return result.success;
13
+ };
14
+ exports.validateServices = validateServices;
15
+ exports.SupportWorkerServicesSchema = zod_1.z
16
+ .array(zod_1.z.nativeEnum(enums_1.SupportWorkerService))
17
+ .optional()
18
+ .refine((services) => !services || services.every((service) => Object.values(enums_1.SupportWorkerService).includes(service)), { message: 'Invalid services provided.' });
19
+ const validateSupportWorkerServices = (services) => {
20
+ const result = exports.SupportWorkerServicesSchema.safeParse(services);
21
+ return result.success;
22
+ };
23
+ exports.validateSupportWorkerServices = validateSupportWorkerServices;
@@ -1,38 +1,38 @@
1
- import { z } from "zod";
2
- export declare const EducationAndTrainingSchema: z.ZodEffects<z.ZodObject<{
3
- school: z.ZodString;
4
- type: z.ZodString;
5
- degree: z.ZodString;
6
- startDate: z.ZodDate;
7
- endDate: z.ZodOptional<z.ZodDate>;
8
- isCurrentlyStudying: z.ZodDefault<z.ZodBoolean>;
9
- }, "strip", z.ZodTypeAny, {
10
- type: string;
11
- school: string;
12
- degree: string;
13
- startDate: Date;
14
- isCurrentlyStudying: boolean;
15
- endDate?: Date | undefined;
16
- }, {
17
- type: string;
18
- school: string;
19
- degree: string;
20
- startDate: Date;
21
- endDate?: Date | undefined;
22
- isCurrentlyStudying?: boolean | undefined;
23
- }>, {
24
- type: string;
25
- school: string;
26
- degree: string;
27
- startDate: Date;
28
- isCurrentlyStudying: boolean;
29
- endDate?: Date | undefined;
30
- }, {
31
- type: string;
32
- school: string;
33
- degree: string;
34
- startDate: Date;
35
- endDate?: Date | undefined;
36
- isCurrentlyStudying?: boolean | undefined;
37
- }>;
38
- export type EducationAndTrainingInputValidation = z.infer<typeof EducationAndTrainingSchema>;
1
+ import { z } from "zod";
2
+ export declare const EducationAndTrainingSchema: z.ZodEffects<z.ZodObject<{
3
+ school: z.ZodString;
4
+ type: z.ZodString;
5
+ degree: z.ZodString;
6
+ startDate: z.ZodDate;
7
+ endDate: z.ZodOptional<z.ZodDate>;
8
+ isCurrentlyStudying: z.ZodDefault<z.ZodBoolean>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ type: string;
11
+ school: string;
12
+ degree: string;
13
+ startDate: Date;
14
+ isCurrentlyStudying: boolean;
15
+ endDate?: Date | undefined;
16
+ }, {
17
+ type: string;
18
+ school: string;
19
+ degree: string;
20
+ startDate: Date;
21
+ endDate?: Date | undefined;
22
+ isCurrentlyStudying?: boolean | undefined;
23
+ }>, {
24
+ type: string;
25
+ school: string;
26
+ degree: string;
27
+ startDate: Date;
28
+ isCurrentlyStudying: boolean;
29
+ endDate?: Date | undefined;
30
+ }, {
31
+ type: string;
32
+ school: string;
33
+ degree: string;
34
+ startDate: Date;
35
+ endDate?: Date | undefined;
36
+ isCurrentlyStudying?: boolean | undefined;
37
+ }>;
38
+ export type EducationAndTrainingInputValidation = z.infer<typeof EducationAndTrainingSchema>;
@@ -1,29 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EducationAndTrainingSchema = void 0;
4
- const zod_1 = require("zod");
5
- const limits_1 = require("../constants/limits");
6
- exports.EducationAndTrainingSchema = zod_1.z
7
- .object({
8
- school: zod_1.z
9
- .string()
10
- .min(1, "School is required")
11
- .max(limits_1.EDUTRAINING_INSTITUTION_MAX_LENGTH, `School name must be at most ${limits_1.EDUTRAINING_INSTITUTION_MAX_LENGTH} characters long`),
12
- type: zod_1.z.string().min(1, "Type of education is required"),
13
- degree: zod_1.z
14
- .string()
15
- .min(1, "Degree is required")
16
- .max(limits_1.EDUTRAINING_DEGREE_MAX_LENGTH, `Degree must be at most ${limits_1.EDUTRAINING_DEGREE_MAX_LENGTH} characters long`),
17
- startDate: zod_1.z.date(),
18
- endDate: zod_1.z.date().optional(),
19
- isCurrentlyStudying: zod_1.z.boolean().default(false),
20
- })
21
- .refine((data) => {
22
- if (data.endDate) {
23
- return !data.isCurrentlyStudying;
24
- }
25
- return data.isCurrentlyStudying || data.endDate !== undefined;
26
- }, {
27
- message: "If there is an endDate, is Currently Studying must be false. If is Currently Studying is false, endDate must be provided.",
28
- path: ["endDate", "isCurrentlyStudying"],
29
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EducationAndTrainingSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const limits_1 = require("../constants/limits");
6
+ exports.EducationAndTrainingSchema = zod_1.z
7
+ .object({
8
+ school: zod_1.z
9
+ .string()
10
+ .min(1, "School is required")
11
+ .max(limits_1.EDUTRAINING_INSTITUTION_MAX_LENGTH, `School name must be at most ${limits_1.EDUTRAINING_INSTITUTION_MAX_LENGTH} characters long`),
12
+ type: zod_1.z.string().min(1, "Type of education is required"),
13
+ degree: zod_1.z
14
+ .string()
15
+ .min(1, "Degree is required")
16
+ .max(limits_1.EDUTRAINING_DEGREE_MAX_LENGTH, `Degree must be at most ${limits_1.EDUTRAINING_DEGREE_MAX_LENGTH} characters long`),
17
+ startDate: zod_1.z.date(),
18
+ endDate: zod_1.z.date().optional(),
19
+ isCurrentlyStudying: zod_1.z.boolean().default(false),
20
+ })
21
+ .refine((data) => {
22
+ if (data.endDate) {
23
+ return !data.isCurrentlyStudying;
24
+ }
25
+ return data.isCurrentlyStudying || data.endDate !== undefined;
26
+ }, {
27
+ message: "If there is an endDate, is Currently Studying must be false. If is Currently Studying is false, endDate must be provided.",
28
+ path: ["endDate", "isCurrentlyStudying"],
29
+ });
@@ -0,0 +1,210 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Registration form schema
4
+ */
5
+ export declare const registrationFormSchema: z.ZodEffects<z.ZodObject<{
6
+ firstName: z.ZodString;
7
+ lastName: z.ZodString;
8
+ email: z.ZodString;
9
+ username: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
10
+ role: z.ZodEffects<z.ZodString, string, string>;
11
+ password: z.ZodString;
12
+ confirmPassword: z.ZodString;
13
+ fingerPrint: z.ZodOptional<z.ZodString>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ role: string;
16
+ username: string;
17
+ email: string;
18
+ confirmPassword: string;
19
+ firstName: string;
20
+ lastName: string;
21
+ password: string;
22
+ fingerPrint?: string | undefined;
23
+ }, {
24
+ role: string;
25
+ username: string;
26
+ email: string;
27
+ confirmPassword: string;
28
+ firstName: string;
29
+ lastName: string;
30
+ password: string;
31
+ fingerPrint?: string | undefined;
32
+ }>, {
33
+ role: string;
34
+ username: string;
35
+ email: string;
36
+ confirmPassword: string;
37
+ firstName: string;
38
+ lastName: string;
39
+ password: string;
40
+ fingerPrint?: string | undefined;
41
+ }, {
42
+ role: string;
43
+ username: string;
44
+ email: string;
45
+ confirmPassword: string;
46
+ firstName: string;
47
+ lastName: string;
48
+ password: string;
49
+ fingerPrint?: string | undefined;
50
+ }>;
51
+ /**
52
+ * Participant location form schema
53
+ */
54
+ export declare const participantLocationFormSchema: z.ZodObject<{
55
+ address: z.ZodEffects<z.ZodObject<{
56
+ value: z.ZodString;
57
+ label: z.ZodString;
58
+ }, "strip", z.ZodTypeAny, {
59
+ value: string;
60
+ label: string;
61
+ }, {
62
+ value: string;
63
+ label: string;
64
+ }>, {
65
+ value: string;
66
+ label: string;
67
+ }, {
68
+ value: string;
69
+ label: string;
70
+ }>;
71
+ state: z.ZodEffects<z.ZodObject<{
72
+ value: z.ZodString;
73
+ label: z.ZodString;
74
+ }, "strip", z.ZodTypeAny, {
75
+ value: string;
76
+ label: string;
77
+ }, {
78
+ value: string;
79
+ label: string;
80
+ }>, {
81
+ value: string;
82
+ label: string;
83
+ }, {
84
+ value: string;
85
+ label: string;
86
+ }>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ state: {
89
+ value: string;
90
+ label: string;
91
+ };
92
+ address: {
93
+ value: string;
94
+ label: string;
95
+ };
96
+ }, {
97
+ state: {
98
+ value: string;
99
+ label: string;
100
+ };
101
+ address: {
102
+ value: string;
103
+ label: string;
104
+ };
105
+ }>;
106
+ /**
107
+ * Contact details form schema
108
+ */
109
+ export declare const ContactDetailsFormSchema: z.ZodObject<{
110
+ phone: z.ZodUnion<[z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>, z.ZodLiteral<"">]>;
111
+ email: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
112
+ website: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
113
+ enableSmsNotifications: z.ZodOptional<z.ZodBoolean>;
114
+ }, "strip", z.ZodTypeAny, {
115
+ email?: string | undefined;
116
+ phone?: string | undefined;
117
+ website?: string | undefined;
118
+ enableSmsNotifications?: boolean | undefined;
119
+ }, {
120
+ email?: string | undefined;
121
+ phone?: string | undefined;
122
+ website?: string | undefined;
123
+ enableSmsNotifications?: boolean | undefined;
124
+ }>;
125
+ /**
126
+ * Education and training form schema
127
+ */
128
+ export declare const EducationAndTrainingFormSchema: z.ZodObject<{
129
+ type: z.ZodObject<{
130
+ label: z.ZodString;
131
+ value: z.ZodString;
132
+ }, "strip", z.ZodTypeAny, {
133
+ value: string;
134
+ label: string;
135
+ }, {
136
+ value: string;
137
+ label: string;
138
+ }>;
139
+ school: z.ZodString;
140
+ degree: z.ZodString;
141
+ startDate: z.ZodDate;
142
+ endDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
143
+ isCurrentlyStudying: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<false>]>>;
144
+ }, "strip", z.ZodTypeAny, {
145
+ type: {
146
+ value: string;
147
+ label: string;
148
+ };
149
+ school: string;
150
+ degree: string;
151
+ startDate: Date;
152
+ endDate?: Date | null | undefined;
153
+ isCurrentlyStudying?: boolean | undefined;
154
+ }, {
155
+ type: {
156
+ value: string;
157
+ label: string;
158
+ };
159
+ school: string;
160
+ degree: string;
161
+ startDate: Date;
162
+ endDate?: Date | null | undefined;
163
+ isCurrentlyStudying?: boolean | undefined;
164
+ }>;
165
+ /**
166
+ * Work history form schema
167
+ */
168
+ export declare const WorkHistoryFormSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
169
+ jobTitle: z.ZodString;
170
+ organisation: z.ZodString;
171
+ startDate: z.ZodEffects<z.ZodString, string, string>;
172
+ endDate: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
173
+ isCurrentlyWorking: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
174
+ }, "strip", z.ZodTypeAny, {
175
+ startDate: string;
176
+ jobTitle: string;
177
+ organisation: string;
178
+ endDate?: string | undefined;
179
+ isCurrentlyWorking?: boolean | undefined;
180
+ }, {
181
+ startDate: string;
182
+ jobTitle: string;
183
+ organisation: string;
184
+ endDate?: string | undefined;
185
+ isCurrentlyWorking?: boolean | undefined;
186
+ }>, {
187
+ startDate: string;
188
+ jobTitle: string;
189
+ organisation: string;
190
+ endDate?: string | undefined;
191
+ isCurrentlyWorking?: boolean | undefined;
192
+ }, {
193
+ startDate: string;
194
+ jobTitle: string;
195
+ organisation: string;
196
+ endDate?: string | undefined;
197
+ isCurrentlyWorking?: boolean | undefined;
198
+ }>, {
199
+ startDate: string;
200
+ jobTitle: string;
201
+ organisation: string;
202
+ endDate?: string | undefined;
203
+ isCurrentlyWorking?: boolean | undefined;
204
+ }, {
205
+ startDate: string;
206
+ jobTitle: string;
207
+ organisation: string;
208
+ endDate?: string | undefined;
209
+ isCurrentlyWorking?: boolean | undefined;
210
+ }>;