@blackcode_sa/metaestetics-api 1.7.26 → 1.7.27

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.
package/dist/index.d.mts CHANGED
@@ -5547,6 +5547,29 @@ interface SearchCalendarEventsParams {
5547
5547
  /** Optional filter for event type. */
5548
5548
  eventType?: CalendarEventType;
5549
5549
  }
5550
+ /**
5551
+ * Interface for creating blocking events
5552
+ */
5553
+ interface CreateBlockingEventParams {
5554
+ entityType: "practitioner" | "clinic";
5555
+ entityId: string;
5556
+ eventName: string;
5557
+ eventTime: CalendarEventTime;
5558
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
5559
+ description?: string;
5560
+ }
5561
+ /**
5562
+ * Interface for updating blocking events
5563
+ */
5564
+ interface UpdateBlockingEventParams {
5565
+ entityType: "practitioner" | "clinic";
5566
+ entityId: string;
5567
+ eventId: string;
5568
+ eventName?: string;
5569
+ eventTime?: CalendarEventTime;
5570
+ description?: string;
5571
+ status?: CalendarEventStatus;
5572
+ }
5550
5573
 
5551
5574
  declare enum UserRole {
5552
5575
  PATIENT = "patient",
@@ -7322,6 +7345,79 @@ declare class CalendarServiceV2 extends BaseService {
7322
7345
  private fetchProfileInfoCards;
7323
7346
  }
7324
7347
 
7348
+ /**
7349
+ * Calendar Service V3
7350
+ * Focused on blocking event management and calendar event search
7351
+ * Appointment logic is handled by AppointmentService and BookingAdmin
7352
+ * External calendar sync is handled by dedicated cloud functions
7353
+ */
7354
+ declare class CalendarServiceV3 extends BaseService {
7355
+ /**
7356
+ * Creates a new CalendarServiceV3 instance
7357
+ * @param db - Firestore instance
7358
+ * @param auth - Firebase Auth instance
7359
+ * @param app - Firebase App instance
7360
+ */
7361
+ constructor(db: Firestore, auth: Auth, app: FirebaseApp);
7362
+ /**
7363
+ * Creates a blocking event for a practitioner or clinic
7364
+ * @param params - Blocking event creation parameters
7365
+ * @returns Created calendar event
7366
+ */
7367
+ createBlockingEvent(params: CreateBlockingEventParams): Promise<CalendarEvent>;
7368
+ /**
7369
+ * Updates a blocking event
7370
+ * @param params - Blocking event update parameters
7371
+ * @returns Updated calendar event
7372
+ */
7373
+ updateBlockingEvent(params: UpdateBlockingEventParams): Promise<CalendarEvent>;
7374
+ /**
7375
+ * Deletes a blocking event
7376
+ * @param entityType - Type of entity (practitioner or clinic)
7377
+ * @param entityId - ID of the entity
7378
+ * @param eventId - ID of the event to delete
7379
+ */
7380
+ deleteBlockingEvent(entityType: "practitioner" | "clinic", entityId: string, eventId: string): Promise<void>;
7381
+ /**
7382
+ * Gets a specific blocking event
7383
+ * @param entityType - Type of entity (practitioner or clinic)
7384
+ * @param entityId - ID of the entity
7385
+ * @param eventId - ID of the event to retrieve
7386
+ * @returns Calendar event or null if not found
7387
+ */
7388
+ getBlockingEvent(entityType: "practitioner" | "clinic", entityId: string, eventId: string): Promise<CalendarEvent | null>;
7389
+ /**
7390
+ * Gets blocking events for a specific entity
7391
+ * @param entityType - Type of entity (practitioner or clinic)
7392
+ * @param entityId - ID of the entity
7393
+ * @param dateRange - Optional date range filter
7394
+ * @param eventType - Optional event type filter
7395
+ * @returns Array of calendar events
7396
+ */
7397
+ getEntityBlockingEvents(entityType: "practitioner" | "clinic", entityId: string, dateRange?: DateRange, eventType?: CalendarEventType): Promise<CalendarEvent[]>;
7398
+ /**
7399
+ * Searches for calendar events based on specified criteria.
7400
+ * This method supports searching for ALL event types (appointments, blocking events, etc.)
7401
+ *
7402
+ * @param params - The search parameters
7403
+ * @returns A promise that resolves to an array of matching calendar events
7404
+ */
7405
+ searchCalendarEvents(params: SearchCalendarEventsParams): Promise<CalendarEvent[]>;
7406
+ /**
7407
+ * Gets the calendar collection path for a specific entity
7408
+ * @param entityType - Type of entity (practitioner or clinic)
7409
+ * @param entityId - ID of the entity
7410
+ * @returns Collection path string
7411
+ */
7412
+ private getEntityCalendarPath;
7413
+ /**
7414
+ * Validates blocking event creation parameters
7415
+ * @param params - Parameters to validate
7416
+ * @throws Error if validation fails
7417
+ */
7418
+ private validateBlockingEventParams;
7419
+ }
7420
+
7325
7421
  /**
7326
7422
  * Service for managing synced calendars and calendar synchronization
7327
7423
  */
@@ -18698,6 +18794,115 @@ declare const calendarEventSchema: z.ZodObject<{
18698
18794
  procedureProduct: string;
18699
18795
  } | null | undefined;
18700
18796
  }>;
