@updraft-solutions/mcrit-sdk 0.4.0 → 0.5.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 (42) hide show
  1. package/dist/chunk-AKLFMP7G.cjs +2525 -0
  2. package/dist/chunk-YCIXOVEC.js +2525 -0
  3. package/dist/index.cjs +193 -3
  4. package/dist/index.d.cts +3 -3
  5. package/dist/index.d.ts +3 -3
  6. package/dist/index.js +196 -6
  7. package/dist/schemas/index.cjs +192 -2
  8. package/dist/schemas/index.d.cts +3123 -94
  9. package/dist/schemas/index.d.ts +3123 -94
  10. package/dist/schemas/index.js +195 -5
  11. package/dist/{models-Bc5BKYuI.d.cts → training-Der1DPU-.d.cts} +17563 -1056
  12. package/dist/{models-Bc5BKYuI.d.ts → training-Der1DPU-.d.ts} +17563 -1056
  13. package/dist/types/index.cjs +1 -1
  14. package/dist/types/index.d.cts +275 -6
  15. package/dist/types/index.d.ts +275 -6
  16. package/dist/types/index.js +1 -1
  17. package/package.json +1 -1
  18. package/src/index.ts +39 -0
  19. package/src/schemas/common.ts +33 -0
  20. package/src/schemas/course-milestone.ts +78 -0
  21. package/src/schemas/equipment.ts +27 -0
  22. package/src/schemas/form-template.ts +413 -0
  23. package/src/schemas/index.ts +7 -1
  24. package/src/schemas/location-map.ts +175 -0
  25. package/src/schemas/models.ts +38 -20
  26. package/src/schemas/newsletter.ts +362 -0
  27. package/src/schemas/todo.ts +46 -0
  28. package/src/schemas/training.ts +500 -0
  29. package/src/types/ai.ts +85 -0
  30. package/src/types/aircraft-block.ts +23 -0
  31. package/src/types/api.ts +3 -1
  32. package/src/types/background-task.ts +28 -0
  33. package/src/types/compliance.ts +27 -3
  34. package/src/types/index.ts +5 -0
  35. package/src/types/landing-fee.ts +92 -0
  36. package/src/types/models.ts +43 -3
  37. package/src/types/roles.ts +26 -0
  38. package/dist/chunk-RC2BBT6H.cjs +0 -1384
  39. package/dist/chunk-WQLDSZNN.js +0 -1384
  40. package/src/schemas/fee.ts +0 -37
  41. /package/dist/{chunk-LXNCAKJZ.js → chunk-2WJHTRIE.js} +0 -0
  42. /package/dist/{chunk-MOOGM3DW.cjs → chunk-DCEOET63.cjs} +0 -0
@@ -1,4 +1,4 @@
1
- export { B as BaseModel, a as addressSchema, b as aircraftRatingSchema, c as airplaneIssueSchema, d as airplaneIssueSeverityEnum, e as airplaneIssueStatusEnum, f as airplanePermissionSchema, g as airplaneSchema, h as airplaneShareInviteSchema, i as airportSchema, j as alertSchema, k as allowedDocumentTypeSchema, l as approachTypeSchema, m as availSchema, n as baseMembershipSchema, o as bookingSchema, p as bookingWaypointSchema, q as commentSchema, r as companySchema, s as contactAttributeSchema, t as courseCheckSyllabusSchema, u as courseEnrollmentMetricsSchema, v as courseEnrollmentSchema, w as courseFeeSchema, x as courseSchema, y as documentComplianceStatus, z as documentRequirement, A as documentRequirementGroup, C as documentRequirementGroupAssignment, D as documentSchema, E as documentShareSchema, F as documentType, G as eventSchema, H as expenseItemSchema, I as expenseSchema, J as extendedAirplaneSchema, K as feeSchema, L as flightLogSchema, M as invoiceSchema, N as landingFeeSchema, O as landingSchema, P as maintenanceEventEstimationSchema, Q as maintenanceEventSchema, R as maintenanceStatusSchema, S as mediaCollection, T as mediaSchema, U as membershipSchema, V as postSchema, W as prePaidPackageSchema, X as priceSchema, Y as qualificationSchema, Z as recurringFlightSchema, _ as roleSchema, $ as runwaySchema, a0 as scheduledFlightSchema, a1 as settingSchema, a2 as specialFlightSchema, a3 as tagSchema, a4 as ticketSchema, a5 as userAircraftRatingSchema, a6 as userQualificationSchema, a7 as userSchema, a8 as waypointSchema, a9 as zContactDTO, aa as zNetGross, ab as zNullableBool, ac as zPhpMoneyObject } from '../models-Bc5BKYuI.js';
1
+ export { A as AttachSyllabusElementForm, a as AttachSyllabusElementFormSchema, B as BaseModel, C as CourseCheckSyllabus, b as CreateFormSubmissionInput, c as CreateFormTemplateAssignmentInput, d as CreateFormTemplateInput, e as CreateSyllabusFromTemplateForm, f as CreateSyllabusFromTemplateFormSchema, g as CreateSyllabusFromTemplateResult, E as EnrollmentTrainingElement, h as EnrollmentTrainingStatus, i as EnrollmentTrainingStatusEnum, F as FieldLabel, j as FieldLabelSchema, k as FormFieldType, l as FormSubmission, m as FormSubmissionSchema, n as FormSubmissionShare, o as FormSubmissionShareBase, p as FormSubmissionShareBaseSchema, q as FormSubmissionShareSchema, r as FormSubmissionSource, s as FormSubmissionStatus, t as FormTemplate, u as FormTemplateAssignment, v as FormTemplateAssignmentSchema, w as FormTemplateSchema, G as GradeHistoryItem, x as GradingScale, y as GradingScaleForm, z as GradingScaleFormSchema, D as GradingScalePoint, I as ImpersonationParticipant, H as ImpersonationState, R as ReorderSyllabusElementItem, J as ReorderSyllabusElementItemSchema, K as RequiredForm, L as RequiredFormSchema, M as RequiredFormVia, N as RequiredFormViaCrew, O as RequiredFormViaCrewSchema, P as RequiredFormViaSchema, Q as ReviewFormSubmissionInput, S as SchemaField, T as SchemaFieldSchema, U as SchemaSection, V as SchemaSectionSchema, W as ShowWhen, X as ShowWhenSchema, Y as SignOffTrainingElementForm, Z as SignOffTrainingElementFormSchema, _ as Signature, $ as SignatureSchema, a0 as StoreSyllabusForm, a1 as StoreSyllabusFormSchema, a2 as SubmissionFile, a3 as SubmissionFileSchema, a4 as Syllabus, a5 as SyllabusElement, a6 as SyllabusElementMutationResult, a7 as SyllabusKind, a8 as SyllabusKindEnum, a9 as SyllabusRolloutResult, aa as SyllabusRolloutResultItem, ab as SyllabusRolloutSkippedItem, ac as TemplateSchema, ad as TemplateSchemaSchema, ae as TrainingElement, af as TrainingElementForm, ag as TrainingElementFormSchema, ah as TrainingElementKind, ai as TrainingElementKindEnum, aj as TrainingRecord, ak as TrainingRecordEntry, al as TrainingRecordEntryInput, am as TrainingRecordResult, an as TrainingRecordResultEnum, ao as TrainingRecordStatus, ap as TrainingRecordStatusEnum, aq as TrainingSignature, ar as TrainingTemplatePack, as as UpdateFormTemplateInput, at as UpdateSyllabusElementForm, au as UpdateSyllabusElementFormSchema, av as UpdateSyllabusForm, aw as UpdateSyllabusFormSchema, ax as UpsertTrainingRecordForm, ay as UpsertTrainingRecordFormSchema, az as UsedByCourse, aA as addressSchema, aB as aircraftRatingSchema, aC as airplaneIssueSchema, aD as airplaneIssueSeverityEnum, aE as airplaneIssueStatusEnum, aF as airplanePermissionSchema, aG as airplaneSchema, aH as airplaneShareInviteSchema, aI as airportSchema, aJ as alertSchema, aK as allowedDocumentTypeSchema, aL as approachTypeSchema, aM as availSchema, aN as baseMembershipSchema, aO as bookingSchema, aP as bookingWaypointSchema, aQ as commentSchema, aR as companySchema, aS as contactAttributeSchema, aT as courseCheckSyllabusSchema, aU as courseEnrollmentMetricsSchema, aV as courseEnrollmentSchema, aW as courseFeeSchema, aX as courseSchema, aY as createSyllabusFromTemplateResultSchema, aZ as documentComplianceStatus, a_ as documentRequirement, a$ as documentRequirementGroup, b0 as documentRequirementGroupAssignment, b1 as documentSchema, b2 as documentShareSchema, b3 as documentType, b4 as enrollmentTrainingElementSchema, b5 as eventSchema, b6 as expenseItemSchema, b7 as expenseSchema, b8 as extendedAirplaneSchema, b9 as feeCategoryOptionsSchema, ba as feeSchema, bb as flightLogSchema, bc as gradeHistoryItemSchema, bd as gradingScalePointSchema, be as gradingScaleSchema, bf as impersonationParticipantSchema, bg as impersonationStateSchema, bh as invoiceSchema, bi as landingFeeSchema, bj as landingSchema, bk as maintenanceEventEstimationSchema, bl as maintenanceEventSchema, bm as maintenanceStatusSchema, bn as mediaCollection, bo as mediaSchema, bp as membershipSchema, bq as postSchema, br as prePaidPackageSchema, bs as priceSchema, bt as qualificationSchema, bu as recurringFlightSchema, bv as roleSchema, bw as runwaySchema, bx as scheduledFlightSchema, by as settingSchema, bz as specialFlightSchema, bA as syllabusElementMutationResultSchema, bB as syllabusElementSchema, bC as syllabusRolloutResultItemSchema, bD as syllabusRolloutResultSchema, bE as syllabusRolloutSkippedItemSchema, bF as syllabusSchema, bG as tagSchema, bH as ticketSchema, bI as trainingElementSchema, bJ as trainingRecordEntryInputSchema, bK as trainingRecordEntrySchema, bL as trainingRecordSchema, bM as trainingSignatureSchema, bN as trainingTemplatePackSchema, bO as usedByCourseSchema, bP as userAircraftRatingSchema, bQ as userQualificationSchema, bR as userSchema, bS as waypointSchema, bT as zContactDTO, bU as zNetGross, bV as zNullableBool, bW as zPhpMoneyObject } from '../training-Der1DPU-.js';
2
2
  import { z } from 'zod';
3
3
 
