@posiwise/common-services 0.2.15 → 0.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/fesm2022/posiwise-common-services.mjs +231 -135
  2. package/fesm2022/posiwise-common-services.mjs.map +1 -1
  3. package/package.json +11 -11
  4. package/types/posiwise-common-services.d.ts +1187 -0
  5. package/index.d.ts +0 -43
  6. package/lib/ab-test.service.d.ts +0 -27
  7. package/lib/ahoy.service.d.ts +0 -21
  8. package/lib/auth.service.d.ts +0 -105
  9. package/lib/base-http.service.d.ts +0 -23
  10. package/lib/brain-api-http.service.d.ts +0 -10
  11. package/lib/brain.service.d.ts +0 -15
  12. package/lib/common-services.interface.d.ts +0 -161
  13. package/lib/common-services.module.d.ts +0 -9
  14. package/lib/common.service.d.ts +0 -39
  15. package/lib/custom-preloading.service.d.ts +0 -13
  16. package/lib/dashboard.service.d.ts +0 -9
  17. package/lib/data.service.d.ts +0 -8
  18. package/lib/date-formatter.service.d.ts +0 -10
  19. package/lib/effects/user.effects.d.ts +0 -12
  20. package/lib/form-helper.service.d.ts +0 -6
  21. package/lib/geo.service.d.ts +0 -14
  22. package/lib/google-analytics.service.d.ts +0 -40
  23. package/lib/group.service.d.ts +0 -37
  24. package/lib/hopscotch.service.d.ts +0 -25
  25. package/lib/integrations-api-http.service.d.ts +0 -10
  26. package/lib/link-loader.service.d.ts +0 -28
  27. package/lib/local-storage.service.d.ts +0 -11
  28. package/lib/logo-caching.service.d.ts +0 -11
  29. package/lib/mailbox.service.d.ts +0 -19
  30. package/lib/main-api-http.service.d.ts +0 -10
  31. package/lib/notification.service.d.ts +0 -23
  32. package/lib/number-picker.service.d.ts +0 -33
  33. package/lib/permission.service.d.ts +0 -52
  34. package/lib/primeNgHelper.d.ts +0 -4
  35. package/lib/product.service.d.ts +0 -24
  36. package/lib/profile.service.d.ts +0 -28
  37. package/lib/qualification.service.d.ts +0 -12
  38. package/lib/script-loader.service.d.ts +0 -13
  39. package/lib/secure-token-storage.service.d.ts +0 -94
  40. package/lib/sentry.service.d.ts +0 -61
  41. package/lib/seo.service.d.ts +0 -16
  42. package/lib/socket.service.d.ts +0 -13
  43. package/lib/subscription.service.d.ts +0 -40
  44. package/lib/tag.service.d.ts +0 -25
  45. package/lib/tips.service.d.ts +0 -15
  46. package/lib/toast.service.d.ts +0 -15
  47. package/lib/user.service.d.ts +0 -64
  48. package/lib/validation.service.d.ts +0 -15
  49. package/lib/window.service.d.ts +0 -10