18797
+ /**
18798
+ * Validation schema for creating blocking events
18799
+ * Based on CreateBlockingEventParams interface
18800
+ */
18801
+ declare const createBlockingEventSchema: z.ZodObject<{
18802
+ entityType: z.ZodEnum<["practitioner", "clinic"]>;
18803
+ entityId: z.ZodString;
18804
+ eventName: z.ZodString;
18805
+ eventTime: z.ZodEffects<z.ZodEffects<z.ZodObject<{
18806
+ start: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18807
+ end: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18808
+ }, "strip", z.ZodTypeAny, {
18809
+ start: Date | Timestamp;
18810
+ end: Date | Timestamp;
18811
+ }, {
18812
+ start: Date | Timestamp;
18813
+ end: Date | Timestamp;
18814
+ }>, {
18815
+ start: Date | Timestamp;
18816
+ end: Date | Timestamp;
18817
+ }, {
18818
+ start: Date | Timestamp;
18819
+ end: Date | Timestamp;
18820
+ }>, {
18821
+ start: Date | Timestamp;
18822
+ end: Date | Timestamp;
18823
+ }, {
18824
+ start: Date | Timestamp;
18825
+ end: Date | Timestamp;
18826
+ }>;
18827
+ eventType: z.ZodEnum<[CalendarEventType.BLOCKING, CalendarEventType.BREAK, CalendarEventType.FREE_DAY, CalendarEventType.OTHER]>;
18828
+ description: z.ZodOptional<z.ZodString>;
18829
+ }, "strip", z.ZodTypeAny, {
18830
+ eventTime: {
18831
+ start: Date | Timestamp;
18832
+ end: Date | Timestamp;
18833
+ };
18834
+ eventName: string;
18835
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
18836
+ entityType: "practitioner" | "clinic";
18837
+ entityId: string;
18838
+ description?: string | undefined;
18839
+ }, {
18840
+ eventTime: {
18841
+ start: Date | Timestamp;
18842
+ end: Date | Timestamp;
18843
+ };
18844
+ eventName: string;
18845
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
18846
+ entityType: "practitioner" | "clinic";
18847
+ entityId: string;
18848
+ description?: string | undefined;
18849
+ }>;
18850
+ /**
18851
+ * Validation schema for updating blocking events
18852
+ * Based on UpdateBlockingEventParams interface
18853
+ */
18854
+ declare const updateBlockingEventSchema: z.ZodObject<{
18855
+ entityType: z.ZodEnum<["practitioner", "clinic"]>;
18856
+ entityId: z.ZodString;
18857
+ eventId: z.ZodString;
18858
+ eventName: z.ZodOptional<z.ZodString>;
18859
+ eventTime: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
18860
+ start: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18861
+ end: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18862
+ }, "strip", z.ZodTypeAny, {
18863
+ start: Date | Timestamp;
18864
+ end: Date | Timestamp;
18865
+ }, {
18866
+ start: Date | Timestamp;
18867
+ end: Date | Timestamp;
18868
+ }>, {
18869
+ start: Date | Timestamp;
18870
+ end: Date | Timestamp;
18871
+ }, {
18872
+ start: Date | Timestamp;
18873
+ end: Date | Timestamp;
18874
+ }>, {
18875
+ start: Date | Timestamp;
18876
+ end: Date | Timestamp;
18877
+ }, {
18878
+ start: Date | Timestamp;
18879
+ end: Date | Timestamp;
18880
+ }>>;
18881
+ description: z.ZodOptional<z.ZodString>;
18882
+ status: z.ZodOptional<z.ZodNativeEnum<typeof CalendarEventStatus>>;
18883
+ }, "strip", z.ZodTypeAny, {
18884
+ eventId: string;
18885
+ entityType: "practitioner" | "clinic";
18886
+ entityId: string;
18887
+ description?: string | undefined;
18888
+ status?: CalendarEventStatus | undefined;
18889
+ eventTime?: {
18890
+ start: Date | Timestamp;
18891
+ end: Date | Timestamp;
18892
+ } | undefined;
18893
+ eventName?: string | undefined;
18894
+ }, {
18895
+ eventId: string;
18896
+ entityType: "practitioner" | "clinic";
18897
+ entityId: string;
18898
+ description?: string | undefined;
18899
+ status?: CalendarEventStatus | undefined;
18900
+ eventTime?: {
18901
+ start: Date | Timestamp;
18902
+ end: Date | Timestamp;
18903
+ } | undefined;
18904
+ eventName?: string | undefined;
18905
+ }>;
18701
18906
 