4
4
  declare enum FaqStatus {
@@ -77,10 +77,10 @@ declare const FaqSchema: z.ZodObject<{
77
77
  id: number;
78
78
  created_at: string;
79
79
  updated_at: string;
80
+ is_active: boolean;
80
81
  company_id: number | null;
81
82
  category: string;
82
83
  subcategory: string | null;
83
- is_active: boolean;
84
84
  faqable_type: string | null;
85
85
  faqable_id: number | null;
86
86
  question: string;
@@ -114,10 +114,10 @@ declare const FaqSchema: z.ZodObject<{
114
114
  id: number;
115
115
  created_at: string;
116
116
  updated_at: string;
117
+ is_active: boolean;
117
118
  company_id: number | null;
118
119
  category: string;
119
120
  subcategory: string | null;
120
- is_active: boolean;
121
121
  faqable_type: string | null;
122
122
  faqable_id: number | null;
123
123
  question: string;
@@ -186,95 +186,21 @@ declare const ReviewFaqSchema: z.ZodObject<{
186
186
  is_active: z.ZodOptional<z.ZodBoolean>;
187
187
  }, "strip", z.ZodTypeAny, {
188
188
  status: "pending" | "approved" | "rejected";
189
+ is_active?: boolean | undefined;
189
190
  category?: string | undefined;
190
191
  subcategory?: string | null | undefined;
191
- is_active?: boolean | undefined;
192
192
  answer?: string | undefined;
193
193
  order?: number | undefined;
194
194
  }, {
195
195
  status: "pending" | "approved" | "rejected";
196
+ is_active?: boolean | undefined;
196
197
  category?: string | undefined;
197
198
  subcategory?: string | null | undefined;
198
- is_active?: boolean | undefined;
199
199
  answer?: string | undefined;
200
200
  order?: number | undefined;
201
201
  }>;
202
202
  type ReviewFaqInput = z.infer<typeof ReviewFaqSchema>;
203
203
 
204
- declare const FeeSchema: z.ZodObject<{
205
- id: z.ZodNumber;
206
- type: z.ZodOptional<z.ZodLiteral<"fee">>;
207
- company_id: z.ZodNumber;
208
- provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
209
- category: z.ZodString;
210
- subcategory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
211
- title: z.ZodString;
212
- internal_title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
213
- display_title: z.ZodOptional<z.ZodString>;
214
- relation: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["booking", "flightlog", "invoice", "instructor"]>, "many">>>;
215
- payment_per: z.ZodOptional<z.ZodNullable<z.ZodEnum<["perSession", "perFlight", "perBooking", "perHour"]>>>;
216
- price: z.ZodOptional<z.ZodAny>;
217
- prices: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
218
- can: z.ZodOptional<z.ZodObject<{
219
- update: z.ZodOptional<z.ZodBoolean>;
220
- delete: z.ZodOptional<z.ZodBoolean>;
221
- }, "strip", z.ZodTypeAny, {
222
- update?: boolean | undefined;
223
- delete?: boolean | undefined;
224
- }, {
225
- update?: boolean | undefined;
226
- delete?: boolean | undefined;
227
- }>>;
228
- }, "strip", z.ZodTypeAny, {
229
- id: number;
230
- company_id: number;
231
- category: string;
232
- title: string;
233
- type?: "fee" | undefined;
234
- can?: {
235
- update?: boolean | undefined;
236
- delete?: boolean | undefined;
237
- } | undefined;
238
- price?: any;
239
- prices?: any[] | undefined;
240
- provider?: string | null | undefined;
241
- subcategory?: string | null | undefined;
242
- relation?: ("instructor" | "booking" | "invoice" | "flightlog")[] | null | undefined;
243
- payment_per?: "perSession" | "perFlight" | "perBooking" | "perHour" | null | undefined;
244
- internal_title?: string | null | undefined;
245
- display_title?: string | undefined;
246
- }, {
247
- id: number;
248
- company_id: number;
249
- category: string;
250
- title: string;
251
- type?: "fee" | undefined;
252
- can?: {
253
- update?: boolean | undefined;
254
- delete?: boolean | undefined;
255
- } | undefined;
256
- price?: any;
257
- prices?: any[] | undefined;
258
- provider?: string | null | undefined;
259
- subcategory?: string | null | undefined;
260
- relation?: ("instructor" | "booking" | "invoice" | "flightlog")[] | null | undefined;
261
- payment_per?: "perSession" | "perFlight" | "perBooking" | "perHour" | null | undefined;
262
- internal_title?: string | null | undefined;
263
- display_title?: string | undefined;
264
- }>;
265
- declare const FeeCategoryOptionsSchema: z.ZodObject<{
266
- categories: z.ZodArray<z.ZodString, "many">;
267
- subcategories: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
268
- }, "strip", z.ZodTypeAny, {
269
- categories: string[];
270
- subcategories: Record<string, string[]>;
271
- }, {
272
- categories: string[];
273
- subcategories: Record<string, string[]>;
274
- }>;
275
- type Fee = z.infer<typeof FeeSchema>;
276
- type FeeCategoryOptions = z.infer<typeof FeeCategoryOptionsSchema>;
277
-
278
204
  declare const SafetyReportStatusEnum: z.ZodEnum<["new", "under_review", "action_taken", "closed"]>;
279
205
  type SafetyReportStatus = z.infer<typeof SafetyReportStatusEnum>;
280
206
  declare const SafetyReportCategorySchema: z.ZodObject<{
@@ -292,8 +218,8 @@ declare const SafetyReportCategorySchema: z.ZodObject<{
292
218
  id: number;
293
219
  description: string | null;
294
220
  is_active: boolean;
295
- color: string;
296
221
  sort_order: number;
222
+ color: string;
297
223
  created_at?: string | undefined;
298
224
  updated_at?: string | undefined;
299
225
  is_global?: boolean | undefined;
@@ -302,8 +228,8 @@ declare const SafetyReportCategorySchema: z.ZodObject<{
302
228
  id: number;
303
229
  description: string | null;
304
230
  is_active: boolean;
305
- color: string;
306
231
  sort_order: number;
232
+ color: string;
307
233
  created_at?: string | undefined;
308
234
  updated_at?: string | undefined;
309
235
  is_global?: boolean | undefined;
@@ -319,14 +245,14 @@ declare const SafetyReportCategoryFormSchema: z.ZodObject<{
319
245
  name: string;
320
246
  description?: string | null | undefined;
321
247
  is_active?: boolean | undefined;
322
- color?: string | null | undefined;
323
248
  sort_order?: number | undefined;
249
+ color?: string | null | undefined;
324
250
  }, {
325
251
  name: string;
326
252
  description?: string | null | undefined;
327
253
  is_active?: boolean | undefined;
328
- color?: string | null | undefined;
329
254
  sort_order?: number | undefined;
255
+ color?: string | null | undefined;
330
256
  }>;
331
257
  type SafetyReportCategoryForm = z.infer<typeof SafetyReportCategoryFormSchema>;
332
258
  declare const SafetyReportMediaSchema: z.ZodObject<{
@@ -371,8 +297,8 @@ declare const SafetyReportSchema: z.ZodObject<{
371
297
  id: number;
372
298
  description: string | null;
373
299
  is_active: boolean;
374
- color: string;
375
300
  sort_order: number;
301
+ color: string;
376
302
  created_at?: string | undefined;
377
303
  updated_at?: string | undefined;
378
304
  is_global?: boolean | undefined;
@@ -381,8 +307,8 @@ declare const SafetyReportSchema: z.ZodObject<{
381
307
  id: number;
382
308
  description: string | null;
383
309
  is_active: boolean;
384
- color: string;
385
310
  sort_order: number;
311
+ color: string;
386
312
  created_at?: string | undefined;
387
313
  updated_at?: string | undefined;
388
314
  is_global?: boolean | undefined;
@@ -425,8 +351,8 @@ declare const SafetyReportSchema: z.ZodObject<{
425
351
  id: number;
426
352
  description: string | null;
427
353
  is_active: boolean;
428
- color: string;
429
354
  sort_order: number;
355
+ color: string;
430
356
  created_at?: string | undefined;
431
357
  updated_at?: string | undefined;
432
358
  is_global?: boolean | undefined;
@@ -454,8 +380,8 @@ declare const SafetyReportSchema: z.ZodObject<{
454
380
  id: number;
455
381
  description: string | null;
456
382
  is_active: boolean;
457
- color: string;
458
383
  sort_order: number;
384
+ color: string;
459
385
  created_at?: string | undefined;
460
386
  updated_at?: string | undefined;
461
387
  is_global?: boolean | undefined;
@@ -493,8 +419,8 @@ declare const SafetyReportListResponseSchema: z.ZodObject<{
493
419
  id: number;
494
420
  description: string | null;
495
421
  is_active: boolean;
496
- color: string;
497
422
  sort_order: number;
423
+ color: string;
498
424
  created_at?: string | undefined;
499
425
  updated_at?: string | undefined;
500
426
  is_global?: boolean | undefined;
@@ -503,8 +429,8 @@ declare const SafetyReportListResponseSchema: z.ZodObject<{
503
429
  id: number;
504
430
  description: string | null;
505
431
  is_active: boolean;
506
- color: string;
507
432
  sort_order: number;
433
+ color: string;
508
434
  created_at?: string | undefined;
509
435
  updated_at?: string | undefined;
510
436
  is_global?: boolean | undefined;
@@ -547,8 +473,8 @@ declare const SafetyReportListResponseSchema: z.ZodObject<{
547
473
  id: number;
548
474
  description: string | null;
549
475
  is_active: boolean;
550
- color: string;
551
476
  sort_order: number;
477
+ color: string;
552
478
  created_at?: string | undefined;
553
479
  updated_at?: string | undefined;
554
480
  is_global?: boolean | undefined;
@@ -576,8 +502,8 @@ declare const SafetyReportListResponseSchema: z.ZodObject<{
576
502
  id: number;
577
503
  description: string | null;
578
504
  is_active: boolean;
579
- color: string;
580
505
  sort_order: number;
506
+ color: string;
581
507
  created_at?: string | undefined;
582
508
  updated_at?: string | undefined;
583
509
  is_global?: boolean | undefined;
@@ -645,8 +571,8 @@ declare const SafetyReportListResponseSchema: z.ZodObject<{
645
571
  id: number;
646
572
  description: string | null;
647
573
  is_active: boolean;
648
- color: string;
649
574
  sort_order: number;
575
+ color: string;
650
576
  created_at?: string | undefined;
651
577
  updated_at?: string | undefined;
652
578
  is_global?: boolean | undefined;
@@ -690,8 +616,8 @@ declare const SafetyReportListResponseSchema: z.ZodObject<{
690
616
  id: number;
691
617
  description: string | null;
692
618
  is_active: boolean;
693
- color: string;
694
619
  sort_order: number;
620
+ color: string;
695
621
  created_at?: string | undefined;
696
622
  updated_at?: string | undefined;
697
623
  is_global?: boolean | undefined;
@@ -1016,4 +942,3107 @@ interface ReportStatusResponse {
1016
942
  };
1017
943
  }
1018
944
 
1019
- export { type AircraftUtilization, type BookingsData, type CompanyDevelopmentReportData, type CreateFaqInput, type ExpenseData, type Faq, FaqSchema, FaqStatus, type Fee, type FeeCategoryOptions, FeeCategoryOptionsSchema, FeeSchema, type FinancialReportData, type FinancialSummaryData, type FlightHoursData, type InstructorData, type InstructorEfficiencyReportData, type InstructorSummaryData, type InvoiceData, type LandingsData, type Media, type MemberActivityData, type OperationalReportData, type PeriodData, type PrepaidPackageData, type Report, type ReportData, type ReportGenerationParams, type ReportGenerationResponse, type ReportGranularity, type ReportListItem, type ReportMedia, type ReportMetadata, type ReportParameters, type ReportStatus, type ReportStatusResponse, type ReportType, type RevenueData, type ReviewFaqInput, ReviewFaqSchema, SAFETY_REPORT_STATUS_COLORS, SAFETY_REPORT_STATUS_LABELS, type SafetyReport, type SafetyReportCategory, type SafetyReportCategoryForm, SafetyReportCategoryFormSchema, SafetyReportCategorySchema, type SafetyReportFilter, SafetyReportFilterSchema, type SafetyReportForm, SafetyReportFormSchema, type SafetyReportListResponse, SafetyReportListResponseSchema, type SafetyReportMedia, SafetyReportMediaSchema, SafetyReportSchema, type SafetyReportStatus, SafetyReportStatusEnum, type SafetyReportSubmissionResponse, SafetyReportSubmissionResponseSchema, type SafetyReportUpdate, SafetyReportUpdateSchema, type SubmitFaqQuestionInput, SubmitFaqQuestionSchema, type UpdateFaqInput };
945
+ declare const CourseMilestoneKindEnum: z.ZodEnum<["progress", "solo", "cross_country", "theory", "practical", "prerequisite", "custom"]>;
946
+ type CourseMilestoneKind = z.infer<typeof CourseMilestoneKindEnum>;
947
+ declare const courseMilestoneSchema: z.ZodObject<{
948
+ type: z.ZodOptional<z.ZodLiteral<"courseMilestone">>;
949
+ id: z.ZodNumber;
950
+ course_id: z.ZodNumber;
951
+ name: z.ZodString;
952
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
953
+ kind: z.ZodString;
954
+ is_prerequisite: z.ZodBoolean;
955
+ requires_form_template_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
956
+ required_form_template: z.ZodOptional<z.ZodNullable<z.ZodObject<{
957
+ id: z.ZodNumber;
958
+ name: z.ZodOptional<z.ZodString>;
959
+ }, "strip", z.ZodTypeAny, {
960
+ id: number;
961
+ name?: string | undefined;
962
+ }, {
963
+ id: number;
964
+ name?: string | undefined;
965
+ }>>>;
966
+ completion_rule: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
967
+ sort_order: z.ZodNumber;
968
+ created_at: z.ZodOptional<z.ZodString>;
969
+ updated_at: z.ZodOptional<z.ZodString>;
970
+ can: z.ZodOptional<z.ZodObject<{
971
+ update: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
972
+ delete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
973
+ }, "strip", z.ZodTypeAny, {
974
+ update?: boolean | null | undefined;
975
+ delete?: boolean | null | undefined;
976
+ }, {
977
+ update?: boolean | null | undefined;
978
+ delete?: boolean | null | undefined;
979
+ }>>;
980
+ }, "strip", z.ZodTypeAny, {
981
+ name: string;
982
+ id: number;
983
+ kind: string;
984
+ sort_order: number;
985
+ course_id: number;
986
+ is_prerequisite: boolean;
987
+ type?: "courseMilestone" | undefined;
988
+ created_at?: string | undefined;
989
+ updated_at?: string | undefined;
990
+ description?: string | null | undefined;
991
+ can?: {
992
+ update?: boolean | null | undefined;
993
+ delete?: boolean | null | undefined;
994
+ } | undefined;
995
+ requires_form_template_id?: number | null | undefined;
996
+ required_form_template?: {
997
+ id: number;
998
+ name?: string | undefined;
999
+ } | null | undefined;
1000
+ completion_rule?: Record<string, unknown> | null | undefined;
1001
+ }, {
1002
+ name: string;
1003
+ id: number;
1004
+ kind: string;
1005
+ sort_order: number;
1006
+ course_id: number;
1007
+ is_prerequisite: boolean;
1008
+ type?: "courseMilestone" | undefined;
1009
+ created_at?: string | undefined;
1010
+ updated_at?: string | undefined;
1011
+ description?: string | null | undefined;
1012
+ can?: {
1013
+ update?: boolean | null | undefined;
1014
+ delete?: boolean | null | undefined;
1015
+ } | undefined;
1016
+ requires_form_template_id?: number | null | undefined;
1017
+ required_form_template?: {
1018
+ id: number;
1019
+ name?: string | undefined;
1020
+ } | null | undefined;
1021
+ completion_rule?: Record<string, unknown> | null | undefined;
1022
+ }>;
1023
+ type CourseMilestone = z.infer<typeof courseMilestoneSchema>;
1024
+ declare const CourseMilestoneFormSchema: z.ZodObject<{
1025
+ name: z.ZodString;
1026
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1027
+ kind: z.ZodDefault<z.ZodString>;
1028
+ is_prerequisite: z.ZodDefault<z.ZodBoolean>;
1029
+ requires_form_template_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1030
+ completion_rule: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1031
+ sort_order: z.ZodOptional<z.ZodNumber>;
1032
+ }, "strip", z.ZodTypeAny, {
1033
+ name: string;
1034
+ kind: string;
1035
+ is_prerequisite: boolean;
1036
+ description?: string | null | undefined;
1037
+ sort_order?: number | undefined;
1038
+ requires_form_template_id?: number | null | undefined;
1039
+ completion_rule?: Record<string, unknown> | null | undefined;
1040
+ }, {
1041
+ name: string;
1042
+ description?: string | null | undefined;
1043
+ kind?: string | undefined;
1044
+ sort_order?: number | undefined;
1045
+ is_prerequisite?: boolean | undefined;
1046
+ requires_form_template_id?: number | null | undefined;
1047
+ completion_rule?: Record<string, unknown> | null | undefined;
1048
+ }>;
1049
+ type CourseMilestoneForm = z.infer<typeof CourseMilestoneFormSchema>;
1050
+ declare const courseEnrollmentMilestoneSchema: z.ZodObject<{
1051
+ type: z.ZodOptional<z.ZodLiteral<"courseEnrollmentMilestone">>;
1052
+ id: z.ZodNumber;
1053
+ course_enrollment_id: z.ZodNumber;
1054
+ course_milestone_id: z.ZodNumber;
1055
+ milestone: z.ZodOptional<z.ZodObject<{
1056
+ type: z.ZodOptional<z.ZodLiteral<"courseMilestone">>;
1057
+ id: z.ZodNumber;
1058
+ course_id: z.ZodNumber;
1059
+ name: z.ZodString;
1060
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1061
+ kind: z.ZodString;
1062
+ is_prerequisite: z.ZodBoolean;
1063
+ requires_form_template_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1064
+ required_form_template: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1065
+ id: z.ZodNumber;
1066
+ name: z.ZodOptional<z.ZodString>;
1067
+ }, "strip", z.ZodTypeAny, {
1068
+ id: number;
1069
+ name?: string | undefined;
1070
+ }, {
1071
+ id: number;
1072
+ name?: string | undefined;
1073
+ }>>>;
1074
+ completion_rule: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1075
+ sort_order: z.ZodNumber;
1076
+ created_at: z.ZodOptional<z.ZodString>;
1077
+ updated_at: z.ZodOptional<z.ZodString>;
1078
+ can: z.ZodOptional<z.ZodObject<{
1079
+ update: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1080
+ delete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1081
+ }, "strip", z.ZodTypeAny, {
1082
+ update?: boolean | null | undefined;
1083
+ delete?: boolean | null | undefined;
1084
+ }, {
1085
+ update?: boolean | null | undefined;
1086
+ delete?: boolean | null | undefined;
1087
+ }>>;
1088
+ }, "strip", z.ZodTypeAny, {
1089
+ name: string;
1090
+ id: number;
1091
+ kind: string;
1092
+ sort_order: number;
1093
+ course_id: number;
1094
+ is_prerequisite: boolean;
1095
+ type?: "courseMilestone" | undefined;
1096
+ created_at?: string | undefined;
1097
+ updated_at?: string | undefined;
1098
+ description?: string | null | undefined;
1099
+ can?: {
1100
+ update?: boolean | null | undefined;
1101
+ delete?: boolean | null | undefined;
1102
+ } | undefined;
1103
+ requires_form_template_id?: number | null | undefined;
1104
+ required_form_template?: {
1105
+ id: number;
1106
+ name?: string | undefined;
1107
+ } | null | undefined;
1108
+ completion_rule?: Record<string, unknown> | null | undefined;
1109
+ }, {
1110
+ name: string;
1111
+ id: number;
1112
+ kind: string;
1113
+ sort_order: number;
1114
+ course_id: number;
1115
+ is_prerequisite: boolean;
1116
+ type?: "courseMilestone" | undefined;
1117
+ created_at?: string | undefined;
1118
+ updated_at?: string | undefined;
1119
+ description?: string | null | undefined;
1120
+ can?: {
1121
+ update?: boolean | null | undefined;
1122
+ delete?: boolean | null | undefined;
1123
+ } | undefined;
1124
+ requires_form_template_id?: number | null | undefined;
1125
+ required_form_template?: {
1126
+ id: number;
1127
+ name?: string | undefined;
1128
+ } | null | undefined;
1129
+ completion_rule?: Record<string, unknown> | null | undefined;
1130
+ }>>;
1131
+ achieved_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1132
+ achieved_by_membership_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1133
+ achieved_by: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1134
+ id: z.ZodNumber;
1135
+ user: z.ZodOptional<z.ZodObject<{
1136
+ name: z.ZodOptional<z.ZodString>;
1137
+ }, "strip", z.ZodTypeAny, {
1138
+ name?: string | undefined;
1139
+ }, {
1140
+ name?: string | undefined;
1141
+ }>>;
1142
+ }, "strip", z.ZodTypeAny, {
1143
+ id: number;
1144
+ user?: {
1145
+ name?: string | undefined;
1146
+ } | undefined;
1147
+ }, {
1148
+ id: number;
1149
+ user?: {
1150
+ name?: string | undefined;
1151
+ } | undefined;
1152
+ }>>>;
1153
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1154
+ is_achieved: z.ZodBoolean;
1155
+ can_be_achieved: z.ZodBoolean;
1156
+ can: z.ZodOptional<z.ZodObject<{
1157
+ achieve: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1158
+ revoke: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1159
+ }, "strip", z.ZodTypeAny, {
1160
+ achieve?: boolean | null | undefined;
1161
+ revoke?: boolean | null | undefined;
1162
+ }, {
1163
+ achieve?: boolean | null | undefined;
1164
+ revoke?: boolean | null | undefined;
1165
+ }>>;
1166
+ }, "strip", z.ZodTypeAny, {
1167
+ id: number;
1168
+ course_enrollment_id: number;
1169
+ course_milestone_id: number;
1170
+ is_achieved: boolean;
1171
+ can_be_achieved: boolean;
1172
+ type?: "courseEnrollmentMilestone" | undefined;
1173
+ can?: {
1174
+ achieve?: boolean | null | undefined;
1175
+ revoke?: boolean | null | undefined;
1176
+ } | undefined;
1177
+ notes?: string | null | undefined;
1178
+ milestone?: {
1179
+ name: string;
1180
+ id: number;
1181
+ kind: string;
1182
+ sort_order: number;
1183
+ course_id: number;
1184
+ is_prerequisite: boolean;
1185
+ type?: "courseMilestone" | undefined;
1186
+ created_at?: string | undefined;
1187
+ updated_at?: string | undefined;
1188
+ description?: string | null | undefined;
1189
+ can?: {
1190
+ update?: boolean | null | undefined;
1191
+ delete?: boolean | null | undefined;
1192
+ } | undefined;
1193
+ requires_form_template_id?: number | null | undefined;
1194
+ required_form_template?: {
1195
+ id: number;
1196
+ name?: string | undefined;
1197
+ } | null | undefined;
1198
+ completion_rule?: Record<string, unknown> | null | undefined;
1199
+ } | undefined;
1200
+ achieved_at?: string | null | undefined;
1201
+ achieved_by_membership_id?: number | null | undefined;
1202
+ achieved_by?: {
1203
+ id: number;
1204
+ user?: {
1205
+ name?: string | undefined;
1206
+ } | undefined;
1207
+ } | null | undefined;
1208
+ }, {
1209
+ id: number;
1210
+ course_enrollment_id: number;
1211
+ course_milestone_id: number;
1212
+ is_achieved: boolean;
1213
+ can_be_achieved: boolean;
1214
+ type?: "courseEnrollmentMilestone" | undefined;
1215
+ can?: {
1216
+ achieve?: boolean | null | undefined;
1217
+ revoke?: boolean | null | undefined;
1218
+ } | undefined;
1219
+ notes?: string | null | undefined;
1220
+ milestone?: {
1221
+ name: string;
1222
+ id: number;
1223
+ kind: string;
1224
+ sort_order: number;
1225
+ course_id: number;
1226
+ is_prerequisite: boolean;
1227
+ type?: "courseMilestone" | undefined;
1228
+ created_at?: string | undefined;
1229
+ updated_at?: string | undefined;
1230
+ description?: string | null | undefined;
1231
+ can?: {
1232
+ update?: boolean | null | undefined;
1233
+ delete?: boolean | null | undefined;
1234
+ } | undefined;
1235
+ requires_form_template_id?: number | null | undefined;
1236
+ required_form_template?: {
1237
+ id: number;
1238
+ name?: string | undefined;
1239
+ } | null | undefined;
1240
+ completion_rule?: Record<string, unknown> | null | undefined;
1241
+ } | undefined;
1242
+ achieved_at?: string | null | undefined;
1243
+ achieved_by_membership_id?: number | null | undefined;
1244
+ achieved_by?: {
1245
+ id: number;
1246
+ user?: {
1247
+ name?: string | undefined;
1248
+ } | undefined;
1249
+ } | null | undefined;
1250
+ }>;
1251
+ type CourseEnrollmentMilestone = z.infer<typeof courseEnrollmentMilestoneSchema>;
1252
+
1253
+ /**
1254
+ * Company-scoped equipment catalog entry (m-crit-api
1255
+ * docs/features/airplane-equipment.md). Assigned to airplanes via the
1256
+ * airplane PATCH `equipment` array.
1257
+ */
1258
+ declare const equipmentSchema: z.ZodObject<{
1259
+ type: z.ZodOptional<z.ZodLiteral<"equipment">>;
1260
+ id: z.ZodNumber;
1261
+ name: z.ZodString;
1262
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1263
+ manual_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1264
+ }, "strip", z.ZodTypeAny, {
1265
+ name: string;
1266
+ id: number;
1267
+ type?: "equipment" | undefined;
1268
+ description?: string | null | undefined;
1269
+ manual_url?: string | null | undefined;
1270
+ }, {
1271
+ name: string;
1272
+ id: number;
1273
+ type?: "equipment" | undefined;
1274
+ description?: string | null | undefined;
1275
+ manual_url?: string | null | undefined;
1276
+ }>;
1277
+ type Equipment = z.infer<typeof equipmentSchema>;
1278
+ /**
1279
+ * Write shape for the airplane PATCH: existing entries carry their id
1280
+ * (description/manual_url on an id entry UPDATE the catalog entry);
1281
+ * id-less entries are created on the fly by name.
1282
+ */
1283
+ interface EquipmentEntry {
1284
+ id?: number;
1285
+ name: string;
1286
+ description?: string | null;
1287
+ manual_url?: string | null;
1288
+ }
1289
+
1290
+ declare enum NewsletterBlockType {
1291
+ Heading = "heading",
1292
+ Paragraph = "paragraph",
1293
+ Button = "button",
1294
+ Divider = "divider"
1295
+ }
1296
+ declare const TipTapNodeSchema: z.ZodType<TipTapNode>;
1297
+ interface TipTapNode {
1298
+ type: string;
1299
+ attrs?: Record<string, unknown>;
1300
+ content?: TipTapNode[];
1301
+ marks?: Array<Record<string, unknown>>;
1302
+ text?: string;
1303
+ }
1304
+ declare const HeadingBlockSchema: z.ZodObject<{
1305
+ key: z.ZodString;
1306
+ type: z.ZodLiteral<NewsletterBlockType.Heading>;
1307
+ level: z.ZodDefault<z.ZodNumber>;
1308
+ text: z.ZodString;
1309
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1310
+ }, "strip", z.ZodTypeAny, {
1311
+ type: NewsletterBlockType.Heading;
1312
+ key: string;
1313
+ text: string;
1314
+ level: number;
1315
+ align?: "left" | "center" | "right" | undefined;
1316
+ }, {
1317
+ type: NewsletterBlockType.Heading;
1318
+ key: string;
1319
+ text: string;
1320
+ level?: number | undefined;
1321
+ align?: "left" | "center" | "right" | undefined;
1322
+ }>;
1323
+ declare const ParagraphBlockSchema: z.ZodObject<{
1324
+ key: z.ZodString;
1325
+ type: z.ZodLiteral<NewsletterBlockType.Paragraph>;
1326
+ doc: z.ZodType<TipTapNode, z.ZodTypeDef, TipTapNode>;
1327
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1328
+ }, "strip", z.ZodTypeAny, {
1329
+ type: NewsletterBlockType.Paragraph;
1330
+ key: string;
1331
+ doc: TipTapNode;
1332
+ align?: "left" | "center" | "right" | undefined;
1333
+ }, {
1334
+ type: NewsletterBlockType.Paragraph;
1335
+ key: string;
1336
+ doc: TipTapNode;
1337
+ align?: "left" | "center" | "right" | undefined;
1338
+ }>;
1339
+ declare const ButtonBlockSchema: z.ZodObject<{
1340
+ key: z.ZodString;
1341
+ type: z.ZodLiteral<NewsletterBlockType.Button>;
1342
+ label: z.ZodString;
1343
+ url: z.ZodString;
1344
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1345
+ color: z.ZodOptional<z.ZodString>;
1346
+ }, "strip", z.ZodTypeAny, {
1347
+ type: NewsletterBlockType.Button;
1348
+ url: string;
1349
+ key: string;
1350
+ label: string;
1351
+ color?: string | undefined;
1352
+ align?: "left" | "center" | "right" | undefined;
1353
+ }, {
1354
+ type: NewsletterBlockType.Button;
1355
+ url: string;
1356
+ key: string;
1357
+ label: string;
1358
+ color?: string | undefined;
1359
+ align?: "left" | "center" | "right" | undefined;
1360
+ }>;
1361
+ declare const DividerBlockSchema: z.ZodObject<{
1362
+ key: z.ZodString;
1363
+ type: z.ZodLiteral<NewsletterBlockType.Divider>;
1364
+ thickness: z.ZodOptional<z.ZodNumber>;
1365
+ color: z.ZodOptional<z.ZodString>;
1366
+ }, "strip", z.ZodTypeAny, {
1367
+ type: NewsletterBlockType.Divider;
1368
+ key: string;
1369
+ color?: string | undefined;
1370
+ thickness?: number | undefined;
1371
+ }, {
1372
+ type: NewsletterBlockType.Divider;
1373
+ key: string;
1374
+ color?: string | undefined;
1375
+ thickness?: number | undefined;
1376
+ }>;
1377
+ declare const NewsletterBlockSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1378
+ key: z.ZodString;
1379
+ type: z.ZodLiteral<NewsletterBlockType.Heading>;
1380
+ level: z.ZodDefault<z.ZodNumber>;
1381
+ text: z.ZodString;
1382
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1383
+ }, "strip", z.ZodTypeAny, {
1384
+ type: NewsletterBlockType.Heading;
1385
+ key: string;
1386
+ text: string;
1387
+ level: number;
1388
+ align?: "left" | "center" | "right" | undefined;
1389
+ }, {
1390
+ type: NewsletterBlockType.Heading;
1391
+ key: string;
1392
+ text: string;
1393
+ level?: number | undefined;
1394
+ align?: "left" | "center" | "right" | undefined;
1395
+ }>, z.ZodObject<{
1396
+ key: z.ZodString;
1397
+ type: z.ZodLiteral<NewsletterBlockType.Paragraph>;
1398
+ doc: z.ZodType<TipTapNode, z.ZodTypeDef, TipTapNode>;
1399
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1400
+ }, "strip", z.ZodTypeAny, {
1401
+ type: NewsletterBlockType.Paragraph;
1402
+ key: string;
1403
+ doc: TipTapNode;
1404
+ align?: "left" | "center" | "right" | undefined;
1405
+ }, {
1406
+ type: NewsletterBlockType.Paragraph;
1407
+ key: string;
1408
+ doc: TipTapNode;
1409
+ align?: "left" | "center" | "right" | undefined;
1410
+ }>, z.ZodObject<{
1411
+ key: z.ZodString;
1412
+ type: z.ZodLiteral<NewsletterBlockType.Button>;
1413
+ label: z.ZodString;
1414
+ url: z.ZodString;
1415
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1416
+ color: z.ZodOptional<z.ZodString>;
1417
+ }, "strip", z.ZodTypeAny, {
1418
+ type: NewsletterBlockType.Button;
1419
+ url: string;
1420
+ key: string;
1421
+ label: string;
1422
+ color?: string | undefined;
1423
+ align?: "left" | "center" | "right" | undefined;
1424
+ }, {
1425
+ type: NewsletterBlockType.Button;
1426
+ url: string;
1427
+ key: string;
1428
+ label: string;
1429
+ color?: string | undefined;
1430
+ align?: "left" | "center" | "right" | undefined;
1431
+ }>, z.ZodObject<{
1432
+ key: z.ZodString;
1433
+ type: z.ZodLiteral<NewsletterBlockType.Divider>;
1434
+ thickness: z.ZodOptional<z.ZodNumber>;
1435
+ color: z.ZodOptional<z.ZodString>;
1436
+ }, "strip", z.ZodTypeAny, {
1437
+ type: NewsletterBlockType.Divider;
1438
+ key: string;
1439
+ color?: string | undefined;
1440
+ thickness?: number | undefined;
1441
+ }, {
1442
+ type: NewsletterBlockType.Divider;
1443
+ key: string;
1444
+ color?: string | undefined;
1445
+ thickness?: number | undefined;
1446
+ }>]>;
1447
+ type HeadingBlock = z.infer<typeof HeadingBlockSchema>;
1448
+ type ParagraphBlock = z.infer<typeof ParagraphBlockSchema>;
1449
+ type ButtonBlock = z.infer<typeof ButtonBlockSchema>;
1450
+ type DividerBlock = z.infer<typeof DividerBlockSchema>;
1451
+ type NewsletterBlock = z.infer<typeof NewsletterBlockSchema>;
1452
+ declare const NewsletterCategorySchema: z.ZodObject<{
1453
+ type: z.ZodOptional<z.ZodLiteral<"newsletter_category">>;
1454
+ id: z.ZodNumber;
1455
+ key: z.ZodString;
1456
+ name: z.ZodString;
1457
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1458
+ is_mandatory: z.ZodBoolean;
1459
+ is_active: z.ZodBoolean;
1460
+ sort_order: z.ZodNumber;
1461
+ created_at: z.ZodOptional<z.ZodString>;
1462
+ updated_at: z.ZodOptional<z.ZodString>;
1463
+ }, "strip", z.ZodTypeAny, {
1464
+ name: string;
1465
+ id: number;
1466
+ key: string;
1467
+ is_active: boolean;
1468
+ sort_order: number;
1469
+ is_mandatory: boolean;
1470
+ type?: "newsletter_category" | undefined;
1471
+ created_at?: string | undefined;
1472
+ updated_at?: string | undefined;
1473
+ description?: string | null | undefined;
1474
+ }, {
1475
+ name: string;
1476
+ id: number;
1477
+ key: string;
1478
+ is_active: boolean;
1479
+ sort_order: number;
1480
+ is_mandatory: boolean;
1481
+ type?: "newsletter_category" | undefined;
1482
+ created_at?: string | undefined;
1483
+ updated_at?: string | undefined;
1484
+ description?: string | null | undefined;
1485
+ }>;
1486
+ type NewsletterCategory = z.infer<typeof NewsletterCategorySchema>;
1487
+ declare const NewsletterTemplateSchemaSchema: z.ZodObject<{
1488
+ blocks: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1489
+ key: z.ZodString;
1490
+ type: z.ZodLiteral<NewsletterBlockType.Heading>;
1491
+ level: z.ZodDefault<z.ZodNumber>;
1492
+ text: z.ZodString;
1493
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1494
+ }, "strip", z.ZodTypeAny, {
1495
+ type: NewsletterBlockType.Heading;
1496
+ key: string;
1497
+ text: string;
1498
+ level: number;
1499
+ align?: "left" | "center" | "right" | undefined;
1500
+ }, {
1501
+ type: NewsletterBlockType.Heading;
1502
+ key: string;
1503
+ text: string;
1504
+ level?: number | undefined;
1505
+ align?: "left" | "center" | "right" | undefined;
1506
+ }>, z.ZodObject<{
1507
+ key: z.ZodString;
1508
+ type: z.ZodLiteral<NewsletterBlockType.Paragraph>;
1509
+ doc: z.ZodType<TipTapNode, z.ZodTypeDef, TipTapNode>;
1510
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1511
+ }, "strip", z.ZodTypeAny, {
1512
+ type: NewsletterBlockType.Paragraph;
1513
+ key: string;
1514
+ doc: TipTapNode;
1515
+ align?: "left" | "center" | "right" | undefined;
1516
+ }, {
1517
+ type: NewsletterBlockType.Paragraph;
1518
+ key: string;
1519
+ doc: TipTapNode;
1520
+ align?: "left" | "center" | "right" | undefined;
1521
+ }>, z.ZodObject<{
1522
+ key: z.ZodString;
1523
+ type: z.ZodLiteral<NewsletterBlockType.Button>;
1524
+ label: z.ZodString;
1525
+ url: z.ZodString;
1526
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1527
+ color: z.ZodOptional<z.ZodString>;
1528
+ }, "strip", z.ZodTypeAny, {
1529
+ type: NewsletterBlockType.Button;
1530
+ url: string;
1531
+ key: string;
1532
+ label: string;
1533
+ color?: string | undefined;
1534
+ align?: "left" | "center" | "right" | undefined;
1535
+ }, {
1536
+ type: NewsletterBlockType.Button;
1537
+ url: string;
1538
+ key: string;
1539
+ label: string;
1540
+ color?: string | undefined;
1541
+ align?: "left" | "center" | "right" | undefined;
1542
+ }>, z.ZodObject<{
1543
+ key: z.ZodString;
1544
+ type: z.ZodLiteral<NewsletterBlockType.Divider>;
1545
+ thickness: z.ZodOptional<z.ZodNumber>;
1546
+ color: z.ZodOptional<z.ZodString>;
1547
+ }, "strip", z.ZodTypeAny, {
1548
+ type: NewsletterBlockType.Divider;
1549
+ key: string;
1550
+ color?: string | undefined;
1551
+ thickness?: number | undefined;
1552
+ }, {
1553
+ type: NewsletterBlockType.Divider;
1554
+ key: string;
1555
+ color?: string | undefined;
1556
+ thickness?: number | undefined;
1557
+ }>]>, "many">;
1558
+ variables_used: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1559
+ }, "strip", z.ZodTypeAny, {
1560
+ blocks: ({
1561
+ type: NewsletterBlockType.Heading;
1562
+ key: string;
1563
+ text: string;
1564
+ level: number;
1565
+ align?: "left" | "center" | "right" | undefined;
1566
+ } | {
1567
+ type: NewsletterBlockType.Paragraph;
1568
+ key: string;
1569
+ doc: TipTapNode;
1570
+ align?: "left" | "center" | "right" | undefined;
1571
+ } | {
1572
+ type: NewsletterBlockType.Button;
1573
+ url: string;
1574
+ key: string;
1575
+ label: string;
1576
+ color?: string | undefined;
1577
+ align?: "left" | "center" | "right" | undefined;
1578
+ } | {
1579
+ type: NewsletterBlockType.Divider;
1580
+ key: string;
1581
+ color?: string | undefined;
1582
+ thickness?: number | undefined;
1583
+ })[];
1584
+ variables_used?: string[] | undefined;
1585
+ }, {
1586
+ blocks: ({
1587
+ type: NewsletterBlockType.Heading;
1588
+ key: string;
1589
+ text: string;
1590
+ level?: number | undefined;
1591
+ align?: "left" | "center" | "right" | undefined;
1592
+ } | {
1593
+ type: NewsletterBlockType.Paragraph;
1594
+ key: string;
1595
+ doc: TipTapNode;
1596
+ align?: "left" | "center" | "right" | undefined;
1597
+ } | {
1598
+ type: NewsletterBlockType.Button;
1599
+ url: string;
1600
+ key: string;
1601
+ label: string;
1602
+ color?: string | undefined;
1603
+ align?: "left" | "center" | "right" | undefined;
1604
+ } | {
1605
+ type: NewsletterBlockType.Divider;
1606
+ key: string;
1607
+ color?: string | undefined;
1608
+ thickness?: number | undefined;
1609
+ })[];
1610
+ variables_used?: string[] | undefined;
1611
+ }>;
1612
+ type NewsletterTemplateDoc = z.infer<typeof NewsletterTemplateSchemaSchema>;
1613
+ declare const NewsletterTemplateSchema: z.ZodObject<{
1614
+ type: z.ZodOptional<z.ZodLiteral<"newsletter_template">>;
1615
+ id: z.ZodNumber;
1616
+ company_id: z.ZodNullable<z.ZodNumber>;
1617
+ is_system: z.ZodOptional<z.ZodBoolean>;
1618
+ newsletter_category_id: z.ZodNumber;
1619
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1620
+ type: z.ZodOptional<z.ZodLiteral<"newsletter_category">>;
1621
+ id: z.ZodNumber;
1622
+ key: z.ZodString;
1623
+ name: z.ZodString;
1624
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1625
+ is_mandatory: z.ZodBoolean;
1626
+ is_active: z.ZodBoolean;
1627
+ sort_order: z.ZodNumber;
1628
+ created_at: z.ZodOptional<z.ZodString>;
1629
+ updated_at: z.ZodOptional<z.ZodString>;
1630
+ }, "strip", z.ZodTypeAny, {
1631
+ name: string;
1632
+ id: number;
1633
+ key: string;
1634
+ is_active: boolean;
1635
+ sort_order: number;
1636
+ is_mandatory: boolean;
1637
+ type?: "newsletter_category" | undefined;
1638
+ created_at?: string | undefined;
1639
+ updated_at?: string | undefined;
1640
+ description?: string | null | undefined;
1641
+ }, {
1642
+ name: string;
1643
+ id: number;
1644
+ key: string;
1645
+ is_active: boolean;
1646
+ sort_order: number;
1647
+ is_mandatory: boolean;
1648
+ type?: "newsletter_category" | undefined;
1649
+ created_at?: string | undefined;
1650
+ updated_at?: string | undefined;
1651
+ description?: string | null | undefined;
1652
+ }>>>;
1653
+ name: z.ZodString;
1654
+ slug: z.ZodString;
1655
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1656
+ subject: z.ZodString;
1657
+ preheader: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1658
+ schema: z.ZodObject<{
1659
+ blocks: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1660
+ key: z.ZodString;
1661
+ type: z.ZodLiteral<NewsletterBlockType.Heading>;
1662
+ level: z.ZodDefault<z.ZodNumber>;
1663
+ text: z.ZodString;
1664
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1665
+ }, "strip", z.ZodTypeAny, {
1666
+ type: NewsletterBlockType.Heading;
1667
+ key: string;
1668
+ text: string;
1669
+ level: number;
1670
+ align?: "left" | "center" | "right" | undefined;
1671
+ }, {
1672
+ type: NewsletterBlockType.Heading;
1673
+ key: string;
1674
+ text: string;
1675
+ level?: number | undefined;
1676
+ align?: "left" | "center" | "right" | undefined;
1677
+ }>, z.ZodObject<{
1678
+ key: z.ZodString;
1679
+ type: z.ZodLiteral<NewsletterBlockType.Paragraph>;
1680
+ doc: z.ZodType<TipTapNode, z.ZodTypeDef, TipTapNode>;
1681
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1682
+ }, "strip", z.ZodTypeAny, {
1683
+ type: NewsletterBlockType.Paragraph;
1684
+ key: string;
1685
+ doc: TipTapNode;
1686
+ align?: "left" | "center" | "right" | undefined;
1687
+ }, {
1688
+ type: NewsletterBlockType.Paragraph;
1689
+ key: string;
1690
+ doc: TipTapNode;
1691
+ align?: "left" | "center" | "right" | undefined;
1692
+ }>, z.ZodObject<{
1693
+ key: z.ZodString;
1694
+ type: z.ZodLiteral<NewsletterBlockType.Button>;
1695
+ label: z.ZodString;
1696
+ url: z.ZodString;
1697
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1698
+ color: z.ZodOptional<z.ZodString>;
1699
+ }, "strip", z.ZodTypeAny, {
1700
+ type: NewsletterBlockType.Button;
1701
+ url: string;
1702
+ key: string;
1703
+ label: string;
1704
+ color?: string | undefined;
1705
+ align?: "left" | "center" | "right" | undefined;
1706
+ }, {
1707
+ type: NewsletterBlockType.Button;
1708
+ url: string;
1709
+ key: string;
1710
+ label: string;
1711
+ color?: string | undefined;
1712
+ align?: "left" | "center" | "right" | undefined;
1713
+ }>, z.ZodObject<{
1714
+ key: z.ZodString;
1715
+ type: z.ZodLiteral<NewsletterBlockType.Divider>;
1716
+ thickness: z.ZodOptional<z.ZodNumber>;
1717
+ color: z.ZodOptional<z.ZodString>;
1718
+ }, "strip", z.ZodTypeAny, {
1719
+ type: NewsletterBlockType.Divider;
1720
+ key: string;
1721
+ color?: string | undefined;
1722
+ thickness?: number | undefined;
1723
+ }, {
1724
+ type: NewsletterBlockType.Divider;
1725
+ key: string;
1726
+ color?: string | undefined;
1727
+ thickness?: number | undefined;
1728
+ }>]>, "many">;
1729
+ variables_used: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1730
+ }, "strip", z.ZodTypeAny, {
1731
+ blocks: ({
1732
+ type: NewsletterBlockType.Heading;
1733
+ key: string;
1734
+ text: string;
1735
+ level: number;
1736
+ align?: "left" | "center" | "right" | undefined;
1737
+ } | {
1738
+ type: NewsletterBlockType.Paragraph;
1739
+ key: string;
1740
+ doc: TipTapNode;
1741
+ align?: "left" | "center" | "right" | undefined;
1742
+ } | {
1743
+ type: NewsletterBlockType.Button;
1744
+ url: string;
1745
+ key: string;
1746
+ label: string;
1747
+ color?: string | undefined;
1748
+ align?: "left" | "center" | "right" | undefined;
1749
+ } | {
1750
+ type: NewsletterBlockType.Divider;
1751
+ key: string;
1752
+ color?: string | undefined;
1753
+ thickness?: number | undefined;
1754
+ })[];
1755
+ variables_used?: string[] | undefined;
1756
+ }, {
1757
+ blocks: ({
1758
+ type: NewsletterBlockType.Heading;
1759
+ key: string;
1760
+ text: string;
1761
+ level?: number | undefined;
1762
+ align?: "left" | "center" | "right" | undefined;
1763
+ } | {
1764
+ type: NewsletterBlockType.Paragraph;
1765
+ key: string;
1766
+ doc: TipTapNode;
1767
+ align?: "left" | "center" | "right" | undefined;
1768
+ } | {
1769
+ type: NewsletterBlockType.Button;
1770
+ url: string;
1771
+ key: string;
1772
+ label: string;
1773
+ color?: string | undefined;
1774
+ align?: "left" | "center" | "right" | undefined;
1775
+ } | {
1776
+ type: NewsletterBlockType.Divider;
1777
+ key: string;
1778
+ color?: string | undefined;
1779
+ thickness?: number | undefined;
1780
+ })[];
1781
+ variables_used?: string[] | undefined;
1782
+ }>;
1783
+ schema_version: z.ZodNumber;
1784
+ is_active: z.ZodBoolean;
1785
+ created_by: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1786
+ creator: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1787
+ id: z.ZodNumber;
1788
+ name: z.ZodString;
1789
+ email: z.ZodOptional<z.ZodString>;
1790
+ }, "strip", z.ZodTypeAny, {
1791
+ name: string;
1792
+ id: number;
1793
+ email?: string | undefined;
1794
+ }, {
1795
+ name: string;
1796
+ id: number;
1797
+ email?: string | undefined;
1798
+ }>>>;
1799
+ created_at: z.ZodOptional<z.ZodString>;
1800
+ updated_at: z.ZodOptional<z.ZodString>;
1801
+ }, "strip", z.ZodTypeAny, {
1802
+ name: string;
1803
+ id: number;
1804
+ is_active: boolean;
1805
+ company_id: number | null;
1806
+ schema_version: number;
1807
+ slug: string;
1808
+ schema: {
1809
+ blocks: ({
1810
+ type: NewsletterBlockType.Heading;
1811
+ key: string;
1812
+ text: string;
1813
+ level: number;
1814
+ align?: "left" | "center" | "right" | undefined;
1815
+ } | {
1816
+ type: NewsletterBlockType.Paragraph;
1817
+ key: string;
1818
+ doc: TipTapNode;
1819
+ align?: "left" | "center" | "right" | undefined;
1820
+ } | {
1821
+ type: NewsletterBlockType.Button;
1822
+ url: string;
1823
+ key: string;
1824
+ label: string;
1825
+ color?: string | undefined;
1826
+ align?: "left" | "center" | "right" | undefined;
1827
+ } | {
1828
+ type: NewsletterBlockType.Divider;
1829
+ key: string;
1830
+ color?: string | undefined;
1831
+ thickness?: number | undefined;
1832
+ })[];
1833
+ variables_used?: string[] | undefined;
1834
+ };
1835
+ newsletter_category_id: number;
1836
+ subject: string;
1837
+ type?: "newsletter_template" | undefined;
1838
+ created_at?: string | undefined;
1839
+ updated_at?: string | undefined;
1840
+ description?: string | null | undefined;
1841
+ category?: {
1842
+ name: string;
1843
+ id: number;
1844
+ key: string;
1845
+ is_active: boolean;
1846
+ sort_order: number;
1847
+ is_mandatory: boolean;
1848
+ type?: "newsletter_category" | undefined;
1849
+ created_at?: string | undefined;
1850
+ updated_at?: string | undefined;
1851
+ description?: string | null | undefined;
1852
+ } | null | undefined;
1853
+ created_by?: number | null | undefined;
1854
+ creator?: {
1855
+ name: string;
1856
+ id: number;
1857
+ email?: string | undefined;
1858
+ } | null | undefined;
1859
+ is_system?: boolean | undefined;
1860
+ preheader?: string | null | undefined;
1861
+ }, {
1862
+ name: string;
1863
+ id: number;
1864
+ is_active: boolean;
1865
+ company_id: number | null;
1866
+ schema_version: number;
1867
+ slug: string;
1868
+ schema: {
1869
+ blocks: ({
1870
+ type: NewsletterBlockType.Heading;
1871
+ key: string;
1872
+ text: string;
1873
+ level?: number | undefined;
1874
+ align?: "left" | "center" | "right" | undefined;
1875
+ } | {
1876
+ type: NewsletterBlockType.Paragraph;
1877
+ key: string;
1878
+ doc: TipTapNode;
1879
+ align?: "left" | "center" | "right" | undefined;
1880
+ } | {
1881
+ type: NewsletterBlockType.Button;
1882
+ url: string;
1883
+ key: string;
1884
+ label: string;
1885
+ color?: string | undefined;
1886
+ align?: "left" | "center" | "right" | undefined;
1887
+ } | {
1888
+ type: NewsletterBlockType.Divider;
1889
+ key: string;
1890
+ color?: string | undefined;
1891
+ thickness?: number | undefined;
1892
+ })[];
1893
+ variables_used?: string[] | undefined;
1894
+ };
1895
+ newsletter_category_id: number;
1896
+ subject: string;
1897
+ type?: "newsletter_template" | undefined;
1898
+ created_at?: string | undefined;
1899
+ updated_at?: string | undefined;
1900
+ description?: string | null | undefined;
1901
+ category?: {
1902
+ name: string;
1903
+ id: number;
1904
+ key: string;
1905
+ is_active: boolean;
1906
+ sort_order: number;
1907
+ is_mandatory: boolean;
1908
+ type?: "newsletter_category" | undefined;
1909
+ created_at?: string | undefined;
1910
+ updated_at?: string | undefined;
1911
+ description?: string | null | undefined;
1912
+ } | null | undefined;
1913
+ created_by?: number | null | undefined;
1914
+ creator?: {
1915
+ name: string;
1916
+ id: number;
1917
+ email?: string | undefined;
1918
+ } | null | undefined;
1919
+ is_system?: boolean | undefined;
1920
+ preheader?: string | null | undefined;
1921
+ }>;
1922
+ type NewsletterTemplate = z.infer<typeof NewsletterTemplateSchema>;
1923
+ declare const CreateNewsletterTemplateInputSchema: z.ZodObject<{
1924
+ newsletter_category_id: z.ZodNumber;
1925
+ name: z.ZodString;
1926
+ slug: z.ZodOptional<z.ZodString>;
1927
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1928
+ subject: z.ZodString;
1929
+ preheader: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1930
+ schema: z.ZodObject<{
1931
+ blocks: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1932
+ key: z.ZodString;
1933
+ type: z.ZodLiteral<NewsletterBlockType.Heading>;
1934
+ level: z.ZodDefault<z.ZodNumber>;
1935
+ text: z.ZodString;
1936
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1937
+ }, "strip", z.ZodTypeAny, {
1938
+ type: NewsletterBlockType.Heading;
1939
+ key: string;
1940
+ text: string;
1941
+ level: number;
1942
+ align?: "left" | "center" | "right" | undefined;
1943
+ }, {
1944
+ type: NewsletterBlockType.Heading;
1945
+ key: string;
1946
+ text: string;
1947
+ level?: number | undefined;
1948
+ align?: "left" | "center" | "right" | undefined;
1949
+ }>, z.ZodObject<{
1950
+ key: z.ZodString;
1951
+ type: z.ZodLiteral<NewsletterBlockType.Paragraph>;
1952
+ doc: z.ZodType<TipTapNode, z.ZodTypeDef, TipTapNode>;
1953
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1954
+ }, "strip", z.ZodTypeAny, {
1955
+ type: NewsletterBlockType.Paragraph;
1956
+ key: string;
1957
+ doc: TipTapNode;
1958
+ align?: "left" | "center" | "right" | undefined;
1959
+ }, {
1960
+ type: NewsletterBlockType.Paragraph;
1961
+ key: string;
1962
+ doc: TipTapNode;
1963
+ align?: "left" | "center" | "right" | undefined;
1964
+ }>, z.ZodObject<{
1965
+ key: z.ZodString;
1966
+ type: z.ZodLiteral<NewsletterBlockType.Button>;
1967
+ label: z.ZodString;
1968
+ url: z.ZodString;
1969
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1970
+ color: z.ZodOptional<z.ZodString>;
1971
+ }, "strip", z.ZodTypeAny, {
1972
+ type: NewsletterBlockType.Button;
1973
+ url: string;
1974
+ key: string;
1975
+ label: string;
1976
+ color?: string | undefined;
1977
+ align?: "left" | "center" | "right" | undefined;
1978
+ }, {
1979
+ type: NewsletterBlockType.Button;
1980
+ url: string;
1981
+ key: string;
1982
+ label: string;
1983
+ color?: string | undefined;
1984
+ align?: "left" | "center" | "right" | undefined;
1985
+ }>, z.ZodObject<{
1986
+ key: z.ZodString;
1987
+ type: z.ZodLiteral<NewsletterBlockType.Divider>;
1988
+ thickness: z.ZodOptional<z.ZodNumber>;
1989
+ color: z.ZodOptional<z.ZodString>;
1990
+ }, "strip", z.ZodTypeAny, {
1991
+ type: NewsletterBlockType.Divider;
1992
+ key: string;
1993
+ color?: string | undefined;
1994
+ thickness?: number | undefined;
1995
+ }, {
1996
+ type: NewsletterBlockType.Divider;
1997
+ key: string;
1998
+ color?: string | undefined;
1999
+ thickness?: number | undefined;
2000
+ }>]>, "many">;
2001
+ variables_used: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2002
+ }, "strip", z.ZodTypeAny, {
2003
+ blocks: ({
2004
+ type: NewsletterBlockType.Heading;
2005
+ key: string;
2006
+ text: string;
2007
+ level: number;
2008
+ align?: "left" | "center" | "right" | undefined;
2009
+ } | {
2010
+ type: NewsletterBlockType.Paragraph;
2011
+ key: string;
2012
+ doc: TipTapNode;
2013
+ align?: "left" | "center" | "right" | undefined;
2014
+ } | {
2015
+ type: NewsletterBlockType.Button;
2016
+ url: string;
2017
+ key: string;
2018
+ label: string;
2019
+ color?: string | undefined;
2020
+ align?: "left" | "center" | "right" | undefined;
2021
+ } | {
2022
+ type: NewsletterBlockType.Divider;
2023
+ key: string;
2024
+ color?: string | undefined;
2025
+ thickness?: number | undefined;
2026
+ })[];
2027
+ variables_used?: string[] | undefined;
2028
+ }, {
2029
+ blocks: ({
2030
+ type: NewsletterBlockType.Heading;
2031
+ key: string;
2032
+ text: string;
2033
+ level?: number | undefined;
2034
+ align?: "left" | "center" | "right" | undefined;
2035
+ } | {
2036
+ type: NewsletterBlockType.Paragraph;
2037
+ key: string;
2038
+ doc: TipTapNode;
2039
+ align?: "left" | "center" | "right" | undefined;
2040
+ } | {
2041
+ type: NewsletterBlockType.Button;
2042
+ url: string;
2043
+ key: string;
2044
+ label: string;
2045
+ color?: string | undefined;
2046
+ align?: "left" | "center" | "right" | undefined;
2047
+ } | {
2048
+ type: NewsletterBlockType.Divider;
2049
+ key: string;
2050
+ color?: string | undefined;
2051
+ thickness?: number | undefined;
2052
+ })[];
2053
+ variables_used?: string[] | undefined;
2054
+ }>;
2055
+ is_active: z.ZodOptional<z.ZodBoolean>;
2056
+ }, "strip", z.ZodTypeAny, {
2057
+ name: string;
2058
+ schema: {
2059
+ blocks: ({
2060
+ type: NewsletterBlockType.Heading;
2061
+ key: string;
2062
+ text: string;
2063
+ level: number;
2064
+ align?: "left" | "center" | "right" | undefined;
2065
+ } | {
2066
+ type: NewsletterBlockType.Paragraph;
2067
+ key: string;
2068
+ doc: TipTapNode;
2069
+ align?: "left" | "center" | "right" | undefined;
2070
+ } | {
2071
+ type: NewsletterBlockType.Button;
2072
+ url: string;
2073
+ key: string;
2074
+ label: string;
2075
+ color?: string | undefined;
2076
+ align?: "left" | "center" | "right" | undefined;
2077
+ } | {
2078
+ type: NewsletterBlockType.Divider;
2079
+ key: string;
2080
+ color?: string | undefined;
2081
+ thickness?: number | undefined;
2082
+ })[];
2083
+ variables_used?: string[] | undefined;
2084
+ };
2085
+ newsletter_category_id: number;
2086
+ subject: string;
2087
+ description?: string | null | undefined;
2088
+ is_active?: boolean | undefined;
2089
+ slug?: string | undefined;
2090
+ preheader?: string | null | undefined;
2091
+ }, {
2092
+ name: string;
2093
+ schema: {
2094
+ blocks: ({
2095
+ type: NewsletterBlockType.Heading;
2096
+ key: string;
2097
+ text: string;
2098
+ level?: number | undefined;
2099
+ align?: "left" | "center" | "right" | undefined;
2100
+ } | {
2101
+ type: NewsletterBlockType.Paragraph;
2102
+ key: string;
2103
+ doc: TipTapNode;
2104
+ align?: "left" | "center" | "right" | undefined;
2105
+ } | {
2106
+ type: NewsletterBlockType.Button;
2107
+ url: string;
2108
+ key: string;
2109
+ label: string;
2110
+ color?: string | undefined;
2111
+ align?: "left" | "center" | "right" | undefined;
2112
+ } | {
2113
+ type: NewsletterBlockType.Divider;
2114
+ key: string;
2115
+ color?: string | undefined;
2116
+ thickness?: number | undefined;
2117
+ })[];
2118
+ variables_used?: string[] | undefined;
2119
+ };
2120
+ newsletter_category_id: number;
2121
+ subject: string;
2122
+ description?: string | null | undefined;
2123
+ is_active?: boolean | undefined;
2124
+ slug?: string | undefined;
2125
+ preheader?: string | null | undefined;
2126
+ }>;
2127
+ type CreateNewsletterTemplateInput = z.infer<typeof CreateNewsletterTemplateInputSchema>;
2128
+ type UpdateNewsletterTemplateInput = Partial<CreateNewsletterTemplateInput>;
2129
+ declare enum AudienceBucketType {
2130
+ AllUsers = "all_users",
2131
+ CompanyUsers = "company_users",
2132
+ RoleMembers = "role_members"
2133
+ }
2134
+ declare const AllUsersBucketSchema: z.ZodObject<{
2135
+ type: z.ZodLiteral<AudienceBucketType.AllUsers>;
2136
+ }, "strip", z.ZodTypeAny, {
2137
+ type: AudienceBucketType.AllUsers;
2138
+ }, {
2139
+ type: AudienceBucketType.AllUsers;
2140
+ }>;
2141
+ declare const CompanyUsersBucketSchema: z.ZodObject<{
2142
+ type: z.ZodLiteral<AudienceBucketType.CompanyUsers>;
2143
+ company_ids: z.ZodArray<z.ZodNumber, "many">;
2144
+ }, "strip", z.ZodTypeAny, {
2145
+ type: AudienceBucketType.CompanyUsers;
2146
+ company_ids: number[];
2147
+ }, {
2148
+ type: AudienceBucketType.CompanyUsers;
2149
+ company_ids: number[];
2150
+ }>;
2151
+ declare const RoleMembersBucketSchema: z.ZodObject<{
2152
+ type: z.ZodLiteral<AudienceBucketType.RoleMembers>;
2153
+ role_ids: z.ZodArray<z.ZodNumber, "many">;
2154
+ }, "strip", z.ZodTypeAny, {
2155
+ type: AudienceBucketType.RoleMembers;
2156
+ role_ids: number[];
2157
+ }, {
2158
+ type: AudienceBucketType.RoleMembers;
2159
+ role_ids: number[];
2160
+ }>;
2161
+ declare const AudienceBucketSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2162
+ type: z.ZodLiteral<AudienceBucketType.AllUsers>;
2163
+ }, "strip", z.ZodTypeAny, {
2164
+ type: AudienceBucketType.AllUsers;
2165
+ }, {
2166
+ type: AudienceBucketType.AllUsers;
2167
+ }>, z.ZodObject<{
2168
+ type: z.ZodLiteral<AudienceBucketType.CompanyUsers>;
2169
+ company_ids: z.ZodArray<z.ZodNumber, "many">;
2170
+ }, "strip", z.ZodTypeAny, {
2171
+ type: AudienceBucketType.CompanyUsers;
2172
+ company_ids: number[];
2173
+ }, {
2174
+ type: AudienceBucketType.CompanyUsers;
2175
+ company_ids: number[];
2176
+ }>, z.ZodObject<{
2177
+ type: z.ZodLiteral<AudienceBucketType.RoleMembers>;
2178
+ role_ids: z.ZodArray<z.ZodNumber, "many">;
2179
+ }, "strip", z.ZodTypeAny, {
2180
+ type: AudienceBucketType.RoleMembers;
2181
+ role_ids: number[];
2182
+ }, {
2183
+ type: AudienceBucketType.RoleMembers;
2184
+ role_ids: number[];
2185
+ }>]>;
2186
+ declare const NewsletterAudienceSchema: z.ZodObject<{
2187
+ version: z.ZodLiteral<1>;
2188
+ include: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2189
+ type: z.ZodLiteral<AudienceBucketType.AllUsers>;
2190
+ }, "strip", z.ZodTypeAny, {
2191
+ type: AudienceBucketType.AllUsers;
2192
+ }, {
2193
+ type: AudienceBucketType.AllUsers;
2194
+ }>, z.ZodObject<{
2195
+ type: z.ZodLiteral<AudienceBucketType.CompanyUsers>;
2196
+ company_ids: z.ZodArray<z.ZodNumber, "many">;
2197
+ }, "strip", z.ZodTypeAny, {
2198
+ type: AudienceBucketType.CompanyUsers;
2199
+ company_ids: number[];
2200
+ }, {
2201
+ type: AudienceBucketType.CompanyUsers;
2202
+ company_ids: number[];
2203
+ }>, z.ZodObject<{
2204
+ type: z.ZodLiteral<AudienceBucketType.RoleMembers>;
2205
+ role_ids: z.ZodArray<z.ZodNumber, "many">;
2206
+ }, "strip", z.ZodTypeAny, {
2207
+ type: AudienceBucketType.RoleMembers;
2208
+ role_ids: number[];
2209
+ }, {
2210
+ type: AudienceBucketType.RoleMembers;
2211
+ role_ids: number[];
2212
+ }>]>, "many">;
2213
+ exclude: z.ZodOptional<z.ZodObject<{
2214
+ emails: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2215
+ user_ids: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
2216
+ }, "strip", z.ZodTypeAny, {
2217
+ emails?: string[] | undefined;
2218
+ user_ids?: number[] | undefined;
2219
+ }, {
2220
+ emails?: string[] | undefined;
2221
+ user_ids?: number[] | undefined;
2222
+ }>>;
2223
+ }, "strip", z.ZodTypeAny, {
2224
+ version: 1;
2225
+ include: ({
2226
+ type: AudienceBucketType.AllUsers;
2227
+ } | {
2228
+ type: AudienceBucketType.CompanyUsers;
2229
+ company_ids: number[];
2230
+ } | {
2231
+ type: AudienceBucketType.RoleMembers;
2232
+ role_ids: number[];
2233
+ })[];
2234
+ exclude?: {
2235
+ emails?: string[] | undefined;
2236
+ user_ids?: number[] | undefined;
2237
+ } | undefined;
2238
+ }, {
2239
+ version: 1;
2240
+ include: ({
2241
+ type: AudienceBucketType.AllUsers;
2242
+ } | {
2243
+ type: AudienceBucketType.CompanyUsers;
2244
+ company_ids: number[];
2245
+ } | {
2246
+ type: AudienceBucketType.RoleMembers;
2247
+ role_ids: number[];
2248
+ })[];
2249
+ exclude?: {
2250
+ emails?: string[] | undefined;
2251
+ user_ids?: number[] | undefined;
2252
+ } | undefined;
2253
+ }>;
2254
+ type AudienceBucket = z.infer<typeof AudienceBucketSchema>;
2255
+ type NewsletterAudience = z.infer<typeof NewsletterAudienceSchema>;
2256
+ /**
2257
+ * Company-admin audience rule: the role selection is the sole determinant.
2258
+ * No roles selected → the whole company (company_users). One or more roles
2259
+ * → only those role-holders (role_members), and the company-wide bucket is
2260
+ * dropped so the send-time union (ResolveCampaignAudienceAction) cannot
2261
+ * widen the audience back to everyone.
2262
+ */
2263
+ declare function companyAudienceInclude(companyId: number, roleIds: number[]): AudienceBucket[];
2264
+ declare enum NewsletterCampaignStatus {
2265
+ Draft = "draft",
2266
+ Scheduled = "scheduled",
2267
+ Sending = "sending",
2268
+ Sent = "sent",
2269
+ Failed = "failed",
2270
+ Cancelled = "cancelled"
2271
+ }
2272
+ declare const NewsletterCampaignSchema: z.ZodObject<{
2273
+ type: z.ZodOptional<z.ZodLiteral<"newsletter_campaign">>;
2274
+ id: z.ZodNumber;
2275
+ company_id: z.ZodNullable<z.ZodNumber>;
2276
+ is_system: z.ZodOptional<z.ZodBoolean>;
2277
+ newsletter_template_id: z.ZodNullable<z.ZodNumber>;
2278
+ template: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2279
+ type: z.ZodOptional<z.ZodOptional<z.ZodLiteral<"newsletter_template">>>;
2280
+ id: z.ZodOptional<z.ZodNumber>;
2281
+ company_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2282
+ is_system: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2283
+ newsletter_category_id: z.ZodOptional<z.ZodNumber>;
2284
+ category: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
2285
+ type: z.ZodOptional<z.ZodLiteral<"newsletter_category">>;
2286
+ id: z.ZodNumber;
2287
+ key: z.ZodString;
2288
+ name: z.ZodString;
2289
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2290
+ is_mandatory: z.ZodBoolean;
2291
+ is_active: z.ZodBoolean;
2292
+ sort_order: z.ZodNumber;
2293
+ created_at: z.ZodOptional<z.ZodString>;
2294
+ updated_at: z.ZodOptional<z.ZodString>;
2295
+ }, "strip", z.ZodTypeAny, {
2296
+ name: string;
2297
+ id: number;
2298
+ key: string;
2299
+ is_active: boolean;
2300
+ sort_order: number;
2301
+ is_mandatory: boolean;
2302
+ type?: "newsletter_category" | undefined;
2303
+ created_at?: string | undefined;
2304
+ updated_at?: string | undefined;
2305
+ description?: string | null | undefined;
2306
+ }, {
2307
+ name: string;
2308
+ id: number;
2309
+ key: string;
2310
+ is_active: boolean;
2311
+ sort_order: number;
2312
+ is_mandatory: boolean;
2313
+ type?: "newsletter_category" | undefined;
2314
+ created_at?: string | undefined;
2315
+ updated_at?: string | undefined;
2316
+ description?: string | null | undefined;
2317
+ }>>>>;
2318
+ name: z.ZodOptional<z.ZodString>;
2319
+ slug: z.ZodOptional<z.ZodString>;
2320
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
2321
+ subject: z.ZodOptional<z.ZodString>;
2322
+ preheader: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
2323
+ schema: z.ZodOptional<z.ZodObject<{
2324
+ blocks: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2325
+ key: z.ZodString;
2326
+ type: z.ZodLiteral<NewsletterBlockType.Heading>;
2327
+ level: z.ZodDefault<z.ZodNumber>;
2328
+ text: z.ZodString;
2329
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
2330
+ }, "strip", z.ZodTypeAny, {
2331
+ type: NewsletterBlockType.Heading;
2332
+ key: string;
2333
+ text: string;
2334
+ level: number;
2335
+ align?: "left" | "center" | "right" | undefined;
2336
+ }, {
2337
+ type: NewsletterBlockType.Heading;
2338
+ key: string;
2339
+ text: string;
2340
+ level?: number | undefined;
2341
+ align?: "left" | "center" | "right" | undefined;
2342
+ }>, z.ZodObject<{
2343
+ key: z.ZodString;
2344
+ type: z.ZodLiteral<NewsletterBlockType.Paragraph>;
2345
+ doc: z.ZodType<TipTapNode, z.ZodTypeDef, TipTapNode>;
2346
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
2347
+ }, "strip", z.ZodTypeAny, {
2348
+ type: NewsletterBlockType.Paragraph;
2349
+ key: string;
2350
+ doc: TipTapNode;
2351
+ align?: "left" | "center" | "right" | undefined;
2352
+ }, {
2353
+ type: NewsletterBlockType.Paragraph;
2354
+ key: string;
2355
+ doc: TipTapNode;
2356
+ align?: "left" | "center" | "right" | undefined;
2357
+ }>, z.ZodObject<{
2358
+ key: z.ZodString;
2359
+ type: z.ZodLiteral<NewsletterBlockType.Button>;
2360
+ label: z.ZodString;
2361
+ url: z.ZodString;
2362
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
2363
+ color: z.ZodOptional<z.ZodString>;
2364
+ }, "strip", z.ZodTypeAny, {
2365
+ type: NewsletterBlockType.Button;
2366
+ url: string;
2367
+ key: string;
2368
+ label: string;
2369
+ color?: string | undefined;
2370
+ align?: "left" | "center" | "right" | undefined;
2371
+ }, {
2372
+ type: NewsletterBlockType.Button;
2373
+ url: string;
2374
+ key: string;
2375
+ label: string;
2376
+ color?: string | undefined;
2377
+ align?: "left" | "center" | "right" | undefined;
2378
+ }>, z.ZodObject<{
2379
+ key: z.ZodString;
2380
+ type: z.ZodLiteral<NewsletterBlockType.Divider>;
2381
+ thickness: z.ZodOptional<z.ZodNumber>;
2382
+ color: z.ZodOptional<z.ZodString>;
2383
+ }, "strip", z.ZodTypeAny, {
2384
+ type: NewsletterBlockType.Divider;
2385
+ key: string;
2386
+ color?: string | undefined;
2387
+ thickness?: number | undefined;
2388
+ }, {
2389
+ type: NewsletterBlockType.Divider;
2390
+ key: string;
2391
+ color?: string | undefined;
2392
+ thickness?: number | undefined;
2393
+ }>]>, "many">;
2394
+ variables_used: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2395
+ }, "strip", z.ZodTypeAny, {
2396
+ blocks: ({
2397
+ type: NewsletterBlockType.Heading;
2398
+ key: string;
2399
+ text: string;
2400
+ level: number;
2401
+ align?: "left" | "center" | "right" | undefined;
2402
+ } | {
2403
+ type: NewsletterBlockType.Paragraph;
2404
+ key: string;
2405
+ doc: TipTapNode;
2406
+ align?: "left" | "center" | "right" | undefined;
2407
+ } | {
2408
+ type: NewsletterBlockType.Button;
2409
+ url: string;
2410
+ key: string;
2411
+ label: string;
2412
+ color?: string | undefined;
2413
+ align?: "left" | "center" | "right" | undefined;
2414
+ } | {
2415
+ type: NewsletterBlockType.Divider;
2416
+ key: string;
2417
+ color?: string | undefined;
2418
+ thickness?: number | undefined;
2419
+ })[];
2420
+ variables_used?: string[] | undefined;
2421
+ }, {
2422
+ blocks: ({
2423
+ type: NewsletterBlockType.Heading;
2424
+ key: string;
2425
+ text: string;
2426
+ level?: number | undefined;
2427
+ align?: "left" | "center" | "right" | undefined;
2428
+ } | {
2429
+ type: NewsletterBlockType.Paragraph;
2430
+ key: string;
2431
+ doc: TipTapNode;
2432
+ align?: "left" | "center" | "right" | undefined;
2433
+ } | {
2434
+ type: NewsletterBlockType.Button;
2435
+ url: string;
2436
+ key: string;
2437
+ label: string;
2438
+ color?: string | undefined;
2439
+ align?: "left" | "center" | "right" | undefined;
2440
+ } | {
2441
+ type: NewsletterBlockType.Divider;
2442
+ key: string;
2443
+ color?: string | undefined;
2444
+ thickness?: number | undefined;
2445
+ })[];
2446
+ variables_used?: string[] | undefined;
2447
+ }>>;
2448
+ schema_version: z.ZodOptional<z.ZodNumber>;
2449
+ is_active: z.ZodOptional<z.ZodBoolean>;
2450
+ created_by: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
2451
+ creator: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
2452
+ id: z.ZodNumber;
2453
+ name: z.ZodString;
2454
+ email: z.ZodOptional<z.ZodString>;
2455
+ }, "strip", z.ZodTypeAny, {
2456
+ name: string;
2457
+ id: number;
2458
+ email?: string | undefined;
2459
+ }, {
2460
+ name: string;
2461
+ id: number;
2462
+ email?: string | undefined;
2463
+ }>>>>;
2464
+ created_at: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2465
+ updated_at: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2466
+ }, "strip", z.ZodTypeAny, {
2467
+ name?: string | undefined;
2468
+ type?: "newsletter_template" | undefined;
2469
+ id?: number | undefined;
2470
+ created_at?: string | undefined;
2471
+ updated_at?: string | undefined;
2472
+ description?: string | null | undefined;
2473
+ is_active?: boolean | undefined;
2474
+ company_id?: number | null | undefined;
2475
+ schema_version?: number | undefined;
2476
+ category?: {
2477
+ name: string;
2478
+ id: number;
2479
+ key: string;
2480
+ is_active: boolean;
2481
+ sort_order: number;
2482
+ is_mandatory: boolean;
2483
+ type?: "newsletter_category" | undefined;
2484
+ created_at?: string | undefined;
2485
+ updated_at?: string | undefined;
2486
+ description?: string | null | undefined;
2487
+ } | null | undefined;
2488
+ created_by?: number | null | undefined;
2489
+ slug?: string | undefined;
2490
+ creator?: {
2491
+ name: string;
2492
+ id: number;
2493
+ email?: string | undefined;
2494
+ } | null | undefined;
2495
+ schema?: {
2496
+ blocks: ({
2497
+ type: NewsletterBlockType.Heading;
2498
+ key: string;
2499
+ text: string;
2500
+ level: number;
2501
+ align?: "left" | "center" | "right" | undefined;
2502
+ } | {
2503
+ type: NewsletterBlockType.Paragraph;
2504
+ key: string;
2505
+ doc: TipTapNode;
2506
+ align?: "left" | "center" | "right" | undefined;
2507
+ } | {
2508
+ type: NewsletterBlockType.Button;
2509
+ url: string;
2510
+ key: string;
2511
+ label: string;
2512
+ color?: string | undefined;
2513
+ align?: "left" | "center" | "right" | undefined;
2514
+ } | {
2515
+ type: NewsletterBlockType.Divider;
2516
+ key: string;
2517
+ color?: string | undefined;
2518
+ thickness?: number | undefined;
2519
+ })[];
2520
+ variables_used?: string[] | undefined;
2521
+ } | undefined;
2522
+ is_system?: boolean | undefined;
2523
+ newsletter_category_id?: number | undefined;
2524
+ subject?: string | undefined;
2525
+ preheader?: string | null | undefined;
2526
+ }, {
2527
+ name?: string | undefined;
2528
+ type?: "newsletter_template" | undefined;
2529
+ id?: number | undefined;
2530
+ created_at?: string | undefined;
2531
+ updated_at?: string | undefined;
2532
+ description?: string | null | undefined;
2533
+ is_active?: boolean | undefined;
2534
+ company_id?: number | null | undefined;
2535
+ schema_version?: number | undefined;
2536
+ category?: {
2537
+ name: string;
2538
+ id: number;
2539
+ key: string;
2540
+ is_active: boolean;
2541
+ sort_order: number;
2542
+ is_mandatory: boolean;
2543
+ type?: "newsletter_category" | undefined;
2544
+ created_at?: string | undefined;
2545
+ updated_at?: string | undefined;
2546
+ description?: string | null | undefined;
2547
+ } | null | undefined;
2548
+ created_by?: number | null | undefined;
2549
+ slug?: string | undefined;
2550
+ creator?: {
2551
+ name: string;
2552
+ id: number;
2553
+ email?: string | undefined;
2554
+ } | null | undefined;
2555
+ schema?: {
2556
+ blocks: ({
2557
+ type: NewsletterBlockType.Heading;
2558
+ key: string;
2559
+ text: string;
2560
+ level?: number | undefined;
2561
+ align?: "left" | "center" | "right" | undefined;
2562
+ } | {
2563
+ type: NewsletterBlockType.Paragraph;
2564
+ key: string;
2565
+ doc: TipTapNode;
2566
+ align?: "left" | "center" | "right" | undefined;
2567
+ } | {
2568
+ type: NewsletterBlockType.Button;
2569
+ url: string;
2570
+ key: string;
2571
+ label: string;
2572
+ color?: string | undefined;
2573
+ align?: "left" | "center" | "right" | undefined;
2574
+ } | {
2575
+ type: NewsletterBlockType.Divider;
2576
+ key: string;
2577
+ color?: string | undefined;
2578
+ thickness?: number | undefined;
2579
+ })[];
2580
+ variables_used?: string[] | undefined;
2581
+ } | undefined;
2582
+ is_system?: boolean | undefined;
2583
+ newsletter_category_id?: number | undefined;
2584
+ subject?: string | undefined;
2585
+ preheader?: string | null | undefined;
2586
+ }>>>;
2587
+ newsletter_category_id: z.ZodNumber;
2588
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2589
+ type: z.ZodOptional<z.ZodLiteral<"newsletter_category">>;
2590
+ id: z.ZodNumber;
2591
+ key: z.ZodString;
2592
+ name: z.ZodString;
2593
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2594
+ is_mandatory: z.ZodBoolean;
2595
+ is_active: z.ZodBoolean;
2596
+ sort_order: z.ZodNumber;
2597
+ created_at: z.ZodOptional<z.ZodString>;
2598
+ updated_at: z.ZodOptional<z.ZodString>;
2599
+ }, "strip", z.ZodTypeAny, {
2600
+ name: string;
2601
+ id: number;
2602
+ key: string;
2603
+ is_active: boolean;
2604
+ sort_order: number;
2605
+ is_mandatory: boolean;
2606
+ type?: "newsletter_category" | undefined;
2607
+ created_at?: string | undefined;
2608
+ updated_at?: string | undefined;
2609
+ description?: string | null | undefined;
2610
+ }, {
2611
+ name: string;
2612
+ id: number;
2613
+ key: string;
2614
+ is_active: boolean;
2615
+ sort_order: number;
2616
+ is_mandatory: boolean;
2617
+ type?: "newsletter_category" | undefined;
2618
+ created_at?: string | undefined;
2619
+ updated_at?: string | undefined;
2620
+ description?: string | null | undefined;
2621
+ }>>>;
2622
+ name: z.ZodString;
2623
+ subject: z.ZodString;
2624
+ preheader: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2625
+ schema_snapshot: z.ZodObject<{
2626
+ blocks: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2627
+ key: z.ZodString;
2628
+ type: z.ZodLiteral<NewsletterBlockType.Heading>;
2629
+ level: z.ZodDefault<z.ZodNumber>;
2630
+ text: z.ZodString;
2631
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
2632
+ }, "strip", z.ZodTypeAny, {
2633
+ type: NewsletterBlockType.Heading;
2634
+ key: string;
2635
+ text: string;
2636
+ level: number;
2637
+ align?: "left" | "center" | "right" | undefined;
2638
+ }, {
2639
+ type: NewsletterBlockType.Heading;
2640
+ key: string;
2641
+ text: string;
2642
+ level?: number | undefined;
2643
+ align?: "left" | "center" | "right" | undefined;
2644
+ }>, z.ZodObject<{
2645
+ key: z.ZodString;
2646
+ type: z.ZodLiteral<NewsletterBlockType.Paragraph>;
2647
+ doc: z.ZodType<TipTapNode, z.ZodTypeDef, TipTapNode>;
2648
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
2649
+ }, "strip", z.ZodTypeAny, {
2650
+ type: NewsletterBlockType.Paragraph;
2651
+ key: string;
2652
+ doc: TipTapNode;
2653
+ align?: "left" | "center" | "right" | undefined;
2654
+ }, {
2655
+ type: NewsletterBlockType.Paragraph;
2656
+ key: string;
2657
+ doc: TipTapNode;
2658
+ align?: "left" | "center" | "right" | undefined;
2659
+ }>, z.ZodObject<{
2660
+ key: z.ZodString;
2661
+ type: z.ZodLiteral<NewsletterBlockType.Button>;
2662
+ label: z.ZodString;
2663
+ url: z.ZodString;
2664
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
2665
+ color: z.ZodOptional<z.ZodString>;
2666
+ }, "strip", z.ZodTypeAny, {
2667
+ type: NewsletterBlockType.Button;
2668
+ url: string;
2669
+ key: string;
2670
+ label: string;
2671
+ color?: string | undefined;
2672
+ align?: "left" | "center" | "right" | undefined;
2673
+ }, {
2674
+ type: NewsletterBlockType.Button;
2675
+ url: string;
2676
+ key: string;
2677
+ label: string;
2678
+ color?: string | undefined;
2679
+ align?: "left" | "center" | "right" | undefined;
2680
+ }>, z.ZodObject<{
2681
+ key: z.ZodString;
2682
+ type: z.ZodLiteral<NewsletterBlockType.Divider>;
2683
+ thickness: z.ZodOptional<z.ZodNumber>;
2684
+ color: z.ZodOptional<z.ZodString>;
2685
+ }, "strip", z.ZodTypeAny, {
2686
+ type: NewsletterBlockType.Divider;
2687
+ key: string;
2688
+ color?: string | undefined;
2689
+ thickness?: number | undefined;
2690
+ }, {
2691
+ type: NewsletterBlockType.Divider;
2692
+ key: string;
2693
+ color?: string | undefined;
2694
+ thickness?: number | undefined;
2695
+ }>]>, "many">;
2696
+ variables_used: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2697
+ }, "strip", z.ZodTypeAny, {
2698
+ blocks: ({
2699
+ type: NewsletterBlockType.Heading;
2700
+ key: string;
2701
+ text: string;
2702
+ level: number;
2703
+ align?: "left" | "center" | "right" | undefined;
2704
+ } | {
2705
+ type: NewsletterBlockType.Paragraph;
2706
+ key: string;
2707
+ doc: TipTapNode;
2708
+ align?: "left" | "center" | "right" | undefined;
2709
+ } | {
2710
+ type: NewsletterBlockType.Button;
2711
+ url: string;
2712
+ key: string;
2713
+ label: string;
2714
+ color?: string | undefined;
2715
+ align?: "left" | "center" | "right" | undefined;
2716
+ } | {
2717
+ type: NewsletterBlockType.Divider;
2718
+ key: string;
2719
+ color?: string | undefined;
2720
+ thickness?: number | undefined;
2721
+ })[];
2722
+ variables_used?: string[] | undefined;
2723
+ }, {
2724
+ blocks: ({
2725
+ type: NewsletterBlockType.Heading;
2726
+ key: string;
2727
+ text: string;
2728
+ level?: number | undefined;
2729
+ align?: "left" | "center" | "right" | undefined;
2730
+ } | {
2731
+ type: NewsletterBlockType.Paragraph;
2732
+ key: string;
2733
+ doc: TipTapNode;
2734
+ align?: "left" | "center" | "right" | undefined;
2735
+ } | {
2736
+ type: NewsletterBlockType.Button;
2737
+ url: string;
2738
+ key: string;
2739
+ label: string;
2740
+ color?: string | undefined;
2741
+ align?: "left" | "center" | "right" | undefined;
2742
+ } | {
2743
+ type: NewsletterBlockType.Divider;
2744
+ key: string;
2745
+ color?: string | undefined;
2746
+ thickness?: number | undefined;
2747
+ })[];
2748
+ variables_used?: string[] | undefined;
2749
+ }>;
2750
+ variables: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
2751
+ audience_definition: z.ZodObject<{
2752
+ version: z.ZodLiteral<1>;
2753
+ include: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2754
+ type: z.ZodLiteral<AudienceBucketType.AllUsers>;
2755
+ }, "strip", z.ZodTypeAny, {
2756
+ type: AudienceBucketType.AllUsers;
2757
+ }, {
2758
+ type: AudienceBucketType.AllUsers;
2759
+ }>, z.ZodObject<{
2760
+ type: z.ZodLiteral<AudienceBucketType.CompanyUsers>;
2761
+ company_ids: z.ZodArray<z.ZodNumber, "many">;
2762
+ }, "strip", z.ZodTypeAny, {
2763
+ type: AudienceBucketType.CompanyUsers;
2764
+ company_ids: number[];
2765
+ }, {
2766
+ type: AudienceBucketType.CompanyUsers;
2767
+ company_ids: number[];
2768
+ }>, z.ZodObject<{
2769
+ type: z.ZodLiteral<AudienceBucketType.RoleMembers>;
2770
+ role_ids: z.ZodArray<z.ZodNumber, "many">;
2771
+ }, "strip", z.ZodTypeAny, {
2772
+ type: AudienceBucketType.RoleMembers;
2773
+ role_ids: number[];
2774
+ }, {
2775
+ type: AudienceBucketType.RoleMembers;
2776
+ role_ids: number[];
2777
+ }>]>, "many">;
2778
+ exclude: z.ZodOptional<z.ZodObject<{
2779
+ emails: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2780
+ user_ids: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
2781
+ }, "strip", z.ZodTypeAny, {
2782
+ emails?: string[] | undefined;
2783
+ user_ids?: number[] | undefined;
2784
+ }, {
2785
+ emails?: string[] | undefined;
2786
+ user_ids?: number[] | undefined;
2787
+ }>>;
2788
+ }, "strip", z.ZodTypeAny, {
2789
+ version: 1;
2790
+ include: ({
2791
+ type: AudienceBucketType.AllUsers;
2792
+ } | {
2793
+ type: AudienceBucketType.CompanyUsers;
2794
+ company_ids: number[];
2795
+ } | {
2796
+ type: AudienceBucketType.RoleMembers;
2797
+ role_ids: number[];
2798
+ })[];
2799
+ exclude?: {
2800
+ emails?: string[] | undefined;
2801
+ user_ids?: number[] | undefined;
2802
+ } | undefined;
2803
+ }, {
2804
+ version: 1;
2805
+ include: ({
2806
+ type: AudienceBucketType.AllUsers;
2807
+ } | {
2808
+ type: AudienceBucketType.CompanyUsers;
2809
+ company_ids: number[];
2810
+ } | {
2811
+ type: AudienceBucketType.RoleMembers;
2812
+ role_ids: number[];
2813
+ })[];
2814
+ exclude?: {
2815
+ emails?: string[] | undefined;
2816
+ user_ids?: number[] | undefined;
2817
+ } | undefined;
2818
+ }>;
2819
+ status: z.ZodNativeEnum<typeof NewsletterCampaignStatus>;
2820
+ scheduled_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2821
+ started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2822
+ finished_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2823
+ cancelled_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2824
+ counts: z.ZodObject<{
2825
+ queued: z.ZodNullable<z.ZodNumber>;
2826
+ sent: z.ZodNumber;
2827
+ failed: z.ZodNumber;
2828
+ bounced: z.ZodNumber;
2829
+ complained: z.ZodNumber;
2830
+ }, "strip", z.ZodTypeAny, {
2831
+ failed: number;
2832
+ sent: number;
2833
+ queued: number | null;
2834
+ bounced: number;
2835
+ complained: number;
2836
+ }, {
2837
+ failed: number;
2838
+ sent: number;
2839
+ queued: number | null;
2840
+ bounced: number;
2841
+ complained: number;
2842
+ }>;
2843
+ sent_by_user_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2844
+ sent_by: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2845
+ id: z.ZodNumber;
2846
+ name: z.ZodString;
2847
+ email: z.ZodOptional<z.ZodString>;
2848
+ }, "strip", z.ZodTypeAny, {
2849
+ name: string;
2850
+ id: number;
2851
+ email?: string | undefined;
2852
+ }, {
2853
+ name: string;
2854
+ id: number;
2855
+ email?: string | undefined;
2856
+ }>>>;
2857
+ can: z.ZodOptional<z.ZodObject<{
2858
+ update: z.ZodOptional<z.ZodBoolean>;
2859
+ schedule: z.ZodOptional<z.ZodBoolean>;
2860
+ send: z.ZodOptional<z.ZodBoolean>;
2861
+ cancel: z.ZodOptional<z.ZodBoolean>;
2862
+ test_send: z.ZodOptional<z.ZodBoolean>;
2863
+ delete: z.ZodOptional<z.ZodBoolean>;
2864
+ }, "strip", z.ZodTypeAny, {
2865
+ update?: boolean | undefined;
2866
+ delete?: boolean | undefined;
2867
+ schedule?: boolean | undefined;
2868
+ send?: boolean | undefined;
2869
+ cancel?: boolean | undefined;
2870
+ test_send?: boolean | undefined;
2871
+ }, {
2872
+ update?: boolean | undefined;
2873
+ delete?: boolean | undefined;
2874
+ schedule?: boolean | undefined;
2875
+ send?: boolean | undefined;
2876
+ cancel?: boolean | undefined;
2877
+ test_send?: boolean | undefined;
2878
+ }>>;
2879
+ created_at: z.ZodOptional<z.ZodString>;
2880
+ updated_at: z.ZodOptional<z.ZodString>;
2881
+ }, "strip", z.ZodTypeAny, {
2882
+ name: string;
2883
+ status: NewsletterCampaignStatus;
2884
+ id: number;
2885
+ company_id: number | null;
2886
+ schema_snapshot: {
2887
+ blocks: ({
2888
+ type: NewsletterBlockType.Heading;
2889
+ key: string;
2890
+ text: string;
2891
+ level: number;
2892
+ align?: "left" | "center" | "right" | undefined;
2893
+ } | {
2894
+ type: NewsletterBlockType.Paragraph;
2895
+ key: string;
2896
+ doc: TipTapNode;
2897
+ align?: "left" | "center" | "right" | undefined;
2898
+ } | {
2899
+ type: NewsletterBlockType.Button;
2900
+ url: string;
2901
+ key: string;
2902
+ label: string;
2903
+ color?: string | undefined;
2904
+ align?: "left" | "center" | "right" | undefined;
2905
+ } | {
2906
+ type: NewsletterBlockType.Divider;
2907
+ key: string;
2908
+ color?: string | undefined;
2909
+ thickness?: number | undefined;
2910
+ })[];
2911
+ variables_used?: string[] | undefined;
2912
+ };
2913
+ newsletter_category_id: number;
2914
+ subject: string;
2915
+ newsletter_template_id: number | null;
2916
+ audience_definition: {
2917
+ version: 1;
2918
+ include: ({
2919
+ type: AudienceBucketType.AllUsers;
2920
+ } | {
2921
+ type: AudienceBucketType.CompanyUsers;
2922
+ company_ids: number[];
2923
+ } | {
2924
+ type: AudienceBucketType.RoleMembers;
2925
+ role_ids: number[];
2926
+ })[];
2927
+ exclude?: {
2928
+ emails?: string[] | undefined;
2929
+ user_ids?: number[] | undefined;
2930
+ } | undefined;
2931
+ };
2932
+ counts: {
2933
+ failed: number;
2934
+ sent: number;
2935
+ queued: number | null;
2936
+ bounced: number;
2937
+ complained: number;
2938
+ };
2939
+ type?: "newsletter_campaign" | undefined;
2940
+ created_at?: string | undefined;
2941
+ updated_at?: string | undefined;
2942
+ started_at?: string | null | undefined;
2943
+ can?: {
2944
+ update?: boolean | undefined;
2945
+ delete?: boolean | undefined;
2946
+ schedule?: boolean | undefined;
2947
+ send?: boolean | undefined;
2948
+ cancel?: boolean | undefined;
2949
+ test_send?: boolean | undefined;
2950
+ } | undefined;
2951
+ category?: {
2952
+ name: string;
2953
+ id: number;
2954
+ key: string;
2955
+ is_active: boolean;
2956
+ sort_order: number;
2957
+ is_mandatory: boolean;
2958
+ type?: "newsletter_category" | undefined;
2959
+ created_at?: string | undefined;
2960
+ updated_at?: string | undefined;
2961
+ description?: string | null | undefined;
2962
+ } | null | undefined;
2963
+ scheduled_at?: string | null | undefined;
2964
+ is_system?: boolean | undefined;
2965
+ template?: {
2966
+ name?: string | undefined;
2967
+ type?: "newsletter_template" | undefined;
2968
+ id?: number | undefined;
2969
+ created_at?: string | undefined;
2970
+ updated_at?: string | undefined;
2971
+ description?: string | null | undefined;
2972
+ is_active?: boolean | undefined;
2973
+ company_id?: number | null | undefined;
2974
+ schema_version?: number | undefined;
2975
+ category?: {
2976
+ name: string;
2977
+ id: number;
2978
+ key: string;
2979
+ is_active: boolean;
2980
+ sort_order: number;
2981
+ is_mandatory: boolean;
2982
+ type?: "newsletter_category" | undefined;
2983
+ created_at?: string | undefined;
2984
+ updated_at?: string | undefined;
2985
+ description?: string | null | undefined;
2986
+ } | null | undefined;
2987
+ created_by?: number | null | undefined;
2988
+ slug?: string | undefined;
2989
+ creator?: {
2990
+ name: string;
2991
+ id: number;
2992
+ email?: string | undefined;
2993
+ } | null | undefined;
2994
+ schema?: {
2995
+ blocks: ({
2996
+ type: NewsletterBlockType.Heading;
2997
+ key: string;
2998
+ text: string;
2999
+ level: number;
3000
+ align?: "left" | "center" | "right" | undefined;
3001
+ } | {
3002
+ type: NewsletterBlockType.Paragraph;
3003
+ key: string;
3004
+ doc: TipTapNode;
3005
+ align?: "left" | "center" | "right" | undefined;
3006
+ } | {
3007
+ type: NewsletterBlockType.Button;
3008
+ url: string;
3009
+ key: string;
3010
+ label: string;
3011
+ color?: string | undefined;
3012
+ align?: "left" | "center" | "right" | undefined;
3013
+ } | {
3014
+ type: NewsletterBlockType.Divider;
3015
+ key: string;
3016
+ color?: string | undefined;
3017
+ thickness?: number | undefined;
3018
+ })[];
3019
+ variables_used?: string[] | undefined;
3020
+ } | undefined;
3021
+ is_system?: boolean | undefined;
3022
+ newsletter_category_id?: number | undefined;
3023
+ subject?: string | undefined;
3024
+ preheader?: string | null | undefined;
3025
+ } | null | undefined;
3026
+ preheader?: string | null | undefined;
3027
+ variables?: Record<string, string> | null | undefined;
3028
+ finished_at?: string | null | undefined;
3029
+ cancelled_at?: string | null | undefined;
3030
+ sent_by_user_id?: number | null | undefined;
3031
+ sent_by?: {
3032
+ name: string;
3033
+ id: number;
3034
+ email?: string | undefined;
3035
+ } | null | undefined;
3036
+ }, {
3037
+ name: string;
3038
+ status: NewsletterCampaignStatus;
3039
+ id: number;
3040
+ company_id: number | null;
3041
+ schema_snapshot: {
3042
+ blocks: ({
3043
+ type: NewsletterBlockType.Heading;
3044
+ key: string;
3045
+ text: string;
3046
+ level?: number | undefined;
3047
+ align?: "left" | "center" | "right" | undefined;
3048
+ } | {
3049
+ type: NewsletterBlockType.Paragraph;
3050
+ key: string;
3051
+ doc: TipTapNode;
3052
+ align?: "left" | "center" | "right" | undefined;
3053
+ } | {
3054
+ type: NewsletterBlockType.Button;
3055
+ url: string;
3056
+ key: string;
3057
+ label: string;
3058
+ color?: string | undefined;
3059
+ align?: "left" | "center" | "right" | undefined;
3060
+ } | {
3061
+ type: NewsletterBlockType.Divider;
3062
+ key: string;
3063
+ color?: string | undefined;
3064
+ thickness?: number | undefined;
3065
+ })[];
3066
+ variables_used?: string[] | undefined;
3067
+ };
3068
+ newsletter_category_id: number;
3069
+ subject: string;
3070
+ newsletter_template_id: number | null;
3071
+ audience_definition: {
3072
+ version: 1;
3073
+ include: ({
3074
+ type: AudienceBucketType.AllUsers;
3075
+ } | {
3076
+ type: AudienceBucketType.CompanyUsers;
3077
+ company_ids: number[];
3078
+ } | {
3079
+ type: AudienceBucketType.RoleMembers;
3080
+ role_ids: number[];
3081
+ })[];
3082
+ exclude?: {
3083
+ emails?: string[] | undefined;
3084
+ user_ids?: number[] | undefined;
3085
+ } | undefined;
3086
+ };
3087
+ counts: {
3088
+ failed: number;
3089
+ sent: number;
3090
+ queued: number | null;
3091
+ bounced: number;
3092
+ complained: number;
3093
+ };
3094
+ type?: "newsletter_campaign" | undefined;
3095
+ created_at?: string | undefined;
3096
+ updated_at?: string | undefined;
3097
+ started_at?: string | null | undefined;
3098
+ can?: {
3099
+ update?: boolean | undefined;
3100
+ delete?: boolean | undefined;
3101
+ schedule?: boolean | undefined;
3102
+ send?: boolean | undefined;
3103
+ cancel?: boolean | undefined;
3104
+ test_send?: boolean | undefined;
3105
+ } | undefined;
3106
+ category?: {
3107
+ name: string;
3108
+ id: number;
3109
+ key: string;
3110
+ is_active: boolean;
3111
+ sort_order: number;
3112
+ is_mandatory: boolean;
3113
+ type?: "newsletter_category" | undefined;
3114
+ created_at?: string | undefined;
3115
+ updated_at?: string | undefined;
3116
+ description?: string | null | undefined;
3117
+ } | null | undefined;
3118
+ scheduled_at?: string | null | undefined;
3119
+ is_system?: boolean | undefined;
3120
+ template?: {
3121
+ name?: string | undefined;
3122
+ type?: "newsletter_template" | undefined;
3123
+ id?: number | undefined;
3124
+ created_at?: string | undefined;
3125
+ updated_at?: string | undefined;
3126
+ description?: string | null | undefined;
3127
+ is_active?: boolean | undefined;
3128
+ company_id?: number | null | undefined;
3129
+ schema_version?: number | undefined;
3130
+ category?: {
3131
+ name: string;
3132
+ id: number;
3133
+ key: string;
3134
+ is_active: boolean;
3135
+ sort_order: number;
3136
+ is_mandatory: boolean;
3137
+ type?: "newsletter_category" | undefined;
3138
+ created_at?: string | undefined;
3139
+ updated_at?: string | undefined;
3140
+ description?: string | null | undefined;
3141
+ } | null | undefined;
3142
+ created_by?: number | null | undefined;
3143
+ slug?: string | undefined;
3144
+ creator?: {
3145
+ name: string;
3146
+ id: number;
3147
+ email?: string | undefined;
3148
+ } | null | undefined;
3149
+ schema?: {
3150
+ blocks: ({
3151
+ type: NewsletterBlockType.Heading;
3152
+ key: string;
3153
+ text: string;
3154
+ level?: number | undefined;
3155
+ align?: "left" | "center" | "right" | undefined;
3156
+ } | {
3157
+ type: NewsletterBlockType.Paragraph;
3158
+ key: string;
3159
+ doc: TipTapNode;
3160
+ align?: "left" | "center" | "right" | undefined;
3161
+ } | {
3162
+ type: NewsletterBlockType.Button;
3163
+ url: string;
3164
+ key: string;
3165
+ label: string;
3166
+ color?: string | undefined;
3167
+ align?: "left" | "center" | "right" | undefined;
3168
+ } | {
3169
+ type: NewsletterBlockType.Divider;
3170
+ key: string;
3171
+ color?: string | undefined;
3172
+ thickness?: number | undefined;
3173
+ })[];
3174
+ variables_used?: string[] | undefined;
3175
+ } | undefined;
3176
+ is_system?: boolean | undefined;
3177
+ newsletter_category_id?: number | undefined;
3178
+ subject?: string | undefined;
3179
+ preheader?: string | null | undefined;
3180
+ } | null | undefined;
3181
+ preheader?: string | null | undefined;
3182
+ variables?: Record<string, string> | null | undefined;
3183
+ finished_at?: string | null | undefined;
3184
+ cancelled_at?: string | null | undefined;
3185
+ sent_by_user_id?: number | null | undefined;
3186
+ sent_by?: {
3187
+ name: string;
3188
+ id: number;
3189
+ email?: string | undefined;
3190
+ } | null | undefined;
3191
+ }>;
3192
+ type NewsletterCampaign = z.infer<typeof NewsletterCampaignSchema>;
3193
+ declare const CreateNewsletterCampaignInputSchema: z.ZodObject<{
3194
+ newsletter_template_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3195
+ newsletter_category_id: z.ZodOptional<z.ZodNumber>;
3196
+ name: z.ZodString;
3197
+ subject: z.ZodOptional<z.ZodString>;
3198
+ preheader: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3199
+ schema_snapshot: z.ZodOptional<z.ZodObject<{
3200
+ blocks: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3201
+ key: z.ZodString;
3202
+ type: z.ZodLiteral<NewsletterBlockType.Heading>;
3203
+ level: z.ZodDefault<z.ZodNumber>;
3204
+ text: z.ZodString;
3205
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
3206
+ }, "strip", z.ZodTypeAny, {
3207
+ type: NewsletterBlockType.Heading;
3208
+ key: string;
3209
+ text: string;
3210
+ level: number;
3211
+ align?: "left" | "center" | "right" | undefined;
3212
+ }, {
3213
+ type: NewsletterBlockType.Heading;
3214
+ key: string;
3215
+ text: string;
3216
+ level?: number | undefined;
3217
+ align?: "left" | "center" | "right" | undefined;
3218
+ }>, z.ZodObject<{
3219
+ key: z.ZodString;
3220
+ type: z.ZodLiteral<NewsletterBlockType.Paragraph>;
3221
+ doc: z.ZodType<TipTapNode, z.ZodTypeDef, TipTapNode>;
3222
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
3223
+ }, "strip", z.ZodTypeAny, {
3224
+ type: NewsletterBlockType.Paragraph;
3225
+ key: string;
3226
+ doc: TipTapNode;
3227
+ align?: "left" | "center" | "right" | undefined;
3228
+ }, {
3229
+ type: NewsletterBlockType.Paragraph;
3230
+ key: string;
3231
+ doc: TipTapNode;
3232
+ align?: "left" | "center" | "right" | undefined;
3233
+ }>, z.ZodObject<{
3234
+ key: z.ZodString;
3235
+ type: z.ZodLiteral<NewsletterBlockType.Button>;
3236
+ label: z.ZodString;
3237
+ url: z.ZodString;
3238
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
3239
+ color: z.ZodOptional<z.ZodString>;
3240
+ }, "strip", z.ZodTypeAny, {
3241
+ type: NewsletterBlockType.Button;
3242
+ url: string;
3243
+ key: string;
3244
+ label: string;
3245
+ color?: string | undefined;
3246
+ align?: "left" | "center" | "right" | undefined;
3247
+ }, {
3248
+ type: NewsletterBlockType.Button;
3249
+ url: string;
3250
+ key: string;
3251
+ label: string;
3252
+ color?: string | undefined;
3253
+ align?: "left" | "center" | "right" | undefined;
3254
+ }>, z.ZodObject<{
3255
+ key: z.ZodString;
3256
+ type: z.ZodLiteral<NewsletterBlockType.Divider>;
3257
+ thickness: z.ZodOptional<z.ZodNumber>;
3258
+ color: z.ZodOptional<z.ZodString>;
3259
+ }, "strip", z.ZodTypeAny, {
3260
+ type: NewsletterBlockType.Divider;
3261
+ key: string;
3262
+ color?: string | undefined;
3263
+ thickness?: number | undefined;
3264
+ }, {
3265
+ type: NewsletterBlockType.Divider;
3266
+ key: string;
3267
+ color?: string | undefined;
3268
+ thickness?: number | undefined;
3269
+ }>]>, "many">;
3270
+ variables_used: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3271
+ }, "strip", z.ZodTypeAny, {
3272
+ blocks: ({
3273
+ type: NewsletterBlockType.Heading;
3274
+ key: string;
3275
+ text: string;
3276
+ level: number;
3277
+ align?: "left" | "center" | "right" | undefined;
3278
+ } | {
3279
+ type: NewsletterBlockType.Paragraph;
3280
+ key: string;
3281
+ doc: TipTapNode;
3282
+ align?: "left" | "center" | "right" | undefined;
3283
+ } | {
3284
+ type: NewsletterBlockType.Button;
3285
+ url: string;
3286
+ key: string;
3287
+ label: string;
3288
+ color?: string | undefined;
3289
+ align?: "left" | "center" | "right" | undefined;
3290
+ } | {
3291
+ type: NewsletterBlockType.Divider;
3292
+ key: string;
3293
+ color?: string | undefined;
3294
+ thickness?: number | undefined;
3295
+ })[];
3296
+ variables_used?: string[] | undefined;
3297
+ }, {
3298
+ blocks: ({
3299
+ type: NewsletterBlockType.Heading;
3300
+ key: string;
3301
+ text: string;
3302
+ level?: number | undefined;
3303
+ align?: "left" | "center" | "right" | undefined;
3304
+ } | {
3305
+ type: NewsletterBlockType.Paragraph;
3306
+ key: string;
3307
+ doc: TipTapNode;
3308
+ align?: "left" | "center" | "right" | undefined;
3309
+ } | {
3310
+ type: NewsletterBlockType.Button;
3311
+ url: string;
3312
+ key: string;
3313
+ label: string;
3314
+ color?: string | undefined;
3315
+ align?: "left" | "center" | "right" | undefined;
3316
+ } | {
3317
+ type: NewsletterBlockType.Divider;
3318
+ key: string;
3319
+ color?: string | undefined;
3320
+ thickness?: number | undefined;
3321
+ })[];
3322
+ variables_used?: string[] | undefined;
3323
+ }>>;
3324
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3325
+ audience_definition: z.ZodObject<{
3326
+ version: z.ZodLiteral<1>;
3327
+ include: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3328
+ type: z.ZodLiteral<AudienceBucketType.AllUsers>;
3329
+ }, "strip", z.ZodTypeAny, {
3330
+ type: AudienceBucketType.AllUsers;
3331
+ }, {
3332
+ type: AudienceBucketType.AllUsers;
3333
+ }>, z.ZodObject<{
3334
+ type: z.ZodLiteral<AudienceBucketType.CompanyUsers>;
3335
+ company_ids: z.ZodArray<z.ZodNumber, "many">;
3336
+ }, "strip", z.ZodTypeAny, {
3337
+ type: AudienceBucketType.CompanyUsers;
3338
+ company_ids: number[];
3339
+ }, {
3340
+ type: AudienceBucketType.CompanyUsers;
3341
+ company_ids: number[];
3342
+ }>, z.ZodObject<{
3343
+ type: z.ZodLiteral<AudienceBucketType.RoleMembers>;
3344
+ role_ids: z.ZodArray<z.ZodNumber, "many">;
3345
+ }, "strip", z.ZodTypeAny, {
3346
+ type: AudienceBucketType.RoleMembers;
3347
+ role_ids: number[];
3348
+ }, {
3349
+ type: AudienceBucketType.RoleMembers;
3350
+ role_ids: number[];
3351
+ }>]>, "many">;
3352
+ exclude: z.ZodOptional<z.ZodObject<{
3353
+ emails: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3354
+ user_ids: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
3355
+ }, "strip", z.ZodTypeAny, {
3356
+ emails?: string[] | undefined;
3357
+ user_ids?: number[] | undefined;
3358
+ }, {
3359
+ emails?: string[] | undefined;
3360
+ user_ids?: number[] | undefined;
3361
+ }>>;
3362
+ }, "strip", z.ZodTypeAny, {
3363
+ version: 1;
3364
+ include: ({
3365
+ type: AudienceBucketType.AllUsers;
3366
+ } | {
3367
+ type: AudienceBucketType.CompanyUsers;
3368
+ company_ids: number[];
3369
+ } | {
3370
+ type: AudienceBucketType.RoleMembers;
3371
+ role_ids: number[];
3372
+ })[];
3373
+ exclude?: {
3374
+ emails?: string[] | undefined;
3375
+ user_ids?: number[] | undefined;
3376
+ } | undefined;
3377
+ }, {
3378
+ version: 1;
3379
+ include: ({
3380
+ type: AudienceBucketType.AllUsers;
3381
+ } | {
3382
+ type: AudienceBucketType.CompanyUsers;
3383
+ company_ids: number[];
3384
+ } | {
3385
+ type: AudienceBucketType.RoleMembers;
3386
+ role_ids: number[];
3387
+ })[];
3388
+ exclude?: {
3389
+ emails?: string[] | undefined;
3390
+ user_ids?: number[] | undefined;
3391
+ } | undefined;
3392
+ }>;
3393
+ }, "strip", z.ZodTypeAny, {
3394
+ name: string;
3395
+ audience_definition: {
3396
+ version: 1;
3397
+ include: ({
3398
+ type: AudienceBucketType.AllUsers;
3399
+ } | {
3400
+ type: AudienceBucketType.CompanyUsers;
3401
+ company_ids: number[];
3402
+ } | {
3403
+ type: AudienceBucketType.RoleMembers;
3404
+ role_ids: number[];
3405
+ })[];
3406
+ exclude?: {
3407
+ emails?: string[] | undefined;
3408
+ user_ids?: number[] | undefined;
3409
+ } | undefined;
3410
+ };
3411
+ schema_snapshot?: {
3412
+ blocks: ({
3413
+ type: NewsletterBlockType.Heading;
3414
+ key: string;
3415
+ text: string;
3416
+ level: number;
3417
+ align?: "left" | "center" | "right" | undefined;
3418
+ } | {
3419
+ type: NewsletterBlockType.Paragraph;
3420
+ key: string;
3421
+ doc: TipTapNode;
3422
+ align?: "left" | "center" | "right" | undefined;
3423
+ } | {
3424
+ type: NewsletterBlockType.Button;
3425
+ url: string;
3426
+ key: string;
3427
+ label: string;
3428
+ color?: string | undefined;
3429
+ align?: "left" | "center" | "right" | undefined;
3430
+ } | {
3431
+ type: NewsletterBlockType.Divider;
3432
+ key: string;
3433
+ color?: string | undefined;
3434
+ thickness?: number | undefined;
3435
+ })[];
3436
+ variables_used?: string[] | undefined;
3437
+ } | undefined;
3438
+ newsletter_category_id?: number | undefined;
3439
+ subject?: string | undefined;
3440
+ preheader?: string | null | undefined;
3441
+ newsletter_template_id?: number | null | undefined;
3442
+ variables?: Record<string, string> | undefined;
3443
+ }, {
3444
+ name: string;
3445
+ audience_definition: {
3446
+ version: 1;
3447
+ include: ({
3448
+ type: AudienceBucketType.AllUsers;
3449
+ } | {
3450
+ type: AudienceBucketType.CompanyUsers;
3451
+ company_ids: number[];
3452
+ } | {
3453
+ type: AudienceBucketType.RoleMembers;
3454
+ role_ids: number[];
3455
+ })[];
3456
+ exclude?: {
3457
+ emails?: string[] | undefined;
3458
+ user_ids?: number[] | undefined;
3459
+ } | undefined;
3460
+ };
3461
+ schema_snapshot?: {
3462
+ blocks: ({
3463
+ type: NewsletterBlockType.Heading;
3464
+ key: string;
3465
+ text: string;
3466
+ level?: number | undefined;
3467
+ align?: "left" | "center" | "right" | undefined;
3468
+ } | {
3469
+ type: NewsletterBlockType.Paragraph;
3470
+ key: string;
3471
+ doc: TipTapNode;
3472
+ align?: "left" | "center" | "right" | undefined;
3473
+ } | {
3474
+ type: NewsletterBlockType.Button;
3475
+ url: string;
3476
+ key: string;
3477
+ label: string;
3478
+ color?: string | undefined;
3479
+ align?: "left" | "center" | "right" | undefined;
3480
+ } | {
3481
+ type: NewsletterBlockType.Divider;
3482
+ key: string;
3483
+ color?: string | undefined;
3484
+ thickness?: number | undefined;
3485
+ })[];
3486
+ variables_used?: string[] | undefined;
3487
+ } | undefined;
3488
+ newsletter_category_id?: number | undefined;
3489
+ subject?: string | undefined;
3490
+ preheader?: string | null | undefined;
3491
+ newsletter_template_id?: number | null | undefined;
3492
+ variables?: Record<string, string> | undefined;
3493
+ }>;
3494
+ type CreateNewsletterCampaignInput = z.infer<typeof CreateNewsletterCampaignInputSchema>;
3495
+ type UpdateNewsletterCampaignInput = Partial<CreateNewsletterCampaignInput>;
3496
+ declare enum NewsletterRecipientStatus {
3497
+ Queued = "queued",
3498
+ Sent = "sent",
3499
+ Failed = "failed",
3500
+ Bounced = "bounced",
3501
+ Complained = "complained",
3502
+ Suppressed = "suppressed",
3503
+ OptedOut = "opted_out"
3504
+ }
3505
+ declare const NewsletterCampaignRecipientSchema: z.ZodObject<{
3506
+ type: z.ZodOptional<z.ZodLiteral<"newsletter_campaign_recipient">>;
3507
+ id: z.ZodNumber;
3508
+ newsletter_campaign_id: z.ZodNumber;
3509
+ user_id: z.ZodNullable<z.ZodNumber>;
3510
+ user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3511
+ id: z.ZodNumber;
3512
+ name: z.ZodString;
3513
+ email: z.ZodOptional<z.ZodString>;
3514
+ }, "strip", z.ZodTypeAny, {
3515
+ name: string;
3516
+ id: number;
3517
+ email?: string | undefined;
3518
+ }, {
3519
+ name: string;
3520
+ id: number;
3521
+ email?: string | undefined;
3522
+ }>>>;
3523
+ email: z.ZodString;
3524
+ status: z.ZodNativeEnum<typeof NewsletterRecipientStatus>;
3525
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3526
+ message_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3527
+ queued_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3528
+ sent_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3529
+ bounced_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3530
+ complained_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3531
+ }, "strip", z.ZodTypeAny, {
3532
+ email: string;
3533
+ status: NewsletterRecipientStatus;
3534
+ id: number;
3535
+ user_id: number | null;
3536
+ newsletter_campaign_id: number;
3537
+ type?: "newsletter_campaign_recipient" | undefined;
3538
+ user?: {
3539
+ name: string;
3540
+ id: number;
3541
+ email?: string | undefined;
3542
+ } | null | undefined;
3543
+ error?: string | null | undefined;
3544
+ message_id?: string | null | undefined;
3545
+ queued_at?: string | null | undefined;
3546
+ sent_at?: string | null | undefined;
3547
+ bounced_at?: string | null | undefined;
3548
+ complained_at?: string | null | undefined;
3549
+ }, {
3550
+ email: string;
3551
+ status: NewsletterRecipientStatus;
3552
+ id: number;
3553
+ user_id: number | null;
3554
+ newsletter_campaign_id: number;
3555
+ type?: "newsletter_campaign_recipient" | undefined;
3556
+ user?: {
3557
+ name: string;
3558
+ id: number;
3559
+ email?: string | undefined;
3560
+ } | null | undefined;
3561
+ error?: string | null | undefined;
3562
+ message_id?: string | null | undefined;
3563
+ queued_at?: string | null | undefined;
3564
+ sent_at?: string | null | undefined;
3565
+ bounced_at?: string | null | undefined;
3566
+ complained_at?: string | null | undefined;
3567
+ }>;
3568
+ type NewsletterCampaignRecipient = z.infer<typeof NewsletterCampaignRecipientSchema>;
3569
+ declare const NewsletterPreferenceRowSchema: z.ZodObject<{
3570
+ category_id: z.ZodNumber;
3571
+ category_key: z.ZodString;
3572
+ name: z.ZodString;
3573
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3574
+ is_mandatory: z.ZodBoolean;
3575
+ opted_in: z.ZodBoolean;
3576
+ }, "strip", z.ZodTypeAny, {
3577
+ name: string;
3578
+ category_id: number;
3579
+ is_mandatory: boolean;
3580
+ category_key: string;
3581
+ opted_in: boolean;
3582
+ description?: string | null | undefined;
3583
+ }, {
3584
+ name: string;
3585
+ category_id: number;
3586
+ is_mandatory: boolean;
3587
+ category_key: string;
3588
+ opted_in: boolean;
3589
+ description?: string | null | undefined;
3590
+ }>;
3591
+ type NewsletterPreferenceRow = z.infer<typeof NewsletterPreferenceRowSchema>;
3592
+ declare const ALLOWED_NEWSLETTER_VARIABLES: readonly ["user.name", "user.first_name", "user.email", "company.name", "unsubscribe_url"];
3593
+ type AllowedNewsletterVariable = (typeof ALLOWED_NEWSLETTER_VARIABLES)[number];
3594
+
3595
+ type GeoJsonGeometry = {
3596
+ type: "Point";
3597
+ coordinates: number[];
3598
+ } | {
3599
+ type: "MultiPoint";
3600
+ coordinates: number[][];
3601
+ } | {
3602
+ type: "LineString";
3603
+ coordinates: number[][];
3604
+ } | {
3605
+ type: "MultiLineString";
3606
+ coordinates: number[][][];
3607
+ } | {
3608
+ type: "Polygon";
3609
+ coordinates: number[][][];
3610
+ } | {
3611
+ type: "MultiPolygon";
3612
+ coordinates: number[][][][];
3613
+ };
3614
+ interface GeoJsonFeature<P = Record<string, unknown>> {
3615
+ type: "Feature";
3616
+ id?: number | string;
3617
+ geometry: GeoJsonGeometry;
3618
+ properties: P | null;
3619
+ }
3620
+ interface GeoJsonFeatureCollection<P = Record<string, unknown>> {
3621
+ type: "FeatureCollection";
3622
+ features: GeoJsonFeature<P>[];
3623
+ }
3624
+ declare enum LocationMapKind {
3625
+ Facility = "facility",
3626
+ TrainingArea = "training_area",
3627
+ Parking = "parking",
3628
+ Procedural = "procedural"
3629
+ }
3630
+ declare enum LocationFeatureVisibility {
3631
+ Public = "public",
3632
+ Members = "members"
3633
+ }
3634
+ declare const ALLOWED_GEOMETRY_TYPES: readonly ["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon"];
3635
+ type AllowedGeometryType = (typeof ALLOWED_GEOMETRY_TYPES)[number];
3636
+ declare const ViewportSchema: z.ZodObject<{
3637
+ center_lng: z.ZodNumber;
3638
+ center_lat: z.ZodNumber;
3639
+ zoom: z.ZodNumber;
3640
+ pitch: z.ZodOptional<z.ZodNumber>;
3641
+ bearing: z.ZodOptional<z.ZodNumber>;
3642
+ }, "strip", z.ZodTypeAny, {
3643
+ center_lng: number;
3644
+ center_lat: number;
3645
+ zoom: number;
3646
+ pitch?: number | undefined;
3647
+ bearing?: number | undefined;
3648
+ }, {
3649
+ center_lng: number;
3650
+ center_lat: number;
3651
+ zoom: number;
3652
+ pitch?: number | undefined;
3653
+ bearing?: number | undefined;
3654
+ }>;
3655
+ type Viewport = z.infer<typeof ViewportSchema>;
3656
+ declare const GeometrySchema: z.ZodObject<{
3657
+ type: z.ZodEnum<["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon"]>;
3658
+ coordinates: z.ZodArray<z.ZodUnknown, "many">;
3659
+ }, "strip", z.ZodTypeAny, {
3660
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3661
+ coordinates: unknown[];
3662
+ }, {
3663
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3664
+ coordinates: unknown[];
3665
+ }>;
3666
+ interface LocationMap {
3667
+ type: "location_map";
3668
+ id: number;
3669
+ company_id: number;
3670
+ name: string;
3671
+ slug: string;
3672
+ kind: string;
3673
+ description: string | null;
3674
+ default_viewport: Viewport | null;
3675
+ is_active: boolean;
3676
+ created_by: number | null;
3677
+ creator?: {
3678
+ id: number;
3679
+ firstname?: string;
3680
+ lastname?: string;
3681
+ } | null;
3682
+ features?: LocationMapFeature[];
3683
+ created_at: string;
3684
+ updated_at: string;
3685
+ }
3686
+ declare const CreateLocationMapSchema: z.ZodObject<{
3687
+ name: z.ZodString;
3688
+ slug: z.ZodOptional<z.ZodString>;
3689
+ kind: z.ZodOptional<z.ZodString>;
3690
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3691
+ default_viewport: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3692
+ center_lng: z.ZodNumber;
3693
+ center_lat: z.ZodNumber;
3694
+ zoom: z.ZodNumber;
3695
+ pitch: z.ZodOptional<z.ZodNumber>;
3696
+ bearing: z.ZodOptional<z.ZodNumber>;
3697
+ }, "strip", z.ZodTypeAny, {
3698
+ center_lng: number;
3699
+ center_lat: number;
3700
+ zoom: number;
3701
+ pitch?: number | undefined;
3702
+ bearing?: number | undefined;
3703
+ }, {
3704
+ center_lng: number;
3705
+ center_lat: number;
3706
+ zoom: number;
3707
+ pitch?: number | undefined;
3708
+ bearing?: number | undefined;
3709
+ }>>>;
3710
+ is_active: z.ZodOptional<z.ZodBoolean>;
3711
+ }, "strip", z.ZodTypeAny, {
3712
+ name: string;
3713
+ description?: string | null | undefined;
3714
+ kind?: string | undefined;
3715
+ is_active?: boolean | undefined;
3716
+ slug?: string | undefined;
3717
+ default_viewport?: {
3718
+ center_lng: number;
3719
+ center_lat: number;
3720
+ zoom: number;
3721
+ pitch?: number | undefined;
3722
+ bearing?: number | undefined;
3723
+ } | null | undefined;
3724
+ }, {
3725
+ name: string;
3726
+ description?: string | null | undefined;
3727
+ kind?: string | undefined;
3728
+ is_active?: boolean | undefined;
3729
+ slug?: string | undefined;
3730
+ default_viewport?: {
3731
+ center_lng: number;
3732
+ center_lat: number;
3733
+ zoom: number;
3734
+ pitch?: number | undefined;
3735
+ bearing?: number | undefined;
3736
+ } | null | undefined;
3737
+ }>;
3738
+ type CreateLocationMapInput = z.infer<typeof CreateLocationMapSchema>;
3739
+ declare const UpdateLocationMapSchema: z.ZodObject<{
3740
+ name: z.ZodOptional<z.ZodString>;
3741
+ slug: z.ZodOptional<z.ZodOptional<z.ZodString>>;
3742
+ kind: z.ZodOptional<z.ZodOptional<z.ZodString>>;
3743
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3744
+ default_viewport: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
3745
+ center_lng: z.ZodNumber;
3746
+ center_lat: z.ZodNumber;
3747
+ zoom: z.ZodNumber;
3748
+ pitch: z.ZodOptional<z.ZodNumber>;
3749
+ bearing: z.ZodOptional<z.ZodNumber>;
3750
+ }, "strip", z.ZodTypeAny, {
3751
+ center_lng: number;
3752
+ center_lat: number;
3753
+ zoom: number;
3754
+ pitch?: number | undefined;
3755
+ bearing?: number | undefined;
3756
+ }, {
3757
+ center_lng: number;
3758
+ center_lat: number;
3759
+ zoom: number;
3760
+ pitch?: number | undefined;
3761
+ bearing?: number | undefined;
3762
+ }>>>>;
3763
+ is_active: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3764
+ }, "strip", z.ZodTypeAny, {
3765
+ name?: string | undefined;
3766
+ description?: string | null | undefined;
3767
+ kind?: string | undefined;
3768
+ is_active?: boolean | undefined;
3769
+ slug?: string | undefined;
3770
+ default_viewport?: {
3771
+ center_lng: number;
3772
+ center_lat: number;
3773
+ zoom: number;
3774
+ pitch?: number | undefined;
3775
+ bearing?: number | undefined;
3776
+ } | null | undefined;
3777
+ }, {
3778
+ name?: string | undefined;
3779
+ description?: string | null | undefined;
3780
+ kind?: string | undefined;
3781
+ is_active?: boolean | undefined;
3782
+ slug?: string | undefined;
3783
+ default_viewport?: {
3784
+ center_lng: number;
3785
+ center_lat: number;
3786
+ zoom: number;
3787
+ pitch?: number | undefined;
3788
+ bearing?: number | undefined;
3789
+ } | null | undefined;
3790
+ }>;
3791
+ type UpdateLocationMapInput = z.infer<typeof UpdateLocationMapSchema>;
3792
+ interface LocationMapFeature {
3793
+ type: "location_map_feature";
3794
+ id: number;
3795
+ location_map_id: number;
3796
+ name: string | null;
3797
+ kind: string;
3798
+ visibility: LocationFeatureVisibility | string;
3799
+ geometry: GeoJsonGeometry;
3800
+ geometry_type: AllowedGeometryType | string;
3801
+ properties: Record<string, unknown>;
3802
+ display_order: number;
3803
+ created_at: string;
3804
+ updated_at: string;
3805
+ }
3806
+ declare const CreateLocationMapFeatureSchema: z.ZodObject<{
3807
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3808
+ kind: z.ZodString;
3809
+ visibility: z.ZodOptional<z.ZodNativeEnum<typeof LocationFeatureVisibility>>;
3810
+ geometry: z.ZodObject<{
3811
+ type: z.ZodEnum<["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon"]>;
3812
+ coordinates: z.ZodArray<z.ZodUnknown, "many">;
3813
+ }, "strip", z.ZodTypeAny, {
3814
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3815
+ coordinates: unknown[];
3816
+ }, {
3817
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3818
+ coordinates: unknown[];
3819
+ }>;
3820
+ properties: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
3821
+ display_order: z.ZodOptional<z.ZodNumber>;
3822
+ }, "strip", z.ZodTypeAny, {
3823
+ kind: string;
3824
+ geometry: {
3825
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3826
+ coordinates: unknown[];
3827
+ };
3828
+ name?: string | null | undefined;
3829
+ visibility?: LocationFeatureVisibility | undefined;
3830
+ properties?: Record<string, unknown> | null | undefined;
3831
+ display_order?: number | undefined;
3832
+ }, {
3833
+ kind: string;
3834
+ geometry: {
3835
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3836
+ coordinates: unknown[];
3837
+ };
3838
+ name?: string | null | undefined;
3839
+ visibility?: LocationFeatureVisibility | undefined;
3840
+ properties?: Record<string, unknown> | null | undefined;
3841
+ display_order?: number | undefined;
3842
+ }>;
3843
+ type CreateLocationMapFeatureInput = z.infer<typeof CreateLocationMapFeatureSchema>;
3844
+ declare const UpdateLocationMapFeatureSchema: z.ZodObject<{
3845
+ name: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3846
+ kind: z.ZodOptional<z.ZodString>;
3847
+ visibility: z.ZodOptional<z.ZodOptional<z.ZodNativeEnum<typeof LocationFeatureVisibility>>>;
3848
+ properties: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
3849
+ display_order: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3850
+ } & {
3851
+ geometry: z.ZodOptional<z.ZodObject<{
3852
+ type: z.ZodEnum<["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon"]>;
3853
+ coordinates: z.ZodArray<z.ZodUnknown, "many">;
3854
+ }, "strip", z.ZodTypeAny, {
3855
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3856
+ coordinates: unknown[];
3857
+ }, {
3858
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3859
+ coordinates: unknown[];
3860
+ }>>;
3861
+ }, "strip", z.ZodTypeAny, {
3862
+ name?: string | null | undefined;
3863
+ kind?: string | undefined;
3864
+ visibility?: LocationFeatureVisibility | undefined;
3865
+ geometry?: {
3866
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3867
+ coordinates: unknown[];
3868
+ } | undefined;
3869
+ properties?: Record<string, unknown> | null | undefined;
3870
+ display_order?: number | undefined;
3871
+ }, {
3872
+ name?: string | null | undefined;
3873
+ kind?: string | undefined;
3874
+ visibility?: LocationFeatureVisibility | undefined;
3875
+ geometry?: {
3876
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3877
+ coordinates: unknown[];
3878
+ } | undefined;
3879
+ properties?: Record<string, unknown> | null | undefined;
3880
+ display_order?: number | undefined;
3881
+ }>;
3882
+ type UpdateLocationMapFeatureInput = z.infer<typeof UpdateLocationMapFeatureSchema>;
3883
+ declare const ImportFeaturesSchema: z.ZodObject<{
3884
+ type: z.ZodLiteral<"FeatureCollection">;
3885
+ features: z.ZodArray<z.ZodObject<{
3886
+ type: z.ZodLiteral<"Feature">;
3887
+ geometry: z.ZodObject<{
3888
+ type: z.ZodEnum<["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon"]>;
3889
+ coordinates: z.ZodArray<z.ZodUnknown, "many">;
3890
+ }, "strip", z.ZodTypeAny, {
3891
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3892
+ coordinates: unknown[];
3893
+ }, {
3894
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3895
+ coordinates: unknown[];
3896
+ }>;
3897
+ properties: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
3898
+ }, "strip", z.ZodTypeAny, {
3899
+ type: "Feature";
3900
+ geometry: {
3901
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3902
+ coordinates: unknown[];
3903
+ };
3904
+ properties?: Record<string, unknown> | null | undefined;
3905
+ }, {
3906
+ type: "Feature";
3907
+ geometry: {
3908
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3909
+ coordinates: unknown[];
3910
+ };
3911
+ properties?: Record<string, unknown> | null | undefined;
3912
+ }>, "many">;
3913
+ defaults: z.ZodOptional<z.ZodObject<{
3914
+ kind: z.ZodOptional<z.ZodString>;
3915
+ visibility: z.ZodOptional<z.ZodNativeEnum<typeof LocationFeatureVisibility>>;
3916
+ }, "strip", z.ZodTypeAny, {
3917
+ kind?: string | undefined;
3918
+ visibility?: LocationFeatureVisibility | undefined;
3919
+ }, {
3920
+ kind?: string | undefined;
3921
+ visibility?: LocationFeatureVisibility | undefined;
3922
+ }>>;
3923
+ }, "strip", z.ZodTypeAny, {
3924
+ type: "FeatureCollection";
3925
+ features: {
3926
+ type: "Feature";
3927
+ geometry: {
3928
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3929
+ coordinates: unknown[];
3930
+ };
3931
+ properties?: Record<string, unknown> | null | undefined;
3932
+ }[];
3933
+ defaults?: {
3934
+ kind?: string | undefined;
3935
+ visibility?: LocationFeatureVisibility | undefined;
3936
+ } | undefined;
3937
+ }, {
3938
+ type: "FeatureCollection";
3939
+ features: {
3940
+ type: "Feature";
3941
+ geometry: {
3942
+ type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
3943
+ coordinates: unknown[];
3944
+ };
3945
+ properties?: Record<string, unknown> | null | undefined;
3946
+ }[];
3947
+ defaults?: {
3948
+ kind?: string | undefined;
3949
+ visibility?: LocationFeatureVisibility | undefined;
3950
+ } | undefined;
3951
+ }>;
3952
+ type ImportFeaturesInput = z.infer<typeof ImportFeaturesSchema>;
3953
+ interface LocationMapGeoJsonProperties {
3954
+ id: number;
3955
+ name: string | null;
3956
+ kind: string;
3957
+ visibility: string;
3958
+ display_order: number;
3959
+ [key: string]: unknown;
3960
+ }
3961
+ type LocationMapGeoJson = GeoJsonFeatureCollection<LocationMapGeoJsonProperties>;
3962
+ type LocationMapFeatureGeoJson = GeoJsonFeature<LocationMapGeoJsonProperties>;
3963
+
3964
+ declare const TodoActionSchema: z.ZodObject<{
3965
+ type: z.ZodEnum<["open_dialog", "navigate"]>;
3966
+ target: z.ZodString;
3967
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
3968
+ }, "strip", z.ZodTypeAny, {
3969
+ type: "open_dialog" | "navigate";
3970
+ target: string;
3971
+ params?: Record<string, any> | undefined;
3972
+ }, {
3973
+ type: "open_dialog" | "navigate";
3974
+ target: string;
3975
+ params?: Record<string, any> | undefined;
3976
+ }>;
3977
+ declare const TodoKey: z.ZodEnum<["fill_form", "sign_form", "review_form", "log_booking", "add_address", "add_required_documents", "fill_training_record", "sign_training_record"]>;
3978
+ declare const TodoSchema: z.ZodObject<{
3979
+ key: z.ZodEnum<["fill_form", "sign_form", "review_form", "log_booking", "add_address", "add_required_documents", "fill_training_record", "sign_training_record"]>;
3980
+ ref_type: z.ZodString;
3981
+ ref_id: z.ZodNumber;
3982
+ title: z.ZodString;
3983
+ subtitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3984
+ due_date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3985
+ is_overdue: z.ZodDefault<z.ZodBoolean>;
3986
+ priority: z.ZodDefault<z.ZodEnum<["low", "normal", "high"]>>;
3987
+ company_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3988
+ action: z.ZodObject<{
3989
+ type: z.ZodEnum<["open_dialog", "navigate"]>;
3990
+ target: z.ZodString;
3991
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
3992
+ }, "strip", z.ZodTypeAny, {
3993
+ type: "open_dialog" | "navigate";
3994
+ target: string;
3995
+ params?: Record<string, any> | undefined;
3996
+ }, {
3997
+ type: "open_dialog" | "navigate";
3998
+ target: string;
3999
+ params?: Record<string, any> | undefined;
4000
+ }>;
4001
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
4002
+ }, "strip", z.ZodTypeAny, {
4003
+ key: "fill_form" | "sign_form" | "review_form" | "log_booking" | "add_address" | "add_required_documents" | "fill_training_record" | "sign_training_record";
4004
+ title: string;
4005
+ priority: "low" | "normal" | "high";
4006
+ is_overdue: boolean;
4007
+ ref_type: string;
4008
+ ref_id: number;
4009
+ action: {
4010
+ type: "open_dialog" | "navigate";
4011
+ target: string;
4012
+ params?: Record<string, any> | undefined;
4013
+ };
4014
+ company_id?: number | null | undefined;
4015
+ due_date?: string | null | undefined;
4016
+ subtitle?: string | null | undefined;
4017
+ meta?: Record<string, any> | undefined;
4018
+ }, {
4019
+ key: "fill_form" | "sign_form" | "review_form" | "log_booking" | "add_address" | "add_required_documents" | "fill_training_record" | "sign_training_record";
4020
+ title: string;
4021
+ ref_type: string;
4022
+ ref_id: number;
4023
+ action: {
4024
+ type: "open_dialog" | "navigate";
4025
+ target: string;
4026
+ params?: Record<string, any> | undefined;
4027
+ };
4028
+ company_id?: number | null | undefined;
4029
+ due_date?: string | null | undefined;
4030
+ subtitle?: string | null | undefined;
4031
+ priority?: "low" | "normal" | "high" | undefined;
4032
+ meta?: Record<string, any> | undefined;
4033
+ is_overdue?: boolean | undefined;
4034
+ }>;
4035
+ type Todo = z.infer<typeof TodoSchema>;
4036
+ type TodoAction = z.infer<typeof TodoActionSchema>;
4037
+ /**
4038
+ * Shape of one entry in `meta.accepted_alternatives` on
4039
+ * `add_required_documents` todos — the other templates of the requirement's
4040
+ * OR bucket that would satisfy it equally (backend:
4041
+ * MissingDocumentTodoSource::selectOrAlternative()).
4042
+ */
4043
+ interface TodoAcceptedAlternative {
4044
+ form_template_id: number;
4045
+ form_template_name: string | null;
4046
+ }
4047
+
4048
+ export { ALLOWED_GEOMETRY_TYPES, ALLOWED_NEWSLETTER_VARIABLES, type AircraftUtilization, AllUsersBucketSchema, type AllowedGeometryType, type AllowedNewsletterVariable, type AudienceBucket, AudienceBucketSchema, AudienceBucketType, type BookingsData, type ButtonBlock, ButtonBlockSchema, type CompanyDevelopmentReportData, CompanyUsersBucketSchema, type CourseEnrollmentMilestone, type CourseMilestone, type CourseMilestoneForm, CourseMilestoneFormSchema, type CourseMilestoneKind, CourseMilestoneKindEnum, type CreateFaqInput, type CreateLocationMapFeatureInput, CreateLocationMapFeatureSchema, type CreateLocationMapInput, CreateLocationMapSchema, type CreateNewsletterCampaignInput, CreateNewsletterCampaignInputSchema, type CreateNewsletterTemplateInput, CreateNewsletterTemplateInputSchema, type DividerBlock, DividerBlockSchema, type Equipment, type EquipmentEntry, type ExpenseData, type Faq, FaqSchema, FaqStatus, type FinancialReportData, type FinancialSummaryData, type FlightHoursData, type GeoJsonFeature, type GeoJsonFeatureCollection, type GeoJsonGeometry, GeometrySchema, type HeadingBlock, HeadingBlockSchema, type ImportFeaturesInput, ImportFeaturesSchema, type InstructorData, type InstructorEfficiencyReportData, type InstructorSummaryData, type InvoiceData, type LandingsData, LocationFeatureVisibility, type LocationMap, type LocationMapFeature, type LocationMapFeatureGeoJson, type LocationMapGeoJson, type LocationMapGeoJsonProperties, LocationMapKind, type Media, type MemberActivityData, type NewsletterAudience, NewsletterAudienceSchema, type NewsletterBlock, NewsletterBlockSchema, NewsletterBlockType, type NewsletterCampaign, type NewsletterCampaignRecipient, NewsletterCampaignRecipientSchema, NewsletterCampaignSchema, NewsletterCampaignStatus, type NewsletterCategory, NewsletterCategorySchema, type NewsletterPreferenceRow, NewsletterPreferenceRowSchema, NewsletterRecipientStatus, type NewsletterTemplate, type NewsletterTemplateDoc, NewsletterTemplateSchema, NewsletterTemplateSchemaSchema, type OperationalReportData, type ParagraphBlock, ParagraphBlockSchema, type PeriodData, type PrepaidPackageData, type Report, type ReportData, type ReportGenerationParams, type ReportGenerationResponse, type ReportGranularity, type ReportListItem, type ReportMedia, type ReportMetadata, type ReportParameters, type ReportStatus, type ReportStatusResponse, type ReportType, type RevenueData, type ReviewFaqInput, ReviewFaqSchema, RoleMembersBucketSchema, SAFETY_REPORT_STATUS_COLORS, SAFETY_REPORT_STATUS_LABELS, type SafetyReport, type SafetyReportCategory, type SafetyReportCategoryForm, SafetyReportCategoryFormSchema, SafetyReportCategorySchema, type SafetyReportFilter, SafetyReportFilterSchema, type SafetyReportForm, SafetyReportFormSchema, type SafetyReportListResponse, SafetyReportListResponseSchema, type SafetyReportMedia, SafetyReportMediaSchema, SafetyReportSchema, type SafetyReportStatus, SafetyReportStatusEnum, type SafetyReportSubmissionResponse, SafetyReportSubmissionResponseSchema, type SafetyReportUpdate, SafetyReportUpdateSchema, type SubmitFaqQuestionInput, SubmitFaqQuestionSchema, type TipTapNode, TipTapNodeSchema, type Todo, type TodoAcceptedAlternative, type TodoAction, TodoActionSchema, TodoKey, TodoSchema, type UpdateFaqInput, type UpdateLocationMapFeatureInput, UpdateLocationMapFeatureSchema, type UpdateLocationMapInput, UpdateLocationMapSchema, type UpdateNewsletterCampaignInput, type UpdateNewsletterTemplateInput, type Viewport, ViewportSchema, companyAudienceInclude, courseEnrollmentMilestoneSchema, courseMilestoneSchema, equipmentSchema };