@blackcode_sa/metaestetics-api 1.7.10 → 1.7.12

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.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
- import { Timestamp, FieldValue, Firestore, QueryDocumentSnapshot, DocumentSnapshot } from 'firebase/firestore';
2
+ import { Firestore, Timestamp, FieldValue, QueryDocumentSnapshot, DocumentSnapshot } from 'firebase/firestore';
3
3
  import { Timestamp as Timestamp$1 } from 'firebase-admin/firestore';
4
- import { FirebaseApp } from 'firebase/app';
5
4
  import { Auth, User as User$1 } from 'firebase/auth';
6
- import { Analytics } from 'firebase/analytics';
5
+ import { FirebaseApp } from 'firebase/app';
7
6
  import { FirebaseStorage } from 'firebase/storage';
7
+ import { Analytics } from 'firebase/analytics';
8
8
  import { Functions } from 'firebase/functions';
9
9
  import * as _firebase_firestore from '@firebase/firestore';
10
10
 
@@ -749,6 +749,102 @@ declare enum ClinicPhotoTag {
749
749
  OTHER = "other"
750
750
  }
751
751
 
752
+ declare class BaseService {
753
+ protected db: Firestore;
754
+ protected auth: Auth;
755
+ protected app: FirebaseApp;
756
+ protected storage: FirebaseStorage;
757
+ constructor(db: Firestore, auth: Auth, app: FirebaseApp);
758
+ /**
759
+ * Generiše jedinstveni ID za dokumente
760
+ * Format: xxxxxxxxxxxx-timestamp
761
+ * Gde je x random karakter (broj ili slovo)
762
+ */
763
+ protected generateId(): string;
764
+ }
765
+
766
+ /**
767
+ * Enum for media access levels
768
+ */
769
+ declare enum MediaAccessLevel {
770
+ PUBLIC = "public",
771
+ PRIVATE = "private",
772
+ CONFIDENTIAL = "confidential"
773
+ }
774
+ /**
775
+ * Type that allows a field to be either a URL string or a File object
776
+ */
777
+ type MediaResource = string | File | Blob;
778
+ /**
779
+ * Media file metadata interface
780
+ */
781
+ interface MediaMetadata {
782
+ id: string;
783
+ name: string;
784
+ url: string;
785
+ contentType: string;
786
+ size: number;
787
+ createdAt: Timestamp;
788
+ accessLevel: MediaAccessLevel;
789
+ ownerId: string;
790
+ collectionName: string;
791
+ path: string;
792
+ updatedAt?: Timestamp;
793
+ }
794
+ declare const MEDIA_METADATA_COLLECTION = "media_metadata";
795
+ declare class MediaService extends BaseService {
796
+ constructor(db: Firestore, auth: Auth, app: FirebaseApp);
797
+ /**
798
+ * Upload a media file, store its metadata, and return the metadata including the URL.
799
+ * @param file - The file to upload.
800
+ * @param ownerId - ID of the owner (user, patient, clinic, etc.).
801
+ * @param accessLevel - Access level (public, private, confidential).
802
+ * @param collectionName - The logical collection name this media belongs to (e.g., 'patient_profile_pictures', 'clinic_logos').
803
+ * @param originalFileName - Optional: the original name of the file, if not using file.name.
804
+ * @returns Promise with the media metadata.
805
+ */
806
+ uploadMedia(file: File | Blob, ownerId: string, accessLevel: MediaAccessLevel, collectionName: string, originalFileName?: string): Promise<MediaMetadata>;
807
+ /**
808
+ * Get media metadata from Firestore by its ID.
809
+ * @param mediaId - ID of the media.
810
+ * @returns Promise with the media metadata or null if not found.
811
+ */
812
+ getMediaMetadata(mediaId: string): Promise<MediaMetadata | null>;
813
+ /**
814
+ * Get media metadata from Firestore by its public URL.
815
+ * @param url - The public URL of the media file.
816
+ * @returns Promise with the media metadata or null if not found.
817
+ */
818
+ getMediaMetadataByUrl(url: string): Promise<MediaMetadata | null>;
819
+ /**
820
+ * Delete media from storage and remove metadata from Firestore.
821
+ * @param mediaId - ID of the media to delete.
822
+ */
823
+ deleteMedia(mediaId: string): Promise<void>;
824
+ /**
825
+ * Update media access level. This involves moving the file in Firebase Storage
826
+ * to a new path reflecting the new access level, and updating its metadata.
827
+ * @param mediaId - ID of the media to update.
828
+ * @param newAccessLevel - New access level.
829
+ * @returns Promise with the updated media metadata, or null if metadata not found.
830
+ */
831
+ updateMediaAccessLevel(mediaId: string, newAccessLevel: MediaAccessLevel): Promise<MediaMetadata | null>;
832
+ /**
833
+ * List all media for an owner, optionally filtered by collection and access level.
834
+ * @param ownerId - ID of the owner.
835
+ * @param collectionName - Optional: Filter by collection name.
836
+ * @param accessLevel - Optional: Filter by access level.
837
+ * @param count - Optional: Number of items to fetch.
838
+ * @param startAfterId - Optional: ID of the document to start after (for pagination).
839
+ */
840
+ listMedia(ownerId: string, collectionName?: string, accessLevel?: MediaAccessLevel, count?: number, startAfterId?: string): Promise<MediaMetadata[]>;
841
+ /**
842
+ * Get download URL for media. (Convenience, as URL is in metadata)
843
+ * @param mediaId - ID of the media.
844
+ */
845
+ getMediaDownloadUrl(mediaId: string): Promise<string | null>;
846
+ }
847
+
752
848
  declare const CLINIC_GROUPS_COLLECTION = "clinic_groups";
753
849
  declare const CLINIC_ADMINS_COLLECTION = "clinic_admins";
754
850
  declare const CLINICS_COLLECTION = "clinics";
@@ -944,6 +1040,10 @@ interface ClinicGroup {
944
1040
  calendarSyncEnabled?: boolean;
945
1041
  autoConfirmAppointments?: boolean;
946
1042
  businessIdentificationNumber?: string | null;
1043
+ onboarding?: {
1044
+ completed?: boolean;
1045
+ step?: number;
1046
+ };
947
1047
  }
948
1048
  /**
949
1049
  * Interface for creating a clinic group
@@ -963,6 +1063,10 @@ interface CreateClinicGroupData {
963
1063
  calendarSyncEnabled?: boolean;
964
1064
  autoConfirmAppointments?: boolean;
965
1065
  businessIdentificationNumber?: string | null;
1066
+ onboarding?: {
1067
+ completed?: boolean;
1068
+ step?: number;
1069
+ };
966
1070
  }
967
1071
  /**
968
1072
  * Interface for updating a clinic group
@@ -988,10 +1092,6 @@ interface DoctorInfo {
988
1092
  rating: number;
989
1093
  services: string[];
990
1094
  }
991
- /**
992
- * Type that allows a field to be either a URL string or a File object
993
- */
994
- type MediaResource = string | File | Blob;
995
1095
  /**
996
1096
  * Interface for clinic
997
1097
  */
@@ -1067,6 +1167,10 @@ interface CreateDefaultClinicGroupData {
1067
1167
  practiceType?: PracticeType;
1068
1168
  languages?: Language[];
1069
1169
  subscriptionModel?: SubscriptionModel;
1170
+ onboarding?: {
1171
+ completed?: boolean;
1172
+ step?: number;
1173
+ };
1070
1174
  }
1071
1175
  /**
1072
1176
  * Interface for clinic admin signup data
@@ -1099,6 +1203,10 @@ interface ClinicGroupSetupData {
1099
1203
  calendarSyncEnabled: boolean;
1100
1204
  autoConfirmAppointments: boolean;
1101
1205
  businessIdentificationNumber: string | null;
1206
+ onboarding?: {
1207
+ completed?: boolean;
1208
+ step?: number;
1209
+ };
1102
1210
  }
1103
1211
  /**
1104
1212
  * Interface for clinic branch setup data
@@ -3928,20 +4036,6 @@ declare const updateFilledDocumentDataSchema: z.ZodObject<{
3928
4036
  values?: Record<string, any> | undefined;
3929
4037
  }>;
3930
4038
 
3931
- declare class BaseService {
3932
- protected db: Firestore;
3933
- protected auth: Auth;
3934
- protected app: FirebaseApp;
3935
- protected storage: FirebaseStorage;
3936
- constructor(db: Firestore, auth: Auth, app: FirebaseApp);
3937
- /**
3938
- * Generiše jedinstveni ID za dokumente
3939
- * Format: xxxxxxxxxxxx-timestamp
3940
- * Gde je x random karakter (broj ili slovo)
3941
- */
3942
- protected generateId(): string;
3943
- }
3944
-
3945
4039
  /**
3946
4040
  * Servis za upravljanje kategorijama procedura.
3947
4041
  * Kategorije su prvi nivo organizacije nakon procedure family (aesthetics/surgery).
@@ -5013,17 +5107,17 @@ declare const searchAppointmentsSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5013
5107
  patientId?: string | undefined;
5014
5108
  startDate?: any;
5015
5109
  endDate?: any;
5016
- practitionerId?: string | undefined;
5017
5110
  startAfter?: any;
5111
+ practitionerId?: string | undefined;
5018
5112
  clinicBranchId?: string | undefined;
5019
5113
  }, {
5020
5114
  status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
5021
5115
  patientId?: string | undefined;
5022
5116
  startDate?: any;
5023
5117
  endDate?: any;
5024
- practitionerId?: string | undefined;
5025
5118
  limit?: number | undefined;
5026
5119
  startAfter?: any;
5120
+ practitionerId?: string | undefined;
5027
5121
  clinicBranchId?: string | undefined;
5028
5122
  }>, {
5029
5123
  limit: number;
@@ -5031,17 +5125,17 @@ declare const searchAppointmentsSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5031
5125
  patientId?: string | undefined;
5032
5126
  startDate?: any;
5033
5127
  endDate?: any;
5034
- practitionerId?: string | undefined;
5035
5128
  startAfter?: any;
5129
+ practitionerId?: string | undefined;
5036
5130
  clinicBranchId?: string | undefined;
5037
5131
  }, {
5038
5132
  status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
5039
5133
  patientId?: string | undefined;
5040
5134
  startDate?: any;
5041
5135
  endDate?: any;
5042
- practitionerId?: string | undefined;
5043
5136
  limit?: number | undefined;
5044
5137
  startAfter?: any;
5138
+ practitionerId?: string | undefined;
5045
5139
  clinicBranchId?: string | undefined;
5046
5140
  }>, {
5047
5141
  limit: number;
@@ -5049,17 +5143,17 @@ declare const searchAppointmentsSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5049
5143
  patientId?: string | undefined;
5050
5144
  startDate?: any;
5051
5145
  endDate?: any;
5052
- practitionerId?: string | undefined;
5053
5146
  startAfter?: any;
5147
+ practitionerId?: string | undefined;
5054
5148
  clinicBranchId?: string | undefined;
5055
5149
  }, {
5056
5150
  status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
5057
5151
  patientId?: string | undefined;
5058
5152
  startDate?: any;
5059
5153
  endDate?: any;
5060
- practitionerId?: string | undefined;
5061
5154
  limit?: number | undefined;
5062
5155
  startAfter?: any;
5156
+ practitionerId?: string | undefined;
5063
5157
  clinicBranchId?: string | undefined;
5064
5158
  }>;
5065
5159
 
@@ -5537,83 +5631,32 @@ declare class ClinicGroupService extends BaseService {
5537
5631
  * Dohvata aktivne admin tokene
5538
5632
  */
5539
5633
  getActiveAdminTokens(groupId: string, adminId: string): Promise<AdminToken[]>;
5540
- }
5541
-
5542
- /**
5543
- * Enum for media access levels
5544
- */
5545
- declare enum MediaAccessLevel {
5546
- PUBLIC = "public",
5547
- PRIVATE = "private",
5548
- CONFIDENTIAL = "confidential"
5549
- }
5550
- /**
5551
- * Media file metadata interface
5552
- */
5553
- interface MediaMetadata {
5554
- id: string;
5555
- name: string;
5556
- url: string;
5557
- contentType: string;
5558
- size: number;
5559
- createdAt: Timestamp;
5560
- accessLevel: MediaAccessLevel;
5561
- ownerId: string;
5562
- collectionName: string;
5563
- path: string;
5564
- updatedAt?: Timestamp;
5565
- }
5566
- declare class MediaService extends BaseService {
5567
- constructor(db: Firestore, auth: Auth, app: FirebaseApp);
5568
- /**
5569
- * Upload a media file, store its metadata, and return the metadata including the URL.
5570
- * @param file - The file to upload.
5571
- * @param ownerId - ID of the owner (user, patient, clinic, etc.).
5572
- * @param accessLevel - Access level (public, private, confidential).
5573
- * @param collectionName - The logical collection name this media belongs to (e.g., 'patient_profile_pictures', 'clinic_logos').
5574
- * @param originalFileName - Optional: the original name of the file, if not using file.name.
5575
- * @returns Promise with the media metadata.
5576
- */
5577
- uploadMedia(file: File | Blob, ownerId: string, accessLevel: MediaAccessLevel, collectionName: string, originalFileName?: string): Promise<MediaMetadata>;
5578
5634
  /**
5579
- * Get media metadata from Firestore by its ID.
5580
- * @param mediaId - ID of the media.
5581
- * @returns Promise with the media metadata or null if not found.
5582
- */
5583
- getMediaMetadata(mediaId: string): Promise<MediaMetadata | null>;
5584
- /**
5585
- * Get media metadata from Firestore by its public URL.
5586
- * @param url - The public URL of the media file.
5587
- * @returns Promise with the media metadata or null if not found.
5588
- */
5589
- getMediaMetadataByUrl(url: string): Promise<MediaMetadata | null>;
5590
- /**
5591
- * Delete media from storage and remove metadata from Firestore.
5592
- * @param mediaId - ID of the media to delete.
5593
- */
5594
- deleteMedia(mediaId: string): Promise<void>;
5595
- /**
5596
- * Update media access level. This involves moving the file in Firebase Storage
5597
- * to a new path reflecting the new access level, and updating its metadata.
5598
- * @param mediaId - ID of the media to update.
5599
- * @param newAccessLevel - New access level.
5600
- * @returns Promise with the updated media metadata, or null if metadata not found.
5635
+ * Updates the onboarding status for a clinic group
5636
+ *
5637
+ * @param groupId - The ID of the clinic group to update
5638
+ * @param onboardingData - The onboarding data to update
5639
+ * @returns The updated clinic group
5601
5640
  */
5602
- updateMediaAccessLevel(mediaId: string, newAccessLevel: MediaAccessLevel): Promise<MediaMetadata | null>;
5641
+ setOnboarding(groupId: string, onboardingData: {
5642
+ completed?: boolean;
5643
+ step?: number;
5644
+ }): Promise<ClinicGroup>;
5603
5645
  /**
5604
- * List all media for an owner, optionally filtered by collection and access level.
5605
- * @param ownerId - ID of the owner.
5606
- * @param collectionName - Optional: Filter by collection name.
5607
- * @param accessLevel - Optional: Filter by access level.
5608
- * @param count - Optional: Number of items to fetch.
5609
- * @param startAfterId - Optional: ID of the document to start after (for pagination).
5646
+ * Sets the current onboarding step for a clinic group
5647
+ *
5648
+ * @param groupId - The ID of the clinic group to update
5649
+ * @param step - The current onboarding step number
5650
+ * @returns The updated clinic group
5610
5651
  */
5611
- listMedia(ownerId: string, collectionName?: string, accessLevel?: MediaAccessLevel, count?: number, startAfterId?: string): Promise<MediaMetadata[]>;
5652
+ setOnboardingStep(groupId: string, step: number): Promise<ClinicGroup>;
5612
5653
  /**
5613
- * Get download URL for media. (Convenience, as URL is in metadata)
5614
- * @param mediaId - ID of the media.
5654
+ * Marks the onboarding process as completed for a clinic group
5655
+ *
5656
+ * @param groupId - The ID of the clinic group to update
5657
+ * @returns The updated clinic group
5615
5658
  */
5616
- getMediaDownloadUrl(mediaId: string): Promise<string | null>;
5659
+ completeOnboarding(groupId: string): Promise<ClinicGroup>;
5617
5660
  }
5618
5661
 