18702
18907
  /**
18703
18908
  * Validation schema for practitioner profile info
@@ -19797,4 +20002,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
19797
20002
  } | undefined;
19798
20003
  }>;
19799
20004
 
19800
- export { APPOINTMENTS_COLLECTION, AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BinaryChoiceElement, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MedicationAllergySubtype, type MultipleChoiceElement, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, requirementInstructionDueNotificationSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
20005
+ export { APPOINTMENTS_COLLECTION, AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BinaryChoiceElement, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarServiceV3, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBlockingEventParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MedicationAllergySubtype, type MultipleChoiceElement, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateBlockingEventParams, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createBlockingEventSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, requirementInstructionDueNotificationSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateBlockingEventSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
package/dist/index.d.ts CHANGED
@@ -5547,6 +5547,29 @@ interface SearchCalendarEventsParams {
5547
5547
  /** Optional filter for event type. */
5548
5548
  eventType?: CalendarEventType;
5549
5549
  }
5550
+ /**
5551
+ * Interface for creating blocking events
5552
+ */
5553
+ interface CreateBlockingEventParams {
5554
+ entityType: "practitioner" | "clinic";
5555
+ entityId: string;
5556
+ eventName: string;
5557
+ eventTime: CalendarEventTime;
5558
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
5559
+ description?: string;
5560
+ }
5561
+ /**
5562
+ * Interface for updating blocking events
5563
+ */
5564
+ interface UpdateBlockingEventParams {
5565
+ entityType: "practitioner" | "clinic";
5566
+ entityId: string;
5567
+ eventId: string;
5568
+ eventName?: string;
5569
+ eventTime?: CalendarEventTime;
5570
+ description?: string;
5571
+ status?: CalendarEventStatus;
5572
+ }
5550
5573
 