@@ -0,0 +1,1187 @@
1
+ import { Router, PreloadingStrategy, Route } from '@angular/router';
2
+ import { AppConfigService } from '@posiwise/app-config-service';
3
+ import * as i0 from '@angular/core';
4
+ import { Injector, RendererFactory2, ErrorHandler } from '@angular/core';
5
+ import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
6
+ import * as rxjs from 'rxjs';
7
+ import { Observable } from 'rxjs';
8
+ import * as i1 from '@angular/common';
9
+ import * as i2 from '@ngrx/effects';
10
+ import * as i3 from '@ngrx/store';
11
+ import { Store, Action } from '@ngrx/store';
12
+ import { Meta, Title } from '@angular/platform-browser';
13
+ import { User, Paging, Subscription } from '@posiwise/common-utilities';
14
+ import { ToastrService, IndividualConfig } from 'ngx-toastr';
15
+ import { AppState, UserState } from '@posiwise/app-store';
16
+ import { CookieService } from 'ngx-cookie';
17
+ import { ValidationErrors, ValidatorFn, UntypedFormGroup, UntypedFormControl, AbstractControl } from '@angular/forms';
18
+ import { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';
19
+
20
+ declare class ScriptLoaderService {
21
+ private readonly document;
22
+ private _scripts;
23
+ constructor(document: Document);
24
+ private getCspNonce;
25
+ load(tag: any, ...scripts: string[]): Promise<object[]>;
26
+ loadScripts(tag: any, scripts: any, loadOnce?: boolean): Promise<object[]>;
27
+ loadScript(tag: any, src: string, loadOnce?: boolean): Promise<unknown>;
28
+ loadStyle(styleUrl: string): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScriptLoaderService, never>;
30
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScriptLoaderService>;
31
+ }
32
+
33
+ declare global {
34
+ interface Window {
35
+ ga: any;
36
+ }
37
+ }
38
+ declare class GoogleAnalyticsService {
39
+ private readonly router;
40
+ private readonly scriptLoader;
41
+ private readonly appConfigService;
42
+ private static trackingId;
43
+ private subscription;
44
+ constructor(router: Router, scriptLoader: ScriptLoaderService, appConfigService: AppConfigService);
45
+ private isGaAvailable;
46
+ loadGScript(): Promise<void>;
47
+ pushArgumentsGA(): void;
48
+ private addOneTimeTrackingListeners;
49
+ subscribe(): void;
50
+ /**
51
+ * Emit google analytics event
52
+ * Fire event example:
53
+ * this.sendEvent("testCategory", "testAction", "testLabel", 10);
54
+ * @param {string} eventCategory
55
+ * @param {string} eventAction
56
+ * @param {string} eventLabel
57
+ * @param {number} eventValue
58
+ */
59
+ sendEvent(eventCategory: string, eventAction: string, eventLabel?: string, eventValue?: number): void;
60
+ /**
61
+ * Enable UserId Tracking for Google Analytics
62
+ * @param user
63
+ */
64
+ setUserContext(user: any): void;
65
+ unsubscribe(): void;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<GoogleAnalyticsService, never>;
67
+ static ɵprov: i0.ɵɵInjectableDeclaration<GoogleAnalyticsService>;
68
+ }
69
+
70
+ declare abstract class BaseHttpService {
71
+ http: HttpClient;
72
+ injector: Injector;
73
+ protected baseUrl: string;
74
+ private readonly toast;
75
+ abstract getConfig(): void;
76
+ constructor(http: HttpClient, injector: Injector);
77
+ get<T>(url: any): Observable<any>;
78
+ getWithParams<T>(url: any, params: any): Observable<any>;
79
+ post<T>(url: any, params?: {}): Observable<any>;
80
+ put<T>(url: any, params?: {}): Observable<any>;
81
+ patch<T>(url: any, params?: {}): Observable<any>;
82
+ delete<T>(url: any, option?: {}): Observable<any>;
83
+ upload(url: any, file: File, param: any): Observable<any>;
84
+ uploadWithData(url: string, data: any): Observable<any>;
85
+ handleError(error: HttpErrorResponse): void;
86
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseHttpService, never>;
87
+ static ɵprov: i0.ɵɵInjectableDeclaration<BaseHttpService>;
88
+ }
89
+
90
+ declare class CommonServicesModule {
91
+ static ɵfac: i0.ɵɵFactoryDeclaration<CommonServicesModule, never>;
92
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CommonServicesModule, never, [typeof i1.CommonModule, typeof i2.EffectsRootModule, typeof i3.StoreRootModule], never>;
93
+ static ɵinj: i0.ɵɵInjectorDeclaration<CommonServicesModule>;
94
+ }
95
+
96
+ declare class SeoService {
97
+ private readonly meta;
98
+ private readonly titleService;
99
+ constructor(meta: Meta, titleService: Title);
100
+ /**
101
+ * Set SEO metadata for a page
102
+ * @param title - Page title
103
+ * @param description - Meta description
104
+ * @param keywords - Meta keywords (optional)
105
+ */
106
+ setSEO(title: string, description: string, keywords?: string): void;
107
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeoService, never>;
108
+ static ɵprov: i0.ɵɵInjectableDeclaration<SeoService>;
109
+ }
110
+
111
+ declare class MainApiHttpService extends BaseHttpService {
112
+ constructor(http: HttpClient, injector: Injector);
113
+ getConfig(): void;
114
+ static ɵfac: i0.ɵɵFactoryDeclaration<MainApiHttpService, never>;
115
+ static ɵprov: i0.ɵɵInjectableDeclaration<MainApiHttpService>;
116
+ }
117
+
118
+ declare class PermissionService {
119
+ private readonly api;
120
+ static selectedProduct: any;
121
+ static selectedSubscription: any;
122
+ user: User;
123
+ constructor(api: MainApiHttpService);
124
+ setCurrentSubscription(subscription: any): void;
125
+ isGranted(permissionName: string, productKey?: any, permission_key?: any, productSlug?: any): boolean;
126
+ private hasAnyGrantedPermission;
127
+ handleProductKey(productKey: any, user: any, permission_key: any, permissionName: any): any;
128
+ private getFormattedPermissionName;
129
+ getPermissionTreeDataByRole(data: any): {
130
+ permissions: any[];
131
+ grantedPermissionNames: string[];
132
+ };
133
+ evaluatePermissions(permission: string, productKey?: string, permission_key?: string, productSlug?: string): boolean;
134
+ /** Safe boolean expression parser - replaces eval() for CSP compliance. */
135
+ private evaluateBooleanExpression;
136
+ handleNonBooleanPermissions(permission: any, expr: any, productKey: any, permission_key: any, productSlug: any): any;
137
+ getPermissionByRole(roleId: number): rxjs.Observable<any>;
138
+ saveUserPermission(payload: any): rxjs.Observable<any>;
139
+ /**
140
+ * determine user is super_admin using user.auth.granted['Pages.SuperAdmin']
141
+ */
142
+ isSuperAdmin(): boolean;
143
+ /**
144
+ * Any Product Admin regardless of the product being master product or not.
145
+ */
146
+ isUserSubscriptionOwner(product?: any): boolean;
147
+ /**
148
+ * Any Product Admin regardless of the product being master product or not.
149
+ * *rbacAllow="SubscriptionAdmin"
150
+ * @returns
151
+ */
152
+ isUserSubscriptionAdmin(product?: any): boolean;
153
+ /**
154
+ * Any Product Admin of the product being the master product
155
+ */
156
+ isUserSubscriptionSuperAdmin(product?: any): boolean;
157
+ isUserMasterSubscriptionSuperAdmin(product?: any): boolean;
158
+ /**
159
+ * Any Product Admin of the product being the master product
160
+ */
161
+ isUserSubscriptionSuperOwner(product?: any): boolean;
162
+ setCurrentProduct(product: any): void;
163
+ getCurrentProduct(): any;
164
+ static ɵfac: i0.ɵɵFactoryDeclaration<PermissionService, never>;
165
+ static ɵprov: i0.ɵɵInjectableDeclaration<PermissionService>;
166
+ }
167
+
168
+ declare class CustomToastService {
169
+ private readonly toastr;
170
+ constructor(toastr: ToastrService);
171
+ success(message: string, title?: string, options?: Partial<IndividualConfig>): void;
172
+ error(message: string, title?: string, options?: Partial<IndividualConfig>): void;
173
+ info(message: string, title?: string, options?: Partial<IndividualConfig>): void;
174
+ warning(message: string, title?: string, options?: Partial<IndividualConfig>): void;
175
+ showToast(errorResponse: any): void;
176
+ clear(): void;
177
+ showToastrOnType(type: string, message: string): void;
178
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomToastService, never>;
179
+ static ɵprov: i0.ɵɵInjectableDeclaration<CustomToastService>;
180
+ }
181
+
182
+ interface ProfileData {
183
+ id?: number;
184
+ send_marketing_emails?: string[];
185
+ avatar?: string;
186
+ /**
187
+ * UTC datetime when the user accepted the latest Terms of Service.
188
+ * This is written via the generic `/user` profile update endpoint.
189
+ */
190
+ tos_accepted_at?: string;
191
+ }
192
+ interface RequestParams {
193
+ [key: string]: string | number | boolean;
194
+ }
195
+ interface SignUpValues {
196
+ confirmation_path: string;
197
+ contact_name?: string;
198
+ email?: string;
199
+ user_signup_url: string;
200
+ organisation?: string;
201
+ product_id: number;
202
+ units: number;
203
+ stripe_token: string;
204
+ master_subscription_id: number;
205
+ }
206
+ interface GetFaqParams {
207
+ subscription_id?: number;
208
+ feature_key?: string;
209
+ page?: number;
210
+ pageSize?: number;
211
+ }
212
+ interface AddProjectPicturesData {
213
+ project_id: number;
214
+ image: File;
215
+ }
216
+ interface AhoyEvent {
217
+ id: number;
218
+ user_id: number;
219
+ name: string;
220
+ properties: Paging;
221
+ time: string;
222
+ visit_id: number;
223
+ user: User;
224
+ }
225
+ interface AhoyEventResponse {
226
+ events: AhoyEvent[];
227
+ object_count: number;
228
+ unfiltered_count: number;
229
+ }
230
+ interface AhoyMessage {
231
+ id: number;
232
+ token: string;
233
+ to: string;
234
+ user_id: number;
235
+ user_type: string;
236
+ mailer: string;
237
+ subject: string;
238
+ utm_source: string;
239
+ utm_medium: string;
240
+ utm_term: string;
241
+ utm_content: string;
242
+ utm_campaign: string;
243
+ sent_at: string;
244
+ opened_at: string;
245
+ clicked_at: string;
246
+ open_count: number;
247
+ click_count: number;
248
+ user: User;
249
+ }
250
+ interface AhoyMessageResponse {
251
+ messages: AhoyMessage[];
252
+ object_count: number;
253
+ unfiltered_count: number;
254
+ }
255
+ interface AhoyVisit {
256
+ id: number;
257
+ visit_token: string;
258
+ visitor_token: string;
259
+ user_id: number;
260
+ ip: string;
261
+ user_agent: string;
262
+ referrer: string;
263
+ referring_domain: string;
264
+ landing_page: string;
265
+ browser: string;
266
+ os: string;
267
+ device_type: string;
268
+ country: string;
269
+ region: string;
270
+ city: string;
271
+ postal_code: string;
272
+ latitude: string;
273
+ longitude: string;
274
+ utm_source: string;
275
+ utm_medium: string;
276
+ utm_term: string;
277
+ utm_content: string;
278
+ utm_campaign: string;
279
+ started_at: string;
280
+ platform: string;
281
+ user: User;
282
+ }
283
+ interface AhoyVisitResponse {
284
+ visits: AhoyVisit[];
285
+ object_count: number;
286
+ unfiltered_count: number;
287
+ }
288
+ interface TrackEvent {
289
+ id: number;
290
+ user_id: number;
291
+ related_entity_id: number;
292
+ related_entity_type: string;
293
+ event_type: string;
294
+ created_at: string;
295
+ updated_at: string;
296
+ user: User;
297
+ }
298
+ interface TrackEventResponse {
299
+ events: TrackEvent[];
300
+ object_count: number;
301
+ unfiltered_count: number;
302
+ }
303
+ interface Author {
304
+ id: number;
305
+ name: string;
306
+ email: string;
307
+ }
308
+ interface ObjectDetails {
309
+ id: number;
310
+ name: string;
311
+ description?: string;
312
+ current_sign_in_at: string;
313
+ }
314
+ interface AhoyVersion {
315
+ item_id: number;
316
+ item_type: string;
317
+ event: string;
318
+ object: ObjectDetails;
319
+ created_at: string;
320
+ updated_at: string;
321
+ whoDoneIt: number;
322
+ author: Author;
323
+ }
324
+ interface AhoyVersionResponse {
325
+ versions: AhoyVersion[];
326
+ object_count: number;
327
+ unfiltered_count: number;
328
+ }
329
+
330
+ declare class IntegrationsApiHttpService extends BaseHttpService {
331
+ constructor(http: HttpClient, injector: Injector);
332
+ getConfig(): void;
333
+ static ɵfac: i0.ɵɵFactoryDeclaration<IntegrationsApiHttpService, never>;
334
+ static ɵprov: i0.ɵɵInjectableDeclaration<IntegrationsApiHttpService>;
335
+ }
336
+
337
+ declare class LocalStorage {
338
+ getItem$(key: string): rxjs.Observable<string>;
339
+ setItem$(key: string, value: string): rxjs.Observable<void>;
340
+ removeItem$(key: string): rxjs.Observable<void>;
341
+ clear$(): rxjs.Observable<void>;
342
+ clearAll(): void;
343
+ getItem(key: string): string;
344
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorage, never>;
345
+ static ɵprov: i0.ɵɵInjectableDeclaration<LocalStorage>;
346
+ }
347
+
348
+ /**
349
+ * Secure Token Storage Service
350
+ *
351
+ * This service provides secure token storage using memory + secure cookies.
352
+ * NO localStorage usage - tokens are stored only in memory and secure cookies.
353
+ *
354
+ * Security Features:
355
+ * - Memory storage (primary) - not persistent across refreshes
356
+ * - Secure cookies (backup) - with SameSite=Strict protection
357
+ * - No localStorage - prevents XSS token theft
358
+ * - Secure flag for HTTPS
359
+ * - CSRF protection via SameSite cookies
360
+ */
361
+ declare class SecureTokenStorageService {
362
+ private readonly document;
363
+ private readonly TOKEN_COOKIE_NAME;
364
+ private readonly IMPERSONATED_TOKEN_COOKIE_NAME;
365
+ private readonly PHONEGAP_TOKEN_COOKIE_NAME;
366
+ private readonly memoryStorage;
367
+ private readonly tokenSubject;
368
+ private readonly impersonatedTokenSubject;
369
+ private readonly phonegapTokenSubject;
370
+ constructor(document: Document);
371
+ /**
372
+ * Store authentication token securely
373
+ */
374
+ storeToken(token: string): Observable<boolean>;
375
+ /**
376
+ * Store impersonated user token
377
+ */
378
+ storeImpersonatedToken(token: string): Observable<boolean>;
379
+ /**
380
+ * Store phonegap impersonated token
381
+ */
382
+ storePhonegapToken(token: string): Observable<boolean>;
383
+ /**
384
+ * Get authentication token
385
+ */
386
+ getToken(): string | null;
387
+ /**
388
+ * Get impersonated token
389
+ */
390
+ getImpersonatedToken(): string | null;
391
+ /**
392
+ * Get phonegap token
393
+ */
394
+ getPhonegapToken(): string | null;
395
+ /**
396
+ * Get token as Observable
397
+ */
398
+ getToken$(): Observable<string | null>;
399
+ /**
400
+ * Get impersonated token as Observable
401
+ */
402
+ getImpersonatedToken$(): Observable<string | null>;
403
+ /**
404
+ * Get phonegap token as Observable
405
+ */
406
+ getPhonegapToken$(): Observable<string | null>;
407
+ /**
408
+ * Remove all tokens
409
+ */
410
+ clearTokens(): Observable<boolean>;
411
+ /**
412
+ * Remove specific token
413
+ */
414
+ removeToken(): Observable<boolean>;
415
+ /**
416
+ * Remove impersonated tokens
417
+ */
418
+ removeImpersonatedTokens(): Observable<boolean>;
419
+ /**
420
+ * Set secure cookie
421
+ * Note: HttpOnly cannot be set from client-side JavaScript
422
+ * For maximum security, backend should set httpOnly cookies
423
+ */
424
+ private setSecureCookie;
425
+ /**
426
+ * Get cookie value
427
+ */
428
+ private getCookieValue;
429
+ /**
430
+ * Delete cookie
431
+ */
432
+ private deleteCookie;
433
+ /**
434
+ * Initialize tokens from storage on service startup
435
+ */
436
+ private initializeTokens;
437
+ static ɵfac: i0.ɵɵFactoryDeclaration<SecureTokenStorageService, never>;
438
+ static ɵprov: i0.ɵɵInjectableDeclaration<SecureTokenStorageService>;
439
+ }
440
+
441
+ declare class ProfileService {
442
+ private readonly api;
443
+ private readonly endpoint;
444
+ constructor(api: MainApiHttpService);
445
+ updateUserProfile(user: ProfileData): rxjs.Observable<any>;
446
+ getUserProfile(slug: string): rxjs.Observable<any>;
447
+ getUserObject(objectType: string, slug: string): rxjs.Observable<any>;
448
+ getProjects(slug: string): rxjs.Observable<any>;
449
+ addProjects(data: {
450
+ [key: string]: string;
451
+ }): rxjs.Observable<any>;
452
+ updateProjects(id: number, data: {
453
+ [key: string]: string;
454
+ }): rxjs.Observable<any>;
455
+ deleteProject(id: number): rxjs.Observable<any>;
456
+ addProjectPictures(data: AddProjectPicturesData): rxjs.Observable<any>;
457
+ getProjectPictures(slug: string): rxjs.Observable<any>;
458
+ deletePicture(projectId: number): rxjs.Observable<any>;
459
+ postProjectRecommendation(data: object): rxjs.Observable<any>;
460
+ postLinks(data: {
461
+ [key: string]: string;
462
+ }): rxjs.Observable<any>;
463
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProfileService, never>;
464
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProfileService>;
465
+ }
466
+
467
+ declare class UserService {
468
+ private readonly api;
469
+ private readonly store;
470
+ private readonly router;
471
+ private readonly appConfigService;
472
+ private readonly profileService;
473
+ private readonly toast;
474
+ private readonly endpoint;
475
+ private isTosModalOpen;
476
+ constructor(api: MainApiHttpService, store: Store<AppState>, router: Router, appConfigService: AppConfigService, profileService: ProfileService, toast: CustomToastService);
477
+ getUserState(): Observable<UserState>;
478
+ getUserInfo(): Observable<User>;
479
+ /**
480
+ * Ensure the current user has accepted the latest Terms of Service for this domain.
481
+ * If the domain has a newer TOS version than the user's accepted timestamp, a blocking
482
+ * SweetAlert2 modal is shown that forces the user to accept before continuing.
483
+ */
484
+ private checkAndHandleTosAcceptance;
485
+ private handleTosAcceptanceError;
486
+ followUser(id: number): Observable<any>;
487
+ sendSSOActivationEmail(): Observable<any>;
488
+ updateSlug(slug: string): Observable<any>;
489
+ getCurrentUserObject(object_type: string): Observable<any>;
490
+ updateEmail(data: {
491
+ [key: string]: string;
492
+ }): Observable<any>;
493
+ checkPassword(data: {
494
+ password: string;
495
+ }): Observable<any>;
496
+ confirmUser(confirmation_token: string, email: string, password: string, password_confirmation: string): Observable<any>;
497
+ checkTokenValidity(type: string, token: string, email: string): Observable<any>;
498
+ getUserNotifications(): Observable<any>;
499
+ addAvatar(file: File): Observable<any>;
500
+ createTwoFactorAuthenticator(): Observable<any>;
501
+ verifyTwoFactorAuthenticator(google_code: string): Observable<any>;
502
+ enableTwoFactorAuthenticator(google_code: string): Observable<any>;
503
+ disableTwoFactorAuthenticator(): Observable<any>;
504
+ validateNewEmail(confirmationToken: string): Observable<any>;
505
+ getUserSubscriptions(id: number): Observable<any>;
506
+ addNewSubscriptionUsingStripe(data: any): Observable<any>;
507
+ updatePassword(data: {
508
+ password: string;
509
+ password_confirmation: string;
510
+ old_password: string;
511
+ }): Observable<any>;
512
+ getUserInvoices(paging: Paging, id: number): Observable<any>;
513
+ postTipsDisregarded(data: {
514
+ tip_id: number;
515
+ disregarded: boolean;
516
+ }): Observable<any>;
517
+ refreshUserApiTokens(): Observable<any>;
518
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserService, never>;
519
+ static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
520
+ }
521
+
522
+ declare class AuthService {
523
+ private readonly localStorage;
524
+ private readonly secureTokenStorage;
525
+ private readonly router;
526
+ private readonly http;
527
+ private readonly userService;
528
+ private readonly toastr;
529
+ private readonly appConfigService;
530
+ private readonly integrationsApi;
531
+ private readonly document;
532
+ private readonly platformSubject;
533
+ private readonly userDataSubject;
534
+ private readonly twitterEndpoint;
535
+ auth_token: string;
536
+ header_key: string;
537
+ platform: string;
538
+ platform$: rxjs.Observable<string>;
539
+ userData$: rxjs.Observable<{
540
+ email?: string;
541
+ name?: string;
542
+ userId?: string;
543
+ }>;
544
+ isUserPersonated: boolean;
545
+ constructor(localStorage: LocalStorage, secureTokenStorage: SecureTokenStorageService, router: Router, http: MainApiHttpService, userService: UserService, toastr: CustomToastService, appConfigService: AppConfigService, integrationsApi: IntegrationsApiHttpService, document: Document);
546
+ getToken(): string;
547
+ getImpersonatedToken(): string;
548
+ setHeaderKey(): void;
549
+ signUpUser(values: SignUpValues): rxjs.Observable<any>;
550
+ trialSignUp(data: object): rxjs.Observable<any>;
551
+ validateEmail(email: string): rxjs.Observable<any>;
552
+ forgotPassword(email: string, reset_path: string): rxjs.Observable<any>;
553
+ resetPassword(password: string, confirm_password: string, password_reset_token: string): rxjs.Observable<any>;
554
+ header(): HttpHeaders;
555
+ private getHeaderKey;
556
+ private getPlatform;
557
+ signInUser(email: string, password: string): rxjs.Observable<any>;
558
+ signInUserWith2Fa(email: string, password: string, google_code: any): rxjs.Observable<any>;
559
+ storeToken(token: string): rxjs.Observable<boolean>;
560
+ storePlatform(plat: string): rxjs.Observable<void>;
561
+ logout(): rxjs.Observable<any>;
562
+ /**
563
+ * Clear all authentication tokens
564
+ */
565
+ clearTokens(): rxjs.Observable<boolean>;
566
+ /**
567
+ * Remove only impersonation tokens (not all tokens)
568
+ */
569
+ removeImpersonationTokens(): rxjs.Observable<boolean>;
570
+ getToken$(): rxjs.Observable<string>;
571
+ /**
572
+ * Get user data (email, name, userId) after login
573
+ * Similar to getToken$() but returns user information
574
+ * @returns Observable with user data: { email?: string; name?: string; userId?: string }
575
+ */
576
+ getUserData$(): rxjs.Observable<{
577
+ email?: string;
578
+ name?: string;
579
+ userId?: string;
580
+ }>;
581
+ /**
582
+ * Set user data in the BehaviorSubject
583
+ * Called after user logs in to update user information across the app
584
+ * @param userData User data object with email, name, and userId
585
+ */
586
+ private setUserData;
587
+ getNewsletterSubscription(token: string): rxjs.Observable<any>;
588
+ unsubscribeNewsletter(token: string): rxjs.Observable<any>;
589
+ validateReCaptcha(token: string): rxjs.Observable<any>;
590
+ socialLogin(data: any): rxjs.Observable<any>;
591
+ twitterLogin(): rxjs.Observable<any>;
592
+ twitterAuthCallback(data: any): rxjs.Observable<any>;
593
+ microsoftLogin(): rxjs.Observable<any>;
594
+ cognitoLogin(): rxjs.Observable<any>;
595
+ microsoftAuthCallback(data: any): rxjs.Observable<any>;
596
+ googleLogin(): rxjs.Observable<any>;
597
+ googleAuthCallback(data: any): rxjs.Observable<any>;
598
+ facebookLogin(): rxjs.Observable<any>;
599
+ facebookAuthCallback(data: any): rxjs.Observable<any>;
600
+ appleLogin(): rxjs.Observable<any>;
601
+ appleAuthCallback(data: any): rxjs.Observable<any>;
602
+ cognitoAuthCallback(data: any): rxjs.Observable<any>;
603
+ linkedinLogin(): rxjs.Observable<any>;
604
+ linkedInAuthCallback(data: any): rxjs.Observable<any>;
605
+ postLogin(response: any): void;
606
+ private notifyHubSpot;
607
+ impersonateUser(data: {
608
+ email: string;
609
+ subscription_id: number;
610
+ phonegap?: boolean;
611
+ }): rxjs.Observable<any>;
612
+ postSocialLogin(response: any): void;
613
+ registerTokenListener(): void;
614
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
615
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
616
+ }
617
+
618
+ declare class LinkService {
619
+ private readonly rendererFactory;
620
+ private readonly document;
621
+ constructor(rendererFactory: RendererFactory2, document: any);
622
+ /**
623
+ * Inject the State into the bottom of the <head>
624
+ */
625
+ addTag(tag: LinkDefinition, _forceCreation?: boolean): void;
626
+ static ɵfac: i0.ɵɵFactoryDeclaration<LinkService, never>;
627
+ static ɵprov: i0.ɵɵInjectableDeclaration<LinkService>;
628
+ }
629
+ declare type LinkDefinition = {
630
+ charset?: string;
631
+ crossorigin?: string;
632
+ href?: string;
633
+ hreflang?: string;
634
+ media?: string;
635
+ rel?: string;
636
+ rev?: string;
637
+ sizes?: string;
638
+ target?: string;
639
+ type?: string;
640
+ } & {
641
+ [prop: string]: string;
642
+ };
643
+
644
+ declare class CustomPreloadingStrategy implements PreloadingStrategy {
645
+ private readonly permission;
646
+ private readonly router;
647
+ constructor(permission: PermissionService, router: Router);
648
+ preload(route: Route, load: () => Observable<string>): Observable<string>;
649
+ private checkModulePermission;
650
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomPreloadingStrategy, never>;
651
+ static ɵprov: i0.ɵɵInjectableDeclaration<CustomPreloadingStrategy>;
652
+ }
653
+
654
+ declare class AbTestService {
655
+ private readonly injector;
656
+ private readonly http;
657
+ constructor(injector: Injector, http: HttpClient);
658
+ /**
659
+ * POST: start or stop observable
660
+ * payload: {
661
+ "test_name": "my_first_experiment",
662
+ "action_type": "ab_test"
663
+ }
664
+ */
665
+ getExperiment(test_name: string, action_type: string, service: unknown): rxjs.Observable<any>;
666
+ /**
667
+ * Finish the experiment and remove from the cookie app-store
668
+ */
669
+ finishExperiment(test_name: string, service: unknown): rxjs.Observable<any>;
670
+ finishABExperiment(test_name: string, shard_name: unknown): rxjs.Observable<Object>;
671
+ /**
672
+ * dynamically loads the microservice
673
+ */
674
+ private getServiceInstance;
675
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbTestService, never>;
676
+ static ɵprov: i0.ɵɵInjectableDeclaration<AbTestService>;
677
+ }
678
+
679
+ declare class GeoService {
680
+ private readonly api;
681
+ private readonly cookieService;
682
+ private readonly url;
683
+ constructor(api: MainApiHttpService, cookieService: CookieService);
684
+ getCountries(): rxjs.Observable<any>;
685
+ getRegions(countryId: any): rxjs.Observable<any>;
686
+ getCountryFromIP(): rxjs.Observable<any>;
687
+ static ɵfac: i0.ɵɵFactoryDeclaration<GeoService, never>;
688
+ static ɵprov: i0.ɵɵInjectableDeclaration<GeoService>;
689
+ }
690
+
691
+ declare class SubscriptionService {
692
+ private readonly api;
693
+ endpoint: string;
694
+ constructor(api: MainApiHttpService);
695
+ getById(id: number): rxjs.Observable<any>;
696
+ deleteSubscription(id: number, reqJson: object): rxjs.Observable<any>;
697
+ getSubscriptions(id: number): rxjs.Observable<any>;
698
+ postSubscription(data: Partial<Subscription>): rxjs.Observable<any>;
699
+ updateSubscription(id: number, data: Partial<Subscription>): rxjs.Observable<any>;
700
+ updateSubscriptionUnit(id: number, units: any): rxjs.Observable<any>;
701
+ addPartnersToSubscription(id: number, data: any): rxjs.Observable<any>;
702
+ getProductList(paging?: Paging, subscription_id?: number, _params?: any): rxjs.Observable<any>;
703
+ removePartner(id: number, partner_id: number): rxjs.Observable<any>;
704
+ deactivatePartner(id: number, data: any): rxjs.Observable<any>;
705
+ addMembersToSubscription(id: number, data: any): rxjs.Observable<any>;
706
+ signUpMemberUrl(id: number): string;
707
+ getEnrolledSubscription(id: number, paging?: Paging): rxjs.Observable<any>;
708
+ removeEnrolledSubscription(id: number, user_id: number): rxjs.Observable<any>;
709
+ toggleAdmin(id: number, data: any): rxjs.Observable<any>;
710
+ updateSubscriptionAPIKey(id: number): rxjs.Observable<any>;
711
+ refreshApiTokens(id: number): rxjs.Observable<any>;
712
+ addFullLogo(id: number, data: any): rxjs.Observable<any>;
713
+ addSquaredLogo(id: number, data: any): rxjs.Observable<any>;
714
+ getCardDetails(subscriptionId: number): rxjs.Observable<any>;
715
+ updateCardDetails(data: {
716
+ [key: string]: string;
717
+ }, subscription_id: number): rxjs.Observable<any>;
718
+ getEnterpriseInsight(subscriptionId: number, starting_at?: string, ending_at?: string): rxjs.Observable<any>;
719
+ postSubscriptionCredential(data: any): rxjs.Observable<any>;
720
+ editSubscriptionCredential(id: number, data: any): rxjs.Observable<any>;
721
+ getAllSubscriptionCredentials(subscription_id: number, paging?: Paging): rxjs.Observable<any>;
722
+ getAllSubscriptionPartners(subscription_id: number, paging?: Paging): rxjs.Observable<any>;
723
+ deleteSubscriptionCredential(id: number, subscriptionId: number): rxjs.Observable<any>;
724
+ getAllCredentials(paging?: Paging): rxjs.Observable<any>;
725
+ static ɵfac: i0.ɵɵFactoryDeclaration<SubscriptionService, never>;
726
+ static ɵprov: i0.ɵɵInjectableDeclaration<SubscriptionService>;
727
+ }
728
+
729
+ declare class ProductService {
730
+ private readonly api;
731
+ private readonly endpoint;
732
+ constructor(api: MainApiHttpService);
733
+ deleteProduct(id: number, subscription_id: number): rxjs.Observable<any>;
734
+ updateProduct(data: any, id: number): rxjs.Observable<any>;
735
+ addProduct(data: any): rxjs.Observable<any>;
736
+ inviteForTrial(id: number, body: any, subscription_id: number): rxjs.Observable<any>;
737
+ getProductList(paging?: Paging, subscription_id?: number, params?: any): rxjs.Observable<any>;
738
+ getSupportedCurrency(): rxjs.Observable<any>;
739
+ getSupportedRegions(): rxjs.Observable<any>;
740
+ getProducts(params: any): rxjs.Observable<any>;
741
+ getProductById(id: number): rxjs.Observable<any>;
742
+ getProductCategories(): rxjs.Observable<any>;
743
+ getProductInsight(subscriptionId: number, starting_at?: string, ending_at?: string): rxjs.Observable<any>;
744
+ getUsersForProduct(id: number, subscription_id: number): rxjs.Observable<any>;
745
+ getAvailableStripeUnsubscribeBehaviors(subscription_id?: number): rxjs.Observable<any>;
746
+ getAvailableStripeProrationBehaviors(subscription_id?: number): rxjs.Observable<any>;
747
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
748
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
749
+ }
750
+
751
+ declare class ValidationService {
752
+ static readonly CustomValidatorPatterns: {
753
+ StrongPassword: RegExp;
754
+ Year: string;
755
+ };
756
+ /**
757
+ * Validates email.
758
+ */
759
+ static email(input: string): boolean;
760
+ static patternValidator(regex: RegExp, error: ValidationErrors): ValidatorFn | null;
761
+ static ɵfac: i0.ɵɵFactoryDeclaration<ValidationService, never>;
762
+ static ɵprov: i0.ɵɵInjectableDeclaration<ValidationService>;
763
+ }
764
+
765
+ declare class FormHelperService {
766
+ static markFormAsPristine(form: UntypedFormGroup | UntypedFormControl | AbstractControl): void;
767
+ static markAsTouched(form: any): void;
768
+ static validateAllFormFields(form: any): void;
769
+ }
770
+
771
+ declare class AhoyService {
772
+ private readonly http;
773
+ injector: Injector;
774
+ private readonly ahoy;
775
+ private readonly toast;
776
+ constructor(http: HttpClient, injector: Injector);
777
+ getAhoyEvents(params: RequestParams, service: any, paging: Paging): Observable<AhoyEventResponse>;
778
+ getAhoyMessages(params: RequestParams, service: any, paging: Paging): Observable<AhoyMessageResponse>;
779
+ getAhoyVisits(params: RequestParams, service: any, paging: Paging): Observable<AhoyVisitResponse>;
780
+ getVersions(params: RequestParams, service: any, paging: Paging): Observable<AhoyVersionResponse>;
781
+ getEvents(params: RequestParams, service: any, paging: Paging): Observable<TrackEventResponse>;
782
+ handleError(error: HttpErrorResponse): void;
783
+ static ɵfac: i0.ɵɵFactoryDeclaration<AhoyService, never>;
784
+ static ɵprov: i0.ɵɵInjectableDeclaration<AhoyService>;
785
+ }
786
+
787
+ declare class CommonService {
788
+ private readonly api;
789
+ constructor(api: MainApiHttpService);
790
+ addContactUsMessage(data: any): rxjs.Observable<any>;
791
+ getIncidents(paging?: Paging): rxjs.Observable<any>;
792
+ getIncidentsAdmin(paging?: Paging, subscriptionId?: number): rxjs.Observable<any>;
793
+ addIncident(data: any): rxjs.Observable<any>;
794
+ editIncident(id: any, data: any): rxjs.Observable<any>;
795
+ getIncidentById(id: number, subscription_id: any): rxjs.Observable<any>;
796
+ deleteIncidentAdmin(id: number, subscription_id: number): rxjs.Observable<any>;
797
+ getAllNewsletter(paging?: Paging): rxjs.Observable<any>;
798
+ toggleNewsletter(newsletterId: number, param: any): rxjs.Observable<any>;
799
+ unsubscribeNewsletter(token: string): rxjs.Observable<any>;
800
+ getFaq(params: GetFaqParams): rxjs.Observable<any>;
801
+ getFaqById(id: number, subscription_id: any): rxjs.Observable<any>;
802
+ getFaqCategories(subscription_id: number): rxjs.Observable<any>;
803
+ getPublicFaq(subscription_id: number, search_term?: string): rxjs.Observable<any>;
804
+ getPublicFaqById(id: number): rxjs.Observable<any>;
805
+ getOrganizationSizes(paging?: Paging): rxjs.Observable<any>;
806
+ getOrganizationTypes(paging?: Paging): rxjs.Observable<any>;
807
+ getOrganizationIndustries(paging?: Paging): rxjs.Observable<any>;
808
+ getOrganizationDepartments(paging?: Paging): rxjs.Observable<any>;
809
+ getAllGlobalSubscriptionConfigs(paging?: Paging): rxjs.Observable<any>;
810
+ postGlobalSubscriptionConfig(data: any): rxjs.Observable<any>;
811
+ editGlobalSubscriptionConfig(id: number, data: any): rxjs.Observable<any>;
812
+ getAllGlobalConfigs(paging?: Paging): rxjs.Observable<any>;
813
+ userLoginNotification(data: any): rxjs.Observable<any>;
814
+ feedbackQuestions(subscription_id: number): rxjs.Observable<any>;
815
+ userFeedbacks(data: any): rxjs.Observable<any>;
816
+ getAllUserFeedbacks(subscription_id: number, paging?: Paging): rxjs.Observable<any>;
817
+ getAllCustomerSupport(subscription_id: number, paging?: Paging): rxjs.Observable<any>;
818
+ postCustomerSupport(data: any): rxjs.Observable<any>;
819
+ static ɵfac: i0.ɵɵFactoryDeclaration<CommonService, never>;
820
+ static ɵprov: i0.ɵɵInjectableDeclaration<CommonService>;
821
+ }
822
+
823
+ declare class NgbDateCustomParserFormatter extends NgbDateParserFormatter {
824
+ private readonly DELIMITER;
825
+ parse(value: string): NgbDateStruct | null;
826
+ format(date: NgbDateStruct): string;
827
+ dateFormatForPicker(date: string): NgbDateStruct;
828
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgbDateCustomParserFormatter, never>;
829
+ static ɵprov: i0.ɵɵInjectableDeclaration<NgbDateCustomParserFormatter>;
830
+ }
831
+
832
+ declare class PrimeNgHelper {
833
+ isLoading: boolean;
834
+ static dropdownDataSource(dataSource: any, label: any, value: any): any[];
835
+ }
836
+
837
+ declare class TagService {
838
+ private readonly api;
839
+ ADMIN_TAG_PATH: string;
840
+ ADMIN_TAG_CATEGORIES_PATH: string;
841
+ ADMIN_PATH: string;
842
+ constructor(api: MainApiHttpService);
843
+ deleteTagById(id: number, subscription_id: number): rxjs.Observable<any>;
844
+ updateTagById(id: number, data: any): rxjs.Observable<any>;
845
+ addAdminTag(data: any): rxjs.Observable<any>;
846
+ getTagsByType(tag_type: string, paging: Paging, subscription_id?: number): rxjs.Observable<any>;
847
+ getAvailableTagType(subscription_id: number): rxjs.Observable<any>;
848
+ addTags(data: any, subscription_id?: number): rxjs.Observable<any>;
849
+ getTagsByEntity(slug: string, tag_entity: string, tag_type: string, subscription_id?: number): rxjs.Observable<any>;
850
+ getGroupedSkills(slug: string, tagEntity: string, tagType: string): rxjs.Observable<any>;
851
+ getTagCategories(params: Paging, subscription_id: number): rxjs.Observable<any>;
852
+ getAllTagCategories(params: Paging, subscription_id: number): rxjs.Observable<any>;
853
+ deleteTagCategoryById(id: number, subscription_id: number): rxjs.Observable<any>;
854
+ updateTagCategoryById(id: number, data: any, subscription_id: number): rxjs.Observable<any>;
855
+ addTagCategoryById(data: any, subscription_id: number): rxjs.Observable<any>;
856
+ static ɵfac: i0.ɵɵFactoryDeclaration<TagService, never>;
857
+ static ɵprov: i0.ɵɵInjectableDeclaration<TagService>;
858
+ }
859
+
860
+ declare class TipsService {
861
+ private readonly api;
862
+ endpoint: string;
863
+ constructor(api: MainApiHttpService);
864
+ getAll(subscription_id: number, paging?: Paging): rxjs.Observable<any>;
865
+ getById(id: number, subscription_id: number): rxjs.Observable<any>;
866
+ saveTips(id: number, data: any, subscription_id: number): rxjs.Observable<any>;
867
+ addTips(data: any, subscription_id: number): rxjs.Observable<any>;
868
+ addUserTips(data: any, subscription_id?: number): rxjs.Observable<any>;
869
+ static ɵfac: i0.ɵɵFactoryDeclaration<TipsService, never>;
870
+ static ɵprov: i0.ɵɵInjectableDeclaration<TipsService>;
871
+ }
872
+
873
+ declare class WindowService {
874
+ /**
875
+ * redirect to the given url
876
+ * NOTE: this does hard page reload
877
+ */
878
+ replaceUrl(url: string): void;
879
+ static ɵfac: i0.ɵɵFactoryDeclaration<WindowService, never>;
880
+ static ɵprov: i0.ɵɵInjectableDeclaration<WindowService>;
881
+ }
882
+
883
+ declare class GroupService {
884
+ private readonly api;
885
+ private readonly subscription_endpoint;
886
+ private readonly group_communications_endpoint;
887
+ private readonly group_definitions_endpoint;
888
+ private readonly groups_endpoint;
889
+ ADMIN_PATH: string;
890
+ constructor(api: MainApiHttpService);
891
+ getById(id: any): rxjs.Observable<any>;
892
+ updateAgent(id: number, agent_id: number, data: any): rxjs.Observable<any>;
893
+ getSubscriptionMembers(id: number, paging?: Paging): rxjs.Observable<any>;
894
+ getGroupDefinitionById(id: number): rxjs.Observable<any>;
895
+ groupDefinitionGetAll(related_entity_id: number, related_entity_type: string, paging?: Paging): rxjs.Observable<any>;
896
+ groupDefinitions(data: any): rxjs.Observable<any>;
897
+ groupDefinitionsDelete(id: number): rxjs.Observable<any>;
898
+ groupDefinitionsUpdate(id: number, data: any): rxjs.Observable<any>;
899
+ postGroup(data: any): rxjs.Observable<any>;
900
+ getGroup(id: number): rxjs.Observable<any>;
901
+ updateGroup(id: number, data: any): rxjs.Observable<any>;
902
+ deleteGroup(id: number): rxjs.Observable<any>;
903
+ addEntityGroup(id: number, data: any): rxjs.Observable<any>;
904
+ deleteEntityGroup(entityId: number, related_entity_ids: any, related_entity_type: string): rxjs.Observable<any>;
905
+ getEntityGroup(id: number): rxjs.Observable<any>;
906
+ postCommunications(data: any): rxjs.Observable<any>;
907
+ editCommunications(id: number, data: any): rxjs.Observable<any>;
908
+ getCommunicationDetails(id: number): rxjs.Observable<any>;
909
+ deleteCommunications(id: number): rxjs.Observable<any>;
910
+ getAllCommunications(subscription_id: number, communication_type: string, group_id: number | string, paging?: Paging): rxjs.Observable<any>;
911
+ getAllCommunicationsWithOutGroupId(subscription_id: number, communication_type: string, paging?: Paging): rxjs.Observable<any>;
912
+ postCommunicationFiles(data: any): rxjs.Observable<any>;
913
+ deleteCommunicationFiles(id: number): rxjs.Observable<any>;
914
+ static ɵfac: i0.ɵɵFactoryDeclaration<GroupService, never>;
915
+ static ɵprov: i0.ɵɵInjectableDeclaration<GroupService>;
916
+ }
917
+
918
+ declare class QualificationService {
919
+ private readonly api;
920
+ private readonly endPoint;
921
+ constructor(api: MainApiHttpService);
922
+ addQualifications(data: any): rxjs.Observable<any>;
923
+ updateQualifications(id: number, data: any): rxjs.Observable<any>;
924
+ deleteQualifications(id: number): rxjs.Observable<any>;
925
+ static ɵfac: i0.ɵɵFactoryDeclaration<QualificationService, never>;
926
+ static ɵprov: i0.ɵɵInjectableDeclaration<QualificationService>;
927
+ }
928
+
929
+ declare class DashboardService {
930
+ private readonly api;
931
+ constructor(api: MainApiHttpService);
932
+ search(keyword: string, subscriptionId: number): rxjs.Observable<any>;
933
+ static ɵfac: i0.ɵɵFactoryDeclaration<DashboardService, never>;
934
+ static ɵprov: i0.ɵɵInjectableDeclaration<DashboardService>;
935
+ }
936
+
937
+ declare class MailBoxService {
938
+ private readonly http;
939
+ private readonly endpoint;
940
+ private readonly checkUnreadCountSubject;
941
+ totalUnreadCount$: rxjs.Observable<number>;
942
+ constructor(http: MainApiHttpService);
943
+ getMessages(conversation_id: any, page_number?: number, page_size?: number): rxjs.Observable<any>;
944
+ getConversations(): rxjs.Observable<any>;
945
+ postMessage(data: any): rxjs.Observable<any>;
946
+ markAsRead(conversation_id: any): rxjs.Observable<any>;
947
+ decrementUnreadCount(count: number): void;
948
+ incrementUnreadCount(count: number): void;
949
+ deleteMessage(conversationId: any, messageId: any): rxjs.Observable<any>;
950
+ getRecipient(params?: {}): rxjs.Observable<any>;
951
+ static ɵfac: i0.ɵɵFactoryDeclaration<MailBoxService, never>;
952
+ static ɵprov: i0.ɵɵInjectableDeclaration<MailBoxService>;
953
+ }
954
+
955
+ interface McpJsonRpcRequest {
956
+ jsonrpc: '2.0';
957
+ id: number;
958
+ method: string;
959
+ params?: unknown;
960
+ }
961
+ interface McpJsonRpcError {
962
+ code: number;
963
+ message: string;
964
+ data?: unknown;
965
+ }
966
+ interface McpJsonRpcResponse<T = unknown> {
967
+ jsonrpc: string;
968
+ id: number;
969
+ result?: T;
970
+ error?: McpJsonRpcError;
971
+ }
972
+ interface McpToolDefinition {
973
+ name: string;
974
+ description?: string;
975
+ inputSchema?: Record<string, unknown>;
976
+ }
977
+ interface McpToolsListResult {
978
+ tools: McpToolDefinition[];
979
+ }
980
+ declare class McpJsonRpcService {
981
+ private readonly http;
982
+ private readonly appConfigService;
983
+ private readonly store;
984
+ private nextId;
985
+ /** Dev MCP host (avoids relying on dev-server proxy for /main-api-mcp). */
986
+ private static readonly MCP_DEV_HTTP_URL;
987
+ constructor(http: HttpClient, appConfigService: AppConfigService, store: Store<AppState>);
988
+ private pickApiCredentials;
989
+ private rpc;
990
+ listTools(): Observable<McpToolsListResult>;
991
+ callTool(name: string, args?: Record<string, unknown>): Observable<unknown>;
992
+ static ɵfac: i0.ɵɵFactoryDeclaration<McpJsonRpcService, never>;
993
+ static ɵprov: i0.ɵɵInjectableDeclaration<McpJsonRpcService>;
994
+ }
995
+
996
+ declare class WebsocketService {
997
+ private readonly appConfigService;
998
+ private readonly authService;
999
+ private webSocketSubject;
1000
+ webSocket$: Observable<any>;
1001
+ constructor(appConfigService: AppConfigService, authService: AuthService);
1002
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebsocketService, never>;
1003
+ static ɵprov: i0.ɵɵInjectableDeclaration<WebsocketService>;
1004
+ }
1005
+
1006
+ declare class NotificationService {
1007
+ private readonly api;
1008
+ private readonly toastrService;
1009
+ private readonly socketService;
1010
+ private readonly notificationSubject$;
1011
+ endpoint: string;
1012
+ constructor(api: MainApiHttpService, toastrService: CustomToastService, socketService: WebsocketService);
1013
+ getNotifications(paging?: Paging): rxjs.Observable<any>;
1014
+ getDismissedNotifications(paging?: Paging): rxjs.Observable<any>;
1015
+ showNotifications(data: any): void;
1016
+ readNotifications(): rxjs.Observable<any>;
1017
+ dismissNotification(id: number): rxjs.Observable<string>;
1018
+ deleteNotifications(id: number): rxjs.Observable<any>;
1019
+ reinstateNotification(id: number): rxjs.Observable<any>;
1020
+ notiWebSocket(): rxjs.Observable<any>;
1021
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
1022
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
1023
+ }
1024
+
1025
+ declare class UserEffects {
1026
+ private readonly userService;
1027
+ private readonly actions$;
1028
+ constructor(userService: UserService);
1029
+ loadUser$: Observable<Action>;
1030
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserEffects, never>;
1031
+ static ɵprov: i0.ɵɵInjectableDeclaration<UserEffects>;
1032
+ }
1033
+
1034
+ declare class DataService {
1035
+ private readonly messageSource;
1036
+ currentMessage: rxjs.Observable<number>;
1037
+ changeMessage(message: number): void;
1038
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataService, never>;
1039
+ static ɵprov: i0.ɵɵInjectableDeclaration<DataService>;
1040
+ }
1041
+
1042
+ declare class NumberPickerService {
1043
+ /**
1044
+ * Min picker value
1045
+ */
1046
+ min: number;
1047
+ /**
1048
+ * Max picker value
1049
+ */
1050
+ max: number;
1051
+ /**
1052
+ * Pick step value
1053
+ */
1054
+ step: number;
1055
+ /**
1056
+ * Delay for start picking values
1057
+ */
1058
+ pickStartAfter: number;
1059
+ /**
1060
+ * Delay between each pick
1061
+ */
1062
+ pickTimer: number;
1063
+ /**
1064
+ * value precision
1065
+ */
1066
+ precision: number;
1067
+ /**
1068
+ * Initial picker value
1069
+ */
1070
+ value: any;
1071
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberPickerService, never>;
1072
+ static ɵprov: i0.ɵɵInjectableDeclaration<NumberPickerService>;
1073
+ }
1074
+
1075
+ declare class SentryErrorHandler implements ErrorHandler {
1076
+ private readonly appConfigService;
1077
+ private static user;
1078
+ private static sentryInitialized;
1079
+ private static unhandledRejectionListenerAttached;
1080
+ constructor(appConfigService: AppConfigService);
1081
+ private initializeSentryAsync;
1082
+ private getSentryConfigAsync;
1083
+ initializeUser(user: Partial<User>): void;
1084
+ private handlePromiseRejection;
1085
+ handleError(incomingError: HttpErrorResponse | Error): void;
1086
+ handleExceptionError(incomingError: any): void;
1087
+ extractOriginalError(error: any, incomingError: any): void;
1088
+ getErrorMessage(error: any): string;
1089
+ handleNonHttpErrorResponse(error: any): void;
1090
+ errorMessageFormatter(error: any): void;
1091
+ sentryInitialization(error: any, incomingError: any): void;
1092
+ private logToSentry;
1093
+ private scopeWithSentry;
1094
+ /**
1095
+ * Classifies the error type for proper Sentry tagging
1096
+ * This prevents "unlabeled events" by ensuring all events have a classification
1097
+ */
1098
+ private classifyError;
1099
+ /**
1100
+ * Classifies object-type errors
1101
+ */
1102
+ private classifyObjectError;
1103
+ /**
1104
+ * Determines error type classification based on the 'type' property
1105
+ */
1106
+ private classifyErrorByType;
1107
+ private isEdgeSyntheticEvent;
1108
+ private handleNonStandardError;
1109
+ private handleUnlabeledEvent;
1110
+ /**
1111
+ * Filters Sentry events before sending — extracted from beforeSend config
1112
+ * to reduce cognitive complexity (S3776).
1113
+ *
1114
+ * Drops or filters exception values for known noisy/irrelevant error types:
1115
+ * CloseEvent, ResizeObserver, JSON parsing, ChunkLoadError, script loading,
1116
+ * plotly timeout, cross-origin frame, non-error exceptions, and Edge synthetic events.
1117
+ */
1118
+ private static beforeSendFilter;
1119
+ /**
1120
+ * Filters out known noisy exception values in a single pass.
1121
+ */
1122
+ private static filterExceptionValues;
1123
+ /**
1124
+ * Determines whether the entire event should be dropped (return truthy to drop).
1125
+ */
1126
+ private static shouldDropEvent;
1127
+ private logToConsole;
1128
+ static ɵfac: i0.ɵɵFactoryDeclaration<SentryErrorHandler, never>;
1129
+ static ɵprov: i0.ɵɵInjectableDeclaration<SentryErrorHandler>;
1130
+ }
1131
+
1132
+ declare class LogoCacheService {
1133
+ private cache;
1134
+ private loadingUrls;
1135
+ constructor();
1136
+ getLogo(url: string): string;
1137
+ private saveCache;
1138
+ private loadCache;
1139
+ static ɵfac: i0.ɵɵFactoryDeclaration<LogoCacheService, never>;
1140
+ static ɵprov: i0.ɵɵInjectableDeclaration<LogoCacheService>;
1141
+ }
1142
+
1143
+ interface TourStep {
1144
+ target: string;
1145
+ title: string;
1146
+ content: string;
1147
+ placement: string;
1148
+ arrowOffset?: number;
1149
+ xOffset?: number;
1150
+ yOffset?: number;
1151
+ isHTML?: boolean;
1152
+ showPrevButton?: boolean;
1153
+ }
1154
+ declare class HopscotchService {
1155
+ private readonly scriptLoader;
1156
+ private readonly tipService;
1157
+ private readonly tour;
1158
+ constructor(scriptLoader: ScriptLoaderService, tipService: TipsService);
1159
+ initializeTour(tourId: string, steps: TourStep[], tip_data: any, subscription_id?: number): void;
1160
+ endTour(): void;
1161
+ static ɵfac: i0.ɵɵFactoryDeclaration<HopscotchService, never>;
1162
+ static ɵprov: i0.ɵɵInjectableDeclaration<HopscotchService>;
1163
+ }
1164
+
1165
+ declare class BrainApiHttpService extends BaseHttpService {
1166
+ constructor(http: HttpClient, injector: Injector);
1167
+ getConfig(): void;
1168
+ static ɵfac: i0.ɵɵFactoryDeclaration<BrainApiHttpService, never>;
1169
+ static ɵprov: i0.ɵɵInjectableDeclaration<BrainApiHttpService>;
1170
+ }
1171
+
1172
+ declare class BrainApiService {
1173
+ private readonly api;
1174
+ constructor(api: BrainApiHttpService);
1175
+ invokeModel(payload: {
1176
+ model_name: 'claude' | 'deepseek';
1177
+ prompt: string;
1178
+ session_id?: string;
1179
+ max_tokens?: number;
1180
+ temperature?: number;
1181
+ }): rxjs.Observable<any>;
1182
+ static ɵfac: i0.ɵɵFactoryDeclaration<BrainApiService, never>;
1183
+ static ɵprov: i0.ɵɵInjectableDeclaration<BrainApiService>;
1184
+ }
1185
+
1186
+ export { AbTestService, AhoyService, AuthService, BaseHttpService, BrainApiHttpService, BrainApiService, CommonService, CommonServicesModule, CustomPreloadingStrategy, CustomToastService, DashboardService, DataService, FormHelperService, GeoService, GoogleAnalyticsService, GroupService, HopscotchService, IntegrationsApiHttpService, LinkService, LocalStorage, LogoCacheService, MailBoxService, MainApiHttpService, McpJsonRpcService, NgbDateCustomParserFormatter, NotificationService, NumberPickerService, PermissionService, PrimeNgHelper, ProductService, ProfileService, QualificationService, ScriptLoaderService, SecureTokenStorageService, SentryErrorHandler, SeoService, SubscriptionService, TagService, TipsService, UserEffects, UserService, ValidationService, WebsocketService, WindowService };
1187
+ export type { McpJsonRpcError, McpJsonRpcRequest, McpJsonRpcResponse, McpToolDefinition, McpToolsListResult };