5619
5662
  declare class ClinicService extends BaseService {
@@ -5659,6 +5702,10 @@ declare class ClinicService extends BaseService {
5659
5702
  * Deactivates a clinic.
5660
5703
  */
5661
5704
  deactivateClinic(clinicId: string, adminId: string): Promise<void>;
5705
+ /**
5706
+ * Activates a clinic.
5707
+ */
5708
+ activateClinic(clinicId: string, adminId: string): Promise<void>;
5662
5709
  /**
5663
5710
  * Dohvata kliniku po ID-u
5664
5711
  */
@@ -7254,7 +7301,7 @@ declare class SyncedCalendarsService extends BaseService {
7254
7301
  declare class ReviewService extends BaseService {
7255
7302
  constructor(db: Firestore, auth: Auth, app: FirebaseApp);
7256
7303
  /**
7257
- * Creates a new review and updates related entities
7304
+ * Creates a new review
7258
7305
  * @param data - The review data to create
7259
7306
  * @param appointmentId - ID of the completed appointment
7260
7307
  * @returns The created review
@@ -7297,45 +7344,10 @@ declare class ReviewService extends BaseService {
7297
7344
  */
7298
7345
  getReviewByAppointment(appointmentId: string): Promise<Review | null>;
7299
7346
  /**
7300
- * Deletes a review and updates related entities
7347
+ * Deletes a review
7301
7348
  * @param reviewId The ID of the review to delete
7302
7349
  */
7303
7350
  deleteReview(reviewId: string): Promise<void>;
7304
- /**
7305
- * Updates the review info for a clinic
7306
- * @param clinicId The ID of the clinic to update
7307
- * @param newReview Optional new review being added or removed
7308
- * @param isRemoval Whether this update is for a review removal
7309
- * @returns The updated clinic review info
7310
- */
7311
- updateClinicReviewInfo(clinicId: string, newReview?: ClinicReview, isRemoval?: boolean): Promise<ClinicReviewInfo>;
7312
- /**
7313
- * Updates the review info for a practitioner
7314
- * @param practitionerId The ID of the practitioner to update
7315
- * @param newReview Optional new review being added or removed
7316
- * @param isRemoval Whether this update is for a review removal
7317
- * @returns The updated practitioner review info
7318
- */
7319
- updatePractitionerReviewInfo(practitionerId: string, newReview?: PractitionerReview, isRemoval?: boolean): Promise<PractitionerReviewInfo>;
7320
- /**
7321
- * Updates the review info for a procedure
7322
- * @param procedureId The ID of the procedure to update
7323
- * @param newReview Optional new review being added or removed
7324
- * @param isRemoval Whether this update is for a review removal
7325
- * @returns The updated procedure review info
7326
- */
7327
- updateProcedureReviewInfo(procedureId: string, newReview?: ProcedureReview, isRemoval?: boolean): Promise<ProcedureReviewInfo>;
7328
- /**
7329
- * Updates doctorInfo rating in all procedures for a practitioner
7330
- * @param practitionerId The ID of the practitioner
7331
- * @param rating The new rating to set
7332
- */
7333
- private updateDoctorInfoInProcedures;
7334
- /**
7335
- * Verifies a review as checked by admin/staff
7336
- * @param reviewId The ID of the review to verify
7337
- */
7338
- verifyReview(reviewId: string): Promise<void>;
7339
7351
  /**
7340
7352
  * Calculates the average of an array of numbers
7341
7353
  * @param numbers Array of numbers to average
@@ -14051,6 +14063,16 @@ declare const clinicGroupSchema: z.ZodObject<{
14051
14063
  calendarSyncEnabled: z.ZodOptional<z.ZodBoolean>;
14052
14064
  autoConfirmAppointments: z.ZodOptional<z.ZodBoolean>;
14053
14065
  businessIdentificationNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
14066
+ onboarding: z.ZodOptional<z.ZodObject<{
14067
+ completed: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14068
+ step: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14069
+ }, "strip", z.ZodTypeAny, {
14070
+ completed: boolean;
14071
+ step: number;
14072
+ }, {
14073
+ completed?: boolean | undefined;
14074
+ step?: number | undefined;
14075
+ }>>;
14054
14076
  }, "strip", z.ZodTypeAny, {
14055
14077
  id: string;
14056
14078
  createdAt: Date | Timestamp;
@@ -14079,6 +14101,7 @@ declare const clinicGroupSchema: z.ZodObject<{
14079
14101
  featuredPhoto: string;
14080
14102
  description?: string | null | undefined;
14081
14103
  }[];
14104
+ ownerId: string | null;
14082
14105
  contactInfo: {
14083
14106
  email: string;
14084
14107
  phoneNumber: string;
@@ -14101,7 +14124,6 @@ declare const clinicGroupSchema: z.ZodObject<{
14101
14124
  phoneNumber?: string | null | undefined;
14102
14125
  title?: string | null | undefined;
14103
14126
  };
14104
- ownerId: string | null;
14105
14127
  subscriptionModel: SubscriptionModel;
14106
14128
  admins: string[];
14107
14129
  adminsInfo: {
@@ -14125,6 +14147,10 @@ declare const clinicGroupSchema: z.ZodObject<{
14125
14147
  calendarSyncEnabled?: boolean | undefined;
14126
14148
  autoConfirmAppointments?: boolean | undefined;
14127
14149
  businessIdentificationNumber?: string | null | undefined;
14150
+ onboarding?: {
14151
+ completed: boolean;
14152
+ step: number;
14153
+ } | undefined;
14128
14154
  }, {
14129
14155
  id: string;
14130
14156
  createdAt: Date | Timestamp;
@@ -14153,6 +14179,7 @@ declare const clinicGroupSchema: z.ZodObject<{
14153
14179
  featuredPhoto: string;
14154
14180
  description?: string | null | undefined;
14155
14181
  }[];
14182
+ ownerId: string | null;
14156
14183
  contactInfo: {
14157
14184
  email: string;
14158
14185
  phoneNumber: string;
@@ -14175,7 +14202,6 @@ declare const clinicGroupSchema: z.ZodObject<{
14175
14202
  phoneNumber?: string | null | undefined;
14176
14203
  title?: string | null | undefined;
14177
14204
  };
14178
- ownerId: string | null;
14179
14205
  subscriptionModel: SubscriptionModel;
14180
14206
  admins: string[];
14181
14207
  adminsInfo: {
@@ -14199,6 +14225,10 @@ declare const clinicGroupSchema: z.ZodObject<{
14199
14225
  calendarSyncEnabled?: boolean | undefined;
14200
14226
  autoConfirmAppointments?: boolean | undefined;
14201
14227
  businessIdentificationNumber?: string | null | undefined;
14228
+ onboarding?: {
14229
+ completed?: boolean | undefined;
14230
+ step?: number | undefined;
14231
+ } | undefined;
14202
14232
  }>;
14203
14233
  /**
14204
14234
  * Validaciona šema za kliniku
@@ -15076,9 +15106,20 @@ declare const createClinicGroupSchema: z.ZodObject<{
15076
15106
  calendarSyncEnabled: z.ZodOptional<z.ZodBoolean>;
15077
15107
  autoConfirmAppointments: z.ZodOptional<z.ZodBoolean>;
15078
15108
  businessIdentificationNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
15109
+ onboarding: z.ZodOptional<z.ZodObject<{
15110
+ completed: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
15111
+ step: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15112
+ }, "strip", z.ZodTypeAny, {
15113
+ completed: boolean;
15114
+ step: number;
15115
+ }, {
15116
+ completed?: boolean | undefined;
15117
+ step?: number | undefined;
15118
+ }>>;
15079
15119
  }, "strip", z.ZodTypeAny, {
15080
15120
  name: string;
15081
15121
  isActive: boolean;
15122
+ ownerId: string | null;
15082
15123
  contactInfo: {
15083
15124
  email: string;
15084
15125
  phoneNumber: string;
@@ -15101,7 +15142,6 @@ declare const createClinicGroupSchema: z.ZodObject<{
15101
15142
  phoneNumber?: string | null | undefined;
15102
15143
  title?: string | null | undefined;
15103
15144
  };
15104
- ownerId: string | null;
15105
15145
  subscriptionModel: SubscriptionModel;
15106
15146
  description?: string | undefined;
15107
15147
  logo?: string | File | Blob | null | undefined;
@@ -15110,9 +15150,14 @@ declare const createClinicGroupSchema: z.ZodObject<{
15110
15150
  calendarSyncEnabled?: boolean | undefined;
15111
15151
  autoConfirmAppointments?: boolean | undefined;
15112
15152
  businessIdentificationNumber?: string | null | undefined;
15153
+ onboarding?: {
15154
+ completed: boolean;
15155
+ step: number;
15156
+ } | undefined;
15113
15157
  }, {
15114
15158
  name: string;
15115
15159
  isActive: boolean;
15160
+ ownerId: string | null;
15116
15161
  contactInfo: {
15117
15162
  email: string;
15118
15163
  phoneNumber: string;
@@ -15135,7 +15180,6 @@ declare const createClinicGroupSchema: z.ZodObject<{
15135
15180
  phoneNumber?: string | null | undefined;
15136
15181
  title?: string | null | undefined;
15137
15182
  };
15138
- ownerId: string | null;
15139
15183
  description?: string | undefined;
15140
15184
  logo?: string | File | Blob | null | undefined;
15141
15185
  practiceType?: PracticeType | undefined;
@@ -15144,6 +15188,10 @@ declare const createClinicGroupSchema: z.ZodObject<{
15144
15188
  calendarSyncEnabled?: boolean | undefined;
15145
15189
  autoConfirmAppointments?: boolean | undefined;
15146
15190
  businessIdentificationNumber?: string | null | undefined;
15191
+ onboarding?: {
15192
+ completed?: boolean | undefined;
15193
+ step?: number | undefined;
15194
+ } | undefined;
15147
15195
  }>;
15148
15196
  /**
15149
15197
  * Validaciona šema za kreiranje klinike
@@ -15864,9 +15912,20 @@ declare const createDefaultClinicGroupSchema: z.ZodObject<{
15864
15912
  practiceType: z.ZodOptional<z.ZodNativeEnum<typeof PracticeType>>;
15865
15913
  languages: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof Language>, "many">>;
15866
15914
  subscriptionModel: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof SubscriptionModel>>>;
15915
+ onboarding: z.ZodOptional<z.ZodObject<{
15916
+ completed: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
15917
+ step: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15918
+ }, "strip", z.ZodTypeAny, {
15919
+ completed: boolean;
15920
+ step: number;
15921
+ }, {
15922
+ completed?: boolean | undefined;
15923
+ step?: number | undefined;
15924
+ }>>;
15867
15925
  }, "strip", z.ZodTypeAny, {
15868
15926
  name: string;
15869
15927
  isActive: boolean;
15928
+ ownerId: string | null;
15870
15929
  contactInfo: {
15871
15930
  email: string;
15872
15931
  phoneNumber: string;
@@ -15889,14 +15948,18 @@ declare const createDefaultClinicGroupSchema: z.ZodObject<{
15889
15948
  phoneNumber?: string | null | undefined;
15890
15949
  title?: string | null | undefined;
15891
15950
  };
15892
- ownerId: string | null;
15893
15951
  subscriptionModel: SubscriptionModel;
15894
15952
  logo?: string | File | Blob | null | undefined;
15895
15953
  practiceType?: PracticeType | undefined;
15896
15954
  languages?: Language[] | undefined;
15955
+ onboarding?: {
15956
+ completed: boolean;
15957
+ step: number;
15958
+ } | undefined;
15897
15959
  }, {
15898
15960
  name: string;
15899
15961
  isActive: boolean;
15962
+ ownerId: string | null;
15900
15963
  contactInfo: {
15901
15964
  email: string;
15902
15965
  phoneNumber: string;
@@ -15919,11 +15982,14 @@ declare const createDefaultClinicGroupSchema: z.ZodObject<{
15919
15982
  phoneNumber?: string | null | undefined;
15920
15983
  title?: string | null | undefined;
15921
15984
  };
15922
- ownerId: string | null;
15923
15985
  logo?: string | File | Blob | null | undefined;
15924
15986
  practiceType?: PracticeType | undefined;
15925
15987
  languages?: Language[] | undefined;
15926
15988
  subscriptionModel?: SubscriptionModel | undefined;
15989
+ onboarding?: {
15990
+ completed?: boolean | undefined;
15991
+ step?: number | undefined;
15992
+ } | undefined;
15927
15993
  }>;
15928
15994
  /**
15929
15995
  * Validaciona šema za kreiranje administratora klinike
@@ -16091,6 +16157,16 @@ declare const clinicGroupSetupSchema: z.ZodObject<{
16091
16157
  calendarSyncEnabled: z.ZodBoolean;
16092
16158
  autoConfirmAppointments: z.ZodBoolean;
16093
16159
  businessIdentificationNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
16160
+ onboarding: z.ZodOptional<z.ZodObject<{
16161
+ completed: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
16162
+ step: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
16163
+ }, "strip", z.ZodTypeAny, {
16164
+ completed: boolean;
16165
+ step: number;
16166
+ }, {
16167
+ completed?: boolean | undefined;
16168
+ step?: number | undefined;
16169
+ }>>;
16094
16170
  }, "strip", z.ZodTypeAny, {
16095
16171
  description: string;
16096
16172
  logo: string | File | Blob;
@@ -16099,6 +16175,10 @@ declare const clinicGroupSetupSchema: z.ZodObject<{
16099
16175
  calendarSyncEnabled: boolean;
16100
16176
  autoConfirmAppointments: boolean;
16101
16177
  businessIdentificationNumber?: string | null | undefined;
16178
+ onboarding?: {
16179
+ completed: boolean;
16180
+ step: number;
16181
+ } | undefined;
16102
16182
  }, {
16103
16183
  description: string;
16104
16184
  logo: string | File | Blob;
@@ -16107,6 +16187,10 @@ declare const clinicGroupSetupSchema: z.ZodObject<{
16107
16187
  calendarSyncEnabled: boolean;
16108
16188
  autoConfirmAppointments: boolean;
16109
16189
  businessIdentificationNumber?: string | null | undefined;
16190
+ onboarding?: {
16191
+ completed?: boolean | undefined;
16192
+ step?: number | undefined;
16193
+ } | undefined;
16110
16194
  }>;
16111
16195
  /**
16112
16196
  * Validaciona šema za kreiranje klinike
@@ -16783,10 +16867,21 @@ declare const updateClinicGroupSchema: z.ZodObject<{
16783
16867
  calendarSyncEnabled: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
16784
16868
  autoConfirmAppointments: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
16785
16869
  businessIdentificationNumber: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
16870
+ onboarding: z.ZodOptional<z.ZodOptional<z.ZodObject<{
16871
+ completed: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
16872
+ step: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
16873
+ }, "strip", z.ZodTypeAny, {
16874
+ completed: boolean;
16875
+ step: number;
16876
+ }, {
16877
+ completed?: boolean | undefined;
16878
+ step?: number | undefined;
16879
+ }>>>;
16786
16880
  }, "strip", z.ZodTypeAny, {
16787
16881
  name?: string | undefined;
16788
16882
  isActive?: boolean | undefined;
16789
16883
  description?: string | undefined;
16884
+ ownerId?: string | null | undefined;
16790
16885
  contactInfo?: {
16791
16886
  email: string;
16792
16887
  phoneNumber: string;
@@ -16809,7 +16904,6 @@ declare const updateClinicGroupSchema: z.ZodObject<{
16809
16904
  phoneNumber?: string | null | undefined;
16810
16905
  title?: string | null | undefined;
16811
16906
  } | undefined;
16812
- ownerId?: string | null | undefined;
16813
16907
  logo?: string | File | Blob | null | undefined;
16814
16908
  practiceType?: PracticeType | undefined;
16815
16909
  languages?: Language[] | undefined;
@@ -16817,10 +16911,15 @@ declare const updateClinicGroupSchema: z.ZodObject<{
16817
16911
  calendarSyncEnabled?: boolean | undefined;
16818
16912
  autoConfirmAppointments?: boolean | undefined;
16819
16913
  businessIdentificationNumber?: string | null | undefined;
16914
+ onboarding?: {
16915
+ completed: boolean;
16916
+ step: number;
16917
+ } | undefined;
16820
16918
  }, {
16821
16919
  name?: string | undefined;
16822
16920
  isActive?: boolean | undefined;
16823
16921
  description?: string | undefined;
16922
+ ownerId?: string | null | undefined;
16824
16923
  contactInfo?: {
16825
16924
  email: string;
16826
16925
  phoneNumber: string;
@@ -16843,7 +16942,6 @@ declare const updateClinicGroupSchema: z.ZodObject<{
16843
16942
  phoneNumber?: string | null | undefined;
16844
16943
  title?: string | null | undefined;
16845
16944
  } | undefined;
16846
- ownerId?: string | null | undefined;
16847
16945
  logo?: string | File | Blob | null | undefined;
16848
16946
  practiceType?: PracticeType | undefined;
16849
16947
  languages?: Language[] | undefined;
@@ -16851,6 +16949,10 @@ declare const updateClinicGroupSchema: z.ZodObject<{
16851
16949
  calendarSyncEnabled?: boolean | undefined;
16852
16950
  autoConfirmAppointments?: boolean | undefined;
16853
16951
  businessIdentificationNumber?: string | null | undefined;
16952
+ onboarding?: {
16953
+ completed?: boolean | undefined;
16954
+ step?: number | undefined;
16955
+ } | undefined;
16854
16956
  }>;
16855
16957
  /**
16856
16958
  * Validaciona šema za updating clinic
@@ -19404,4 +19506,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
19404
19506
  } | undefined;
19405
19507
  }>;
19406
19508
 
19407
- 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 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, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, 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, 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 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, 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 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 };
19509
+ 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 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, 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, 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 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, 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 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 };