5551
5574
  declare enum UserRole {
5552
5575
  PATIENT = "patient",
@@ -7322,6 +7345,79 @@ declare class CalendarServiceV2 extends BaseService {
7322
7345
  private fetchProfileInfoCards;
7323
7346
  }
7324
7347
 
7348
+ /**
7349
+ * Calendar Service V3
7350
+ * Focused on blocking event management and calendar event search
7351
+ * Appointment logic is handled by AppointmentService and BookingAdmin
7352
+ * External calendar sync is handled by dedicated cloud functions
7353
+ */
7354
+ declare class CalendarServiceV3 extends BaseService {
7355
+ /**
7356
+ * Creates a new CalendarServiceV3 instance
7357
+ * @param db - Firestore instance
7358
+ * @param auth - Firebase Auth instance
7359
+ * @param app - Firebase App instance
7360
+ */
7361
+ constructor(db: Firestore, auth: Auth, app: FirebaseApp);
7362
+ /**
7363
+ * Creates a blocking event for a practitioner or clinic
7364
+ * @param params - Blocking event creation parameters
7365
+ * @returns Created calendar event
7366
+ */
7367
+ createBlockingEvent(params: CreateBlockingEventParams): Promise<CalendarEvent>;
7368
+ /**
7369
+ * Updates a blocking event
7370
+ * @param params - Blocking event update parameters
7371
+ * @returns Updated calendar event
7372
+ */
7373
+ updateBlockingEvent(params: UpdateBlockingEventParams): Promise<CalendarEvent>;
7374
+ /**
7375
+ * Deletes a blocking event
7376
+ * @param entityType - Type of entity (practitioner or clinic)
7377
+ * @param entityId - ID of the entity
7378
+ * @param eventId - ID of the event to delete
7379
+ */
7380
+ deleteBlockingEvent(entityType: "practitioner" | "clinic", entityId: string, eventId: string): Promise<void>;
7381
+ /**
7382
+ * Gets a specific blocking event
7383
+ * @param entityType - Type of entity (practitioner or clinic)
7384
+ * @param entityId - ID of the entity
7385
+ * @param eventId - ID of the event to retrieve
7386
+ * @returns Calendar event or null if not found
7387
+ */
7388
+ getBlockingEvent(entityType: "practitioner" | "clinic", entityId: string, eventId: string): Promise<CalendarEvent | null>;
7389
+ /**
7390
+ * Gets blocking events for a specific entity
7391
+ * @param entityType - Type of entity (practitioner or clinic)
7392
+ * @param entityId - ID of the entity
7393
+ * @param dateRange - Optional date range filter
7394
+ * @param eventType - Optional event type filter
7395
+ * @returns Array of calendar events
7396
+ */
7397
+ getEntityBlockingEvents(entityType: "practitioner" | "clinic", entityId: string, dateRange?: DateRange, eventType?: CalendarEventType): Promise<CalendarEvent[]>;
7398
+ /**
7399
+ * Searches for calendar events based on specified criteria.
7400
+ * This method supports searching for ALL event types (appointments, blocking events, etc.)
7401
+ *
7402
+ * @param params - The search parameters
7403
+ * @returns A promise that resolves to an array of matching calendar events
7404
+ */
7405
+ searchCalendarEvents(params: SearchCalendarEventsParams): Promise<CalendarEvent[]>;
7406
+ /**
7407
+ * Gets the calendar collection path for a specific entity
7408
+ * @param entityType - Type of entity (practitioner or clinic)
7409
+ * @param entityId - ID of the entity
7410
+ * @returns Collection path string
7411
+ */
7412
+ private getEntityCalendarPath;
7413
+ /**
7414
+ * Validates blocking event creation parameters
7415
+ * @param params - Parameters to validate
7416
+ * @throws Error if validation fails
7417
+ */
7418
+ private validateBlockingEventParams;
7419
+ }
7420
+
7325
7421
  /**
7326
7422
  * Service for managing synced calendars and calendar synchronization
7327
7423
  */
@@ -18698,6 +18794,115 @@ declare const calendarEventSchema: z.ZodObject<{
18698
18794
  procedureProduct: string;
18699
18795
  } | null | undefined;
18700
18796
  }>;
18797
+ /**
18798
+ * Validation schema for creating blocking events
18799
+ * Based on CreateBlockingEventParams interface
18800
+ */
18801
+ declare const createBlockingEventSchema: z.ZodObject<{
18802
+ entityType: z.ZodEnum<["practitioner", "clinic"]>;
18803
+ entityId: z.ZodString;
18804
+ eventName: z.ZodString;
18805
+ eventTime: z.ZodEffects<z.ZodEffects<z.ZodObject<{
18806
+ start: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18807
+ end: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18808
+ }, "strip", z.ZodTypeAny, {
18809
+ start: Date | Timestamp;
18810
+ end: Date | Timestamp;
18811
+ }, {
18812
+ start: Date | Timestamp;
18813
+ end: Date | Timestamp;
18814
+ }>, {
18815
+ start: Date | Timestamp;
18816
+ end: Date | Timestamp;
18817
+ }, {
18818
+ start: Date | Timestamp;
18819
+ end: Date | Timestamp;
18820
+ }>, {
18821
+ start: Date | Timestamp;
18822
+ end: Date | Timestamp;
18823
+ }, {
18824
+ start: Date | Timestamp;
18825
+ end: Date | Timestamp;
18826
+ }>;
18827
+ eventType: z.ZodEnum<[CalendarEventType.BLOCKING, CalendarEventType.BREAK, CalendarEventType.FREE_DAY, CalendarEventType.OTHER]>;
18828
+ description: z.ZodOptional<z.ZodString>;
18829
+ }, "strip", z.ZodTypeAny, {
18830
+ eventTime: {
18831
+ start: Date | Timestamp;
18832
+ end: Date | Timestamp;
18833
+ };
18834
+ eventName: string;
18835
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
18836
+ entityType: "practitioner" | "clinic";
18837
+ entityId: string;
18838
+ description?: string | undefined;
18839
+ }, {
18840
+ eventTime: {
18841
+ start: Date | Timestamp;
18842
+ end: Date | Timestamp;
18843
+ };
18844
+ eventName: string;
18845
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
18846
+ entityType: "practitioner" | "clinic";
18847
+ entityId: string;
18848
+ description?: string | undefined;
18849
+ }>;
18850
+ /**
18851
+ * Validation schema for updating blocking events
18852
+ * Based on UpdateBlockingEventParams interface
18853
+ */
18854
+ declare const updateBlockingEventSchema: z.ZodObject<{
18855
+ entityType: z.ZodEnum<["practitioner", "clinic"]>;
18856
+ entityId: z.ZodString;
18857
+ eventId: z.ZodString;
18858
+ eventName: z.ZodOptional<z.ZodString>;
18859
+ eventTime: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
18860
+ start: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18861
+ end: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18862
+ }, "strip", z.ZodTypeAny, {
18863
+ start: Date | Timestamp;
18864
+ end: Date | Timestamp;
18865
+ }, {
18866
+ start: Date | Timestamp;
18867
+ end: Date | Timestamp;
18868
+ }>, {
18869
+ start: Date | Timestamp;
18870
+ end: Date | Timestamp;
18871
+ }, {
18872
+ start: Date | Timestamp;
18873
+ end: Date | Timestamp;
18874
+ }>, {
18875
+ start: Date | Timestamp;
18876
+ end: Date | Timestamp;
18877
+ }, {
18878
+ start: Date | Timestamp;
18879
+ end: Date | Timestamp;
18880
+ }>>;
18881
+ description: z.ZodOptional<z.ZodString>;
18882
+ status: z.ZodOptional<z.ZodNativeEnum<typeof CalendarEventStatus>>;
18883
+ }, "strip", z.ZodTypeAny, {
18884
+ eventId: string;
18885
+ entityType: "practitioner" | "clinic";
18886
+ entityId: string;
18887
+ description?: string | undefined;
18888
+ status?: CalendarEventStatus | undefined;
18889
+ eventTime?: {
18890
+ start: Date | Timestamp;
18891
+ end: Date | Timestamp;
18892
+ } | undefined;
18893
+ eventName?: string | undefined;
18894
+ }, {
18895
+ eventId: string;
18896
+ entityType: "practitioner" | "clinic";
18897
+ entityId: string;
18898
+ description?: string | undefined;
18899
+ status?: CalendarEventStatus | undefined;
18900
+ eventTime?: {
18901
+ start: Date | Timestamp;
18902
+ end: Date | Timestamp;
18903
+ } | undefined;
18904
+ eventName?: string | undefined;
18905
+ }>;
18701
18906
 
18702
18907
  /**
18703
18908
  * Validation schema for practitioner profile info
@@ -19797,4 +20002,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
19797
20002
  } | undefined;
19798
20003
  }>;
19799
20004
 
19800
- export { APPOINTMENTS_COLLECTION, AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BinaryChoiceElement, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MedicationAllergySubtype, type MultipleChoiceElement, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, requirementInstructionDueNotificationSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
20005
+ export { APPOINTMENTS_COLLECTION, AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BinaryChoiceElement, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarServiceV3, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBlockingEventParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MedicationAllergySubtype, type MultipleChoiceElement, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateBlockingEventParams, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createBlockingEventSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, requirementInstructionDueNotificationSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateBlockingEventSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };