@tritonium/api-client 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1885 @@
1
+ export { clearAuth, configure, configureApiKey, configureBearerToken, getConfiguration } from './auth.mjs';
2
+ export { AlertTriggeredData, CrisisDetectedData, EventType, EventTypes, ReviewReceivedData, VerifyWebhookOptions, WebhookEvent, WebhookExpiredError, WebhookSignatureError, WebhookVerificationError, constructEvent, isWebhookError, verifySignature, verifyTimestamp, verifyWebhook } from './webhooks.mjs';
3
+
4
+ type ApiRequestOptions = {
5
+ readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';
6
+ readonly url: string;
7
+ readonly path?: Record<string, any>;
8
+ readonly cookies?: Record<string, any>;
9
+ readonly headers?: Record<string, any>;
10
+ readonly query?: Record<string, any>;
11
+ readonly formData?: Record<string, any>;
12
+ readonly body?: any;
13
+ readonly mediaType?: string;
14
+ readonly responseHeader?: string;
15
+ readonly errors?: Record<number, string>;
16
+ };
17
+
18
+ type ApiResult = {
19
+ readonly url: string;
20
+ readonly ok: boolean;
21
+ readonly status: number;
22
+ readonly statusText: string;
23
+ readonly body: any;
24
+ };
25
+
26
+ declare class ApiError extends Error {
27
+ readonly url: string;
28
+ readonly status: number;
29
+ readonly statusText: string;
30
+ readonly body: any;
31
+ readonly request: ApiRequestOptions;
32
+ constructor(request: ApiRequestOptions, response: ApiResult, message: string);
33
+ }
34
+
35
+ declare class CancelError extends Error {
36
+ constructor(message: string);
37
+ get isCancelled(): boolean;
38
+ }
39
+ interface OnCancel {
40
+ readonly isResolved: boolean;
41
+ readonly isRejected: boolean;
42
+ readonly isCancelled: boolean;
43
+ (cancelHandler: () => void): void;
44
+ }
45
+ declare class CancelablePromise<T> implements Promise<T> {
46
+ #private;
47
+ constructor(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void, onCancel: OnCancel) => void);
48
+ get [Symbol.toStringTag](): string;
49
+ then<TResult1 = T, TResult2 = never>(onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
50
+ catch<TResult = never>(onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult>;
51
+ finally(onFinally?: (() => void) | null): Promise<T>;
52
+ cancel(): void;
53
+ get isCancelled(): boolean;
54
+ }
55
+
56
+ type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
57
+ type Headers = Record<string, string>;
58
+ type OpenAPIConfig = {
59
+ BASE: string;
60
+ VERSION: string;
61
+ WITH_CREDENTIALS: boolean;
62
+ CREDENTIALS: 'include' | 'omit' | 'same-origin';
63
+ TOKEN?: string | Resolver<string> | undefined;
64
+ USERNAME?: string | Resolver<string> | undefined;
65
+ PASSWORD?: string | Resolver<string> | undefined;
66
+ HEADERS?: Headers | Resolver<Headers> | undefined;
67
+ ENCODE_PATH?: ((path: string) => string) | undefined;
68
+ };
69
+ declare const OpenAPI: OpenAPIConfig;
70
+
71
+ type Alert = {
72
+ alert_id?: string;
73
+ title?: string;
74
+ description?: string;
75
+ severity?: Alert.severity;
76
+ status?: Alert.status;
77
+ created_at?: string;
78
+ updated_at?: string;
79
+ metadata?: Record<string, any>;
80
+ };
81
+ declare namespace Alert {
82
+ enum severity {
83
+ CRITICAL = "critical",
84
+ HIGH = "high",
85
+ MEDIUM = "medium",
86
+ LOW = "low"
87
+ }
88
+ enum status {
89
+ UNREAD = "unread",
90
+ READ = "read",
91
+ ACKNOWLEDGED = "acknowledged",
92
+ SNOOZED = "snoozed"
93
+ }
94
+ }
95
+
96
+ type AlertUpdateRequest = {
97
+ status?: AlertUpdateRequest.status;
98
+ note?: string;
99
+ snooze_until?: string;
100
+ };
101
+ declare namespace AlertUpdateRequest {
102
+ enum status {
103
+ UNREAD = "unread",
104
+ READ = "read",
105
+ ACKNOWLEDGED = "acknowledged",
106
+ SNOOZED = "snoozed"
107
+ }
108
+ }
109
+
110
+ type AnalysisRequest = {
111
+ app_uuid: string;
112
+ refresh_cache?: boolean;
113
+ };
114
+
115
+ type AppConnectionRequest = {
116
+ /**
117
+ * External platform identifier (e.g. app_store_connect, google_play).
118
+ */
119
+ platform: string;
120
+ credential_id: string;
121
+ app_identifier: string;
122
+ display_name?: string;
123
+ metadata?: Record<string, any>;
124
+ };
125
+
126
+ type AppSummary = {
127
+ app_uuid?: string;
128
+ app_name?: string;
129
+ platform?: string;
130
+ review_count?: number;
131
+ auto_sync_enabled?: boolean;
132
+ auto_sync_frequency?: string;
133
+ last_synced_at?: string;
134
+ };
135
+
136
+ type AuthLoginRequest = {
137
+ email: string;
138
+ password: string;
139
+ };
140
+
141
+ type AuthRegisterRequest = {
142
+ email: string;
143
+ password: string;
144
+ company_name: string;
145
+ name?: string;
146
+ marketing_opt_in?: boolean;
147
+ };
148
+
149
+ type AuthTokenPair = {
150
+ access_token: string;
151
+ refresh_token: string;
152
+ };
153
+
154
+ type AutoSyncConfigRequest = {
155
+ auto_sync_enabled: boolean;
156
+ frequency?: AutoSyncConfigRequest.frequency;
157
+ };
158
+ declare namespace AutoSyncConfigRequest {
159
+ enum frequency {
160
+ HOURLY = "hourly",
161
+ DAILY = "daily",
162
+ WEEKLY = "weekly"
163
+ }
164
+ }
165
+
166
+ type BillingCheckoutRequest = {
167
+ /**
168
+ * Stripe price identifier.
169
+ */
170
+ plan: string;
171
+ seats?: number;
172
+ success_url?: string;
173
+ cancel_url?: string;
174
+ };
175
+
176
+ type Competitor = {
177
+ platform?: string;
178
+ external_app_id?: string;
179
+ display_name?: string;
180
+ metadata?: Record<string, any>;
181
+ };
182
+
183
+ type CompetitorUpsertRequest = {
184
+ platform: string;
185
+ external_app_id: string;
186
+ display_name?: string;
187
+ metadata?: Record<string, any>;
188
+ };
189
+
190
+ type Credential = {
191
+ credential_id?: string;
192
+ provider?: string;
193
+ created_at?: string;
194
+ last_verified_at?: string;
195
+ metadata?: Record<string, any>;
196
+ };
197
+
198
+ type CredentialRequest = {
199
+ provider: string;
200
+ secret: string;
201
+ description?: string;
202
+ metadata?: Record<string, any>;
203
+ };
204
+
205
+ type CredentialValidateRequest = {
206
+ provider: string;
207
+ secret: string;
208
+ metadata?: Record<string, any>;
209
+ };
210
+
211
+ type EmailRequest = {
212
+ email: string;
213
+ };
214
+
215
+ type ErrorResponse = {
216
+ error: {
217
+ /**
218
+ * Machine readable error code.
219
+ */
220
+ code: string;
221
+ /**
222
+ * Human readable error description.
223
+ */
224
+ message: string;
225
+ /**
226
+ * Optional structured error details.
227
+ */
228
+ details?: Record<string, any>;
229
+ };
230
+ };
231
+
232
+ type FeatureImpactEntry = {
233
+ feature?: string;
234
+ impact_score?: number;
235
+ sentiment?: string;
236
+ notes?: string;
237
+ recorded_at?: string;
238
+ };
239
+
240
+ type FeatureImpactPredictionRequest = {
241
+ app_uuid: string;
242
+ features?: Array<string>;
243
+ window_days?: number;
244
+ };
245
+
246
+ /**
247
+ * Generic success envelope.
248
+ */
249
+ type GenericSuccess = Record<string, any>;
250
+
251
+ type Insight = {
252
+ insight_id?: string;
253
+ app_uuid?: string;
254
+ generated_at?: string;
255
+ summary?: string;
256
+ key_drivers?: Array<{
257
+ driver?: string;
258
+ sentiment?: string;
259
+ change?: number;
260
+ }>;
261
+ opportunities?: Array<string>;
262
+ };
263
+
264
+ type Integration = {
265
+ integration_id?: string;
266
+ provider?: string;
267
+ status?: string;
268
+ connected_at?: string;
269
+ configuration?: Record<string, any>;
270
+ };
271
+
272
+ type IntegrationConnectRequest = {
273
+ redirect_uri?: string;
274
+ scopes?: Array<string>;
275
+ metadata?: Record<string, any>;
276
+ };
277
+
278
+ type IntegrationTestRequest = {
279
+ message?: string;
280
+ severity?: string;
281
+ payload?: Record<string, any>;
282
+ };
283
+
284
+ type InternalTaskRequest = {
285
+ dry_run?: boolean;
286
+ limit?: number;
287
+ };
288
+
289
+ type Invoice = {
290
+ invoice_id?: string;
291
+ number?: string;
292
+ amount_due?: number;
293
+ currency?: string;
294
+ status?: string;
295
+ hosted_invoice_url?: string;
296
+ created?: string;
297
+ };
298
+
299
+ type IssueSeverityPredictionRequest = {
300
+ app_uuid: string;
301
+ issues: Array<{
302
+ issue_id?: string;
303
+ label?: string;
304
+ evidence_count?: number;
305
+ }>;
306
+ window_days?: number;
307
+ };
308
+
309
+ type OAuthCallbackRequest = {
310
+ code: string;
311
+ state: string;
312
+ redirect_uri?: string;
313
+ };
314
+
315
+ type PaymentMethodRequest = {
316
+ payment_method_id: string;
317
+ make_default?: boolean;
318
+ };
319
+
320
+ type PredictionResponse = {
321
+ request_id?: string;
322
+ generated_at?: string;
323
+ metrics?: Record<string, any>;
324
+ series?: Array<{
325
+ timestamp?: string;
326
+ value?: number;
327
+ }>;
328
+ };
329
+
330
+ type ProfileUpdateRequest = {
331
+ name?: string;
332
+ company_name?: string;
333
+ role?: string;
334
+ timezone?: string;
335
+ notification_preferences?: Record<string, any>;
336
+ };
337
+
338
+ type RatingSummary = {
339
+ current_rating?: number;
340
+ rating_count?: number;
341
+ change_1d?: number;
342
+ change_7d?: number;
343
+ change_30d?: number;
344
+ };
345
+
346
+ type RatingsComparison = {
347
+ app?: RatingSummary;
348
+ competitors?: Array<{
349
+ competitor?: Competitor;
350
+ rating?: RatingSummary;
351
+ }>;
352
+ };
353
+
354
+ type RatingSnapshot = {
355
+ recorded_at?: string;
356
+ platform?: string;
357
+ rating?: number;
358
+ rating_count?: number;
359
+ };
360
+
361
+ type ReplyAnalytics = {
362
+ response_rate?: number;
363
+ average_response_time_minutes?: number;
364
+ escalations?: number;
365
+ metrics?: Record<string, any>;
366
+ };
367
+
368
+ type ReplyTemplate = {
369
+ template_id?: string;
370
+ name?: string;
371
+ language?: string;
372
+ body?: string;
373
+ tags?: Array<string>;
374
+ created_at?: string;
375
+ updated_at?: string;
376
+ };
377
+
378
+ type ReplyTemplatePatchRequest = {
379
+ name?: string;
380
+ language?: string;
381
+ body?: string;
382
+ tags?: Array<string>;
383
+ retired?: boolean;
384
+ };
385
+
386
+ type ReplyTemplateRequest = {
387
+ name: string;
388
+ language?: string;
389
+ body: string;
390
+ tags?: Array<string>;
391
+ };
392
+
393
+ type ResetPasswordRequest = {
394
+ token: string;
395
+ password: string;
396
+ };
397
+
398
+ type ReviewReplyDraft = {
399
+ reply_text?: string;
400
+ tone?: string;
401
+ suggested_actions?: Array<string>;
402
+ };
403
+
404
+ type ReviewReplyGenerateRequest = {
405
+ issue_type?: string;
406
+ known_issues?: Array<string>;
407
+ fix_eta?: string;
408
+ similar_review_count?: number;
409
+ user_segment?: string;
410
+ };
411
+
412
+ type ReviewReplyPostRequest = {
413
+ reply_text: string;
414
+ notify_customer?: boolean;
415
+ };
416
+
417
+ type ReviewReplyStatus = {
418
+ review_id?: string;
419
+ status?: string;
420
+ posted_at?: string;
421
+ source_reference?: string;
422
+ };
423
+
424
+ type ReviewSummary = {
425
+ review_id?: string;
426
+ title?: string;
427
+ body?: string;
428
+ rating?: number;
429
+ sentiment?: string;
430
+ locale?: string;
431
+ storefront?: string;
432
+ created_at?: string;
433
+ };
434
+
435
+ type SlackChannel = {
436
+ id?: string;
437
+ name?: string;
438
+ is_private?: boolean;
439
+ };
440
+
441
+ type SlackChannelUpdateRequest = {
442
+ channel_id: string;
443
+ channel_name?: string;
444
+ };
445
+
446
+ type SmsConnectRequest = {
447
+ phone_number: string;
448
+ provider?: string;
449
+ metadata?: Record<string, any>;
450
+ };
451
+
452
+ type SsoRequest = {
453
+ code: string;
454
+ redirect_uri: string;
455
+ state?: string;
456
+ };
457
+
458
+ type Subscription = {
459
+ subscription_id?: string;
460
+ plan?: string;
461
+ status?: string;
462
+ seats?: number;
463
+ renews_at?: string;
464
+ cancel_at_period_end?: boolean;
465
+ };
466
+
467
+ type SyncRequest = {
468
+ app_uuid: string;
469
+ force_full_sync?: boolean;
470
+ };
471
+
472
+ type TokenRequest = {
473
+ token: string;
474
+ };
475
+
476
+ type UserSummary = {
477
+ user_id?: string;
478
+ email?: string;
479
+ name?: string;
480
+ tenant_id?: string;
481
+ company_name?: string;
482
+ role?: string;
483
+ email_verified?: boolean;
484
+ };
485
+
486
+ type WebhookConnectRequest = {
487
+ url: string;
488
+ secret?: string;
489
+ metadata?: Record<string, any>;
490
+ };
491
+
492
+ type AlertAssignRequest = {
493
+ /**
494
+ * User ID of the team member to assign the alert to.
495
+ */
496
+ assignee_id: string;
497
+ };
498
+
499
+ declare class AlertsService {
500
+ /**
501
+ * List alert notifications for the tenant.
502
+ * @param limit
503
+ * @param cursor
504
+ * @param severity
505
+ * @param status
506
+ * @returns any Alerts returned.
507
+ * @throws ApiError
508
+ */
509
+ static getAlerts(limit?: number, cursor?: string, severity?: string, status?: 'unread' | 'read' | 'acknowledged' | 'snoozed'): CancelablePromise<{
510
+ alerts?: Array<Alert>;
511
+ next_cursor?: string;
512
+ }>;
513
+ /**
514
+ * Retrieve alert details.
515
+ * @param alertId
516
+ * @returns Alert Alert returned.
517
+ * @throws ApiError
518
+ */
519
+ static getAlert(alertId: string): CancelablePromise<Alert>;
520
+ /**
521
+ * Update alert status or acknowledgement metadata.
522
+ * @param alertId
523
+ * @param requestBody
524
+ * @returns Alert Alert updated.
525
+ * @throws ApiError
526
+ */
527
+ static patchAlert(alertId: string, requestBody: AlertUpdateRequest): CancelablePromise<Alert>;
528
+ /**
529
+ * Assign an alert to a team member.
530
+ * Assigns the specified alert to a team member for follow-up. Used by the alerts PWA for delegation workflows.
531
+ * @param alertId
532
+ * @param requestBody
533
+ * @returns GenericSuccess Alert assigned successfully.
534
+ * @throws ApiError
535
+ */
536
+ static postAlertAssign(alertId: string, requestBody: AlertAssignRequest): CancelablePromise<GenericSuccess>;
537
+ }
538
+
539
+ declare class AppsService {
540
+ /**
541
+ * List apps connected to the current tenant.
542
+ * @returns any Apps retrieved.
543
+ * @throws ApiError
544
+ */
545
+ static getApps(): CancelablePromise<{
546
+ apps?: Array<AppSummary>;
547
+ count?: number;
548
+ }>;
549
+ /**
550
+ * Connect a new app using stored credentials.
551
+ * @param requestBody
552
+ * @returns AppSummary App connected.
553
+ * @throws ApiError
554
+ */
555
+ static postAppsConnect(requestBody: AppConnectionRequest): CancelablePromise<AppSummary>;
556
+ /**
557
+ * Alias endpoint for connecting apps.
558
+ * @param requestBody
559
+ * @returns AppSummary App connected.
560
+ * @throws ApiError
561
+ */
562
+ static postAppsConnectAlias(requestBody: AppConnectionRequest): CancelablePromise<AppSummary>;
563
+ /**
564
+ * Trigger an on-demand review sync for a specific app.
565
+ * @param requestBody
566
+ * @returns GenericSuccess Sync job queued.
567
+ * @throws ApiError
568
+ */
569
+ static postAppsSync(requestBody: SyncRequest): CancelablePromise<GenericSuccess>;
570
+ /**
571
+ * Queue AI-powered analysis for an app.
572
+ * @param requestBody
573
+ * @returns any Analysis queued or cached result returned.
574
+ * @throws ApiError
575
+ */
576
+ static postAppsAnalyze(requestBody: AnalysisRequest): CancelablePromise<{
577
+ success?: boolean;
578
+ analysis_id?: string;
579
+ status?: string;
580
+ cached?: boolean;
581
+ insights?: Insight;
582
+ }>;
583
+ /**
584
+ * Update automatic review sync settings.
585
+ * @param appUuid
586
+ * @param requestBody
587
+ * @returns any Auto-sync settings updated.
588
+ * @throws ApiError
589
+ */
590
+ static patchAppAutoSync(appUuid: string, requestBody: AutoSyncConfigRequest): CancelablePromise<{
591
+ app_uuid?: string;
592
+ auto_sync_enabled?: boolean;
593
+ frequency?: 'hourly' | 'daily' | 'weekly';
594
+ }>;
595
+ /**
596
+ * Enable or disable automatic review sync.
597
+ * @param appUuid
598
+ * @param requestBody
599
+ * @returns any Auto-sync settings updated.
600
+ * @throws ApiError
601
+ */
602
+ static postAppAutoSync(appUuid: string, requestBody: AutoSyncConfigRequest): CancelablePromise<Record<string, any>>;
603
+ /**
604
+ * List competitor apps registered for benchmarking.
605
+ * @param appUuid
606
+ * @returns any Competitors returned.
607
+ * @throws ApiError
608
+ */
609
+ static getCompetitors(appUuid: string): CancelablePromise<{
610
+ competitors?: Array<Competitor>;
611
+ }>;
612
+ /**
613
+ * Register a competitor app.
614
+ * @param appUuid
615
+ * @param requestBody
616
+ * @returns Competitor Competitor registered.
617
+ * @throws ApiError
618
+ */
619
+ static postCompetitor(appUuid: string, requestBody: CompetitorUpsertRequest): CancelablePromise<Competitor>;
620
+ /**
621
+ * Remove a competitor mapping.
622
+ * @param appUuid
623
+ * @param platform
624
+ * @param externalAppId
625
+ * @returns void
626
+ * @throws ApiError
627
+ */
628
+ static deleteCompetitor(appUuid: string, platform: string, externalAppId: string): CancelablePromise<void>;
629
+ /**
630
+ * Historical feature impact entries for an app release.
631
+ * @param appUuid
632
+ * @param limit
633
+ * @param cursor
634
+ * @returns any Feature history returned.
635
+ * @throws ApiError
636
+ */
637
+ static getFeatureHistory(appUuid: string, limit?: number, cursor?: string): CancelablePromise<{
638
+ entries?: Array<FeatureImpactEntry>;
639
+ next_cursor?: string;
640
+ }>;
641
+ }
642
+
643
+ declare class AuthService {
644
+ /**
645
+ * Register a new workspace owner.
646
+ * @param requestBody
647
+ * @returns GenericSuccess Registration accepted.
648
+ * @throws ApiError
649
+ */
650
+ static postRegister(requestBody: AuthRegisterRequest): CancelablePromise<GenericSuccess>;
651
+ /**
652
+ * Confirm email verification token.
653
+ * @param requestBody
654
+ * @returns GenericSuccess Email verified.
655
+ * @throws ApiError
656
+ */
657
+ static postVerifyEmail(requestBody: TokenRequest): CancelablePromise<GenericSuccess>;
658
+ /**
659
+ * Trigger a new verification email.
660
+ * @param requestBody
661
+ * @returns GenericSuccess Verification email queued.
662
+ * @throws ApiError
663
+ */
664
+ static postResendVerification(requestBody: EmailRequest): CancelablePromise<GenericSuccess>;
665
+ /**
666
+ * Request a password reset email.
667
+ * @param requestBody
668
+ * @returns GenericSuccess Reset email dispatched.
669
+ * @throws ApiError
670
+ */
671
+ static postForgotPassword(requestBody: EmailRequest): CancelablePromise<GenericSuccess>;
672
+ /**
673
+ * Reset password with a valid token.
674
+ * @param requestBody
675
+ * @returns GenericSuccess Password updated.
676
+ * @throws ApiError
677
+ */
678
+ static postResetPassword(requestBody: ResetPasswordRequest): CancelablePromise<GenericSuccess>;
679
+ /**
680
+ * Authenticate via email and password.
681
+ * @param requestBody
682
+ * @returns any Login successful.
683
+ * @throws ApiError
684
+ */
685
+ static postLogin(requestBody: AuthLoginRequest): CancelablePromise<{
686
+ success?: boolean;
687
+ user?: UserSummary;
688
+ tokens?: AuthTokenPair;
689
+ }>;
690
+ /**
691
+ * Complete Google Workspace SSO exchange.
692
+ * @param requestBody
693
+ * @returns any Google SSO successful.
694
+ * @throws ApiError
695
+ */
696
+ static postGoogleSso(requestBody: SsoRequest): CancelablePromise<{
697
+ success?: boolean;
698
+ user?: UserSummary;
699
+ tokens?: AuthTokenPair;
700
+ }>;
701
+ /**
702
+ * Complete Microsoft Entra ID SSO exchange.
703
+ * @param requestBody
704
+ * @returns any Microsoft SSO successful.
705
+ * @throws ApiError
706
+ */
707
+ static postMicrosoftSso(requestBody: SsoRequest): CancelablePromise<{
708
+ success?: boolean;
709
+ user?: UserSummary;
710
+ tokens?: AuthTokenPair;
711
+ }>;
712
+ }
713
+
714
+ type RegionalPricingRequest = {
715
+ /**
716
+ * ISO 3166-1 alpha-2 country code.
717
+ */
718
+ country_code?: string;
719
+ /**
720
+ * Number of apps to price.
721
+ */
722
+ app_count?: number;
723
+ /**
724
+ * Number of team members.
725
+ */
726
+ member_count?: number;
727
+ /**
728
+ * Billing frequency.
729
+ */
730
+ billing_cycle?: RegionalPricingRequest.billing_cycle;
731
+ };
732
+ declare namespace RegionalPricingRequest {
733
+ /**
734
+ * Billing frequency.
735
+ */
736
+ enum billing_cycle {
737
+ MONTHLY = "monthly",
738
+ ANNUAL = "annual"
739
+ }
740
+ }
741
+
742
+ type RegionalPricingResponse = {
743
+ country_code?: string;
744
+ /**
745
+ * Pricing tier based on purchasing power parity.
746
+ */
747
+ tier?: RegionalPricingResponse.tier;
748
+ /**
749
+ * Discount rate applied (0.0 to 0.6).
750
+ */
751
+ discount_rate?: number;
752
+ /**
753
+ * Discount as percentage (0 to 60).
754
+ */
755
+ discount_percentage?: number;
756
+ /**
757
+ * Preferred currency for this region.
758
+ */
759
+ currency?: string;
760
+ /**
761
+ * Original price before discount.
762
+ */
763
+ base_price?: number;
764
+ /**
765
+ * Final price after regional discount.
766
+ */
767
+ discounted_price?: number;
768
+ /**
769
+ * Total calculated price.
770
+ */
771
+ total_price?: number;
772
+ /**
773
+ * Additional discount for annual billing.
774
+ */
775
+ annual_discount_rate?: number;
776
+ /**
777
+ * Amount saved with annual billing.
778
+ */
779
+ annual_discount_amount?: number;
780
+ };
781
+ declare namespace RegionalPricingResponse {
782
+ /**
783
+ * Pricing tier based on purchasing power parity.
784
+ */
785
+ enum tier {
786
+ FULL = "FULL",
787
+ TIER20 = "TIER20",
788
+ TIER40 = "TIER40",
789
+ TIER60 = "TIER60"
790
+ }
791
+ }
792
+
793
+ declare class BillingService {
794
+ /**
795
+ * Create a Stripe Checkout session.
796
+ * @param requestBody
797
+ * @returns any Checkout session created.
798
+ * @throws ApiError
799
+ */
800
+ static postBillingCheckout(requestBody: BillingCheckoutRequest): CancelablePromise<{
801
+ session_id?: string;
802
+ url?: string;
803
+ }>;
804
+ /**
805
+ * Retrieve current subscription details.
806
+ * @returns Subscription Subscription returned.
807
+ * @throws ApiError
808
+ */
809
+ static getSubscription(): CancelablePromise<Subscription>;
810
+ /**
811
+ * Retrieve per-integration subscription details.
812
+ * @returns any Per-integration subscription returned.
813
+ * @throws ApiError
814
+ */
815
+ static getSubscriptionV2(): CancelablePromise<{
816
+ subscription?: {
817
+ subscription_id?: string;
818
+ tenant_id?: string;
819
+ status?: string;
820
+ pricing_model?: string;
821
+ billing_cycle?: 'monthly' | 'annual';
822
+ integration_count?: number;
823
+ member_count?: number;
824
+ integration_subtotal?: number;
825
+ member_subtotal?: number;
826
+ monthly_cost?: number;
827
+ annual_discount_applied?: number | null;
828
+ effective_monthly_rate?: number;
829
+ active_integrations?: Array<Record<string, any>>;
830
+ stripe_customer_id?: string;
831
+ stripe_subscription_id?: string;
832
+ };
833
+ }>;
834
+ /**
835
+ * Cancel the active subscription at period end.
836
+ * @returns Subscription Subscription cancellation scheduled.
837
+ * @throws ApiError
838
+ */
839
+ static postCancelSubscription(): CancelablePromise<Subscription>;
840
+ /**
841
+ * Reactivate a cancelled subscription.
842
+ * @returns Subscription Subscription reactivated.
843
+ * @throws ApiError
844
+ */
845
+ static postReactivateSubscription(): CancelablePromise<Subscription>;
846
+ /**
847
+ * Attach or update a default payment method.
848
+ * @param requestBody
849
+ * @returns Subscription Payment method updated.
850
+ * @throws ApiError
851
+ */
852
+ static postPaymentMethod(requestBody: PaymentMethodRequest): CancelablePromise<Subscription>;
853
+ /**
854
+ * List invoices for the tenant.
855
+ * @param limit
856
+ * @param cursor
857
+ * @returns any Invoices returned.
858
+ * @throws ApiError
859
+ */
860
+ static getInvoices(limit?: number, cursor?: string): CancelablePromise<{
861
+ invoices?: Array<Invoice>;
862
+ next_cursor?: string;
863
+ }>;
864
+ /**
865
+ * Stripe webhook endpoint.
866
+ * @param requestBody
867
+ * @returns any Event processed.
868
+ * @throws ApiError
869
+ */
870
+ static postBillingWebhook(requestBody: Record<string, any>): CancelablePromise<any>;
871
+ /**
872
+ * Calculate per-integration pricing totals.
873
+ * @param requestBody
874
+ * @returns any Pricing calculated.
875
+ * @throws ApiError
876
+ */
877
+ static postCalculatePricing(requestBody: {
878
+ integration_count?: number;
879
+ member_count?: number;
880
+ billing_cycle?: 'monthly' | 'annual';
881
+ }): CancelablePromise<{
882
+ calculation?: Record<string, any>;
883
+ breakdown?: Record<string, any>;
884
+ }>;
885
+ /**
886
+ * Create per-integration subscription.
887
+ * @param requestBody
888
+ * @returns any Subscription created.
889
+ * @throws ApiError
890
+ */
891
+ static postCreateSubscriptionV2(requestBody: {
892
+ payment_method_id?: string;
893
+ integration_ids?: Array<string>;
894
+ integration_count?: number;
895
+ member_count?: number;
896
+ billing_cycle?: 'monthly' | 'annual';
897
+ }): CancelablePromise<{
898
+ subscription_id?: string;
899
+ status?: string;
900
+ }>;
901
+ /**
902
+ * Update per-integration subscription quantities.
903
+ * @param requestBody
904
+ * @returns any Subscription updated.
905
+ * @throws ApiError
906
+ */
907
+ static postUpdateSubscriptionV2(requestBody: {
908
+ integration_count?: number;
909
+ member_count?: number;
910
+ billing_cycle?: 'monthly' | 'annual';
911
+ }): CancelablePromise<{
912
+ subscription_id?: string;
913
+ status?: string;
914
+ }>;
915
+ /**
916
+ * Migrate legacy subscriptions to per-integration pricing.
917
+ * @param requestBody
918
+ * @returns any Migration initiated.
919
+ * @throws ApiError
920
+ */
921
+ static postMigrateSubscription(requestBody?: {
922
+ billing_cycle?: 'monthly' | 'annual';
923
+ member_count?: number;
924
+ }): CancelablePromise<{
925
+ migration?: Record<string, any>;
926
+ }>;
927
+ /**
928
+ * Calculate regional pricing based on country.
929
+ * Returns pricing information adjusted for purchasing power parity (PPP) based on the provided country code. Discounts range from 0% (US/UK/EU) to 60% for developing economies.
930
+ * @param requestBody
931
+ * @returns any Regional pricing calculated.
932
+ * @throws ApiError
933
+ */
934
+ static postRegionalPricing(requestBody: RegionalPricingRequest): CancelablePromise<{
935
+ regional_pricing?: RegionalPricingResponse;
936
+ }>;
937
+ /**
938
+ * Detect user's country from IP address.
939
+ * Detects the user's country based on their IP address for display purposes. Note: Final pricing is always determined by card country, not IP location.
940
+ * @returns any Country detected successfully.
941
+ * @throws ApiError
942
+ */
943
+ static getDetectCountry(): CancelablePromise<{
944
+ /**
945
+ * ISO 3166-1 alpha-2 country code
946
+ */
947
+ detected_country?: string;
948
+ pricing_info?: {
949
+ /**
950
+ * Pricing tier based on PPP
951
+ */
952
+ tier?: 'FULL' | 'TIER20' | 'TIER40' | 'TIER60';
953
+ /**
954
+ * Discount rate (0.0 to 0.6)
955
+ */
956
+ discount_rate?: number;
957
+ /**
958
+ * Preferred currency for this region
959
+ */
960
+ currency?: string;
961
+ };
962
+ note?: string;
963
+ }>;
964
+ /**
965
+ * Get usage dashboard data.
966
+ * Returns comprehensive usage data for the current billing period including apps, members, syncs, and cost projections.
967
+ * @returns any Usage dashboard data returned.
968
+ * @throws ApiError
969
+ */
970
+ static getUsageDashboard(): CancelablePromise<{
971
+ billing_period?: {
972
+ start?: string;
973
+ end?: string;
974
+ days_remaining?: number;
975
+ };
976
+ apps?: {
977
+ used?: number;
978
+ limit?: number;
979
+ };
980
+ members?: {
981
+ used?: number;
982
+ limit?: number;
983
+ };
984
+ syncs?: {
985
+ used?: number;
986
+ limit?: number;
987
+ };
988
+ current_cost?: number;
989
+ projected_cost?: number;
990
+ }>;
991
+ /**
992
+ * Get bill forecast data.
993
+ * Returns projected billing amounts over a specified horizon (7d, 30d, or 90d) with confidence intervals.
994
+ * @param horizon Forecast horizon
995
+ * @returns any Bill forecast returned.
996
+ * @throws ApiError
997
+ */
998
+ static getBillForecast(horizon?: '7d' | '30d' | '90d'): CancelablePromise<{
999
+ points?: Array<{
1000
+ date?: string;
1001
+ amount?: number;
1002
+ confidence_lower?: number;
1003
+ confidence_upper?: number;
1004
+ }>;
1005
+ current_monthly?: number;
1006
+ projected_monthly?: number;
1007
+ change_amount?: number;
1008
+ change_percent?: number;
1009
+ }>;
1010
+ /**
1011
+ * Get pricing information.
1012
+ * Returns the current pricing model and rates.
1013
+ * @returns any Pricing information returned.
1014
+ * @throws ApiError
1015
+ */
1016
+ static getPricing(): CancelablePromise<{
1017
+ pricing?: {
1018
+ model?: string;
1019
+ app_price?: number;
1020
+ additional_member_price?: number;
1021
+ included_members_per_app?: number;
1022
+ included_ai_analyses_per_app?: number;
1023
+ ai_overage_rate?: number;
1024
+ annual_discount?: number;
1025
+ trial_days?: number;
1026
+ };
1027
+ }>;
1028
+ }
1029
+
1030
+ declare class CredentialsService {
1031
+ /**
1032
+ * List stored credentials for the tenant.
1033
+ * @returns any Credentials returned.
1034
+ * @throws ApiError
1035
+ */
1036
+ static getCredentials(): CancelablePromise<{
1037
+ credentials?: Array<Credential>;
1038
+ }>;
1039
+ /**
1040
+ * Store a new credential set.
1041
+ * @param requestBody
1042
+ * @returns Credential Credential stored.
1043
+ * @throws ApiError
1044
+ */
1045
+ static postCredential(requestBody: CredentialRequest): CancelablePromise<Credential>;
1046
+ /**
1047
+ * Retrieve credential details by ID.
1048
+ * @param credentialId
1049
+ * @returns Credential Credential returned.
1050
+ * @throws ApiError
1051
+ */
1052
+ static getCredential(credentialId: string): CancelablePromise<Credential>;
1053
+ /**
1054
+ * Update an existing credential.
1055
+ * @param credentialId
1056
+ * @param requestBody
1057
+ * @returns Credential Credential updated.
1058
+ * @throws ApiError
1059
+ */
1060
+ static putCredential(credentialId: string, requestBody: CredentialRequest): CancelablePromise<Credential>;
1061
+ /**
1062
+ * Delete a credential.
1063
+ * @param credentialId
1064
+ * @returns void
1065
+ * @throws ApiError
1066
+ */
1067
+ static deleteCredential(credentialId: string): CancelablePromise<void>;
1068
+ /**
1069
+ * List apps linked to a credential.
1070
+ * @param credentialId
1071
+ * @returns any Linked apps returned.
1072
+ * @throws ApiError
1073
+ */
1074
+ static getCredentialApps(credentialId: string): CancelablePromise<{
1075
+ apps?: Array<AppSummary>;
1076
+ }>;
1077
+ /**
1078
+ * Validate credential authenticity with source systems.
1079
+ * @param requestBody
1080
+ * @returns GenericSuccess Validation outcome.
1081
+ * @throws ApiError
1082
+ */
1083
+ static postCredentialValidate(requestBody: CredentialValidateRequest): CancelablePromise<GenericSuccess>;
1084
+ }
1085
+
1086
+ declare class HealthService {
1087
+ /**
1088
+ * Check API availability.
1089
+ * @returns any API is reachable.
1090
+ * @throws ApiError
1091
+ */
1092
+ static getHealth(): CancelablePromise<{
1093
+ status?: string;
1094
+ timestamp?: string;
1095
+ }>;
1096
+ /**
1097
+ * Root health probe.
1098
+ * @returns any API is reachable.
1099
+ * @throws ApiError
1100
+ */
1101
+ static getRoot(): CancelablePromise<Record<string, any>>;
1102
+ }
1103
+
1104
+ /**
1105
+ * Full review object with all metadata.
1106
+ */
1107
+ type Review = {
1108
+ /**
1109
+ * Unique identifier for the review.
1110
+ */
1111
+ review_id?: string;
1112
+ /**
1113
+ * UUID of the app this review belongs to.
1114
+ */
1115
+ app_uuid?: string;
1116
+ /**
1117
+ * Source platform for the review.
1118
+ */
1119
+ platform?: Review.platform;
1120
+ /**
1121
+ * Review title (if available).
1122
+ */
1123
+ title?: string;
1124
+ /**
1125
+ * Review text content.
1126
+ */
1127
+ body?: string;
1128
+ /**
1129
+ * Star rating (1-5).
1130
+ */
1131
+ rating?: number;
1132
+ /**
1133
+ * Reviewer display name.
1134
+ */
1135
+ author?: string;
1136
+ /**
1137
+ * Locale/language code (e.g., en-US).
1138
+ */
1139
+ locale?: string;
1140
+ /**
1141
+ * App store region/storefront.
1142
+ */
1143
+ storefront?: string;
1144
+ /**
1145
+ * App version the review was written for.
1146
+ */
1147
+ version?: string;
1148
+ /**
1149
+ * AI-analyzed sentiment.
1150
+ */
1151
+ sentiment?: Review.sentiment;
1152
+ /**
1153
+ * Sentiment score (-1 to 1).
1154
+ */
1155
+ sentiment_score?: number;
1156
+ /**
1157
+ * AI-extracted topic categories.
1158
+ */
1159
+ categories?: Array<string>;
1160
+ /**
1161
+ * Product features mentioned in the review.
1162
+ */
1163
+ features_mentioned?: Array<string>;
1164
+ /**
1165
+ * Current reply workflow status.
1166
+ */
1167
+ reply_status?: Review.reply_status;
1168
+ /**
1169
+ * Published reply text (if any).
1170
+ */
1171
+ reply_text?: string;
1172
+ /**
1173
+ * Timestamp when reply was published.
1174
+ */
1175
+ replied_at?: string;
1176
+ /**
1177
+ * Engagement metrics for the review.
1178
+ */
1179
+ engagement?: {
1180
+ /**
1181
+ * Number of users who found the review helpful.
1182
+ */
1183
+ helpful_count?: number;
1184
+ /**
1185
+ * Number of developer replies.
1186
+ */
1187
+ reply_count?: number;
1188
+ };
1189
+ /**
1190
+ * When the review was originally posted.
1191
+ */
1192
+ created_at?: string;
1193
+ /**
1194
+ * When the review was last modified.
1195
+ */
1196
+ updated_at?: string;
1197
+ /**
1198
+ * When the review was last synced from the platform.
1199
+ */
1200
+ synced_at?: string;
1201
+ };
1202
+ declare namespace Review {
1203
+ /**
1204
+ * Source platform for the review.
1205
+ */
1206
+ enum platform {
1207
+ APP_STORE = "app_store",
1208
+ GOOGLE_PLAY = "google_play",
1209
+ AMAZON = "amazon",
1210
+ MICROSOFT = "microsoft",
1211
+ STEAM = "steam",
1212
+ EPIC_GAMES = "epic_games",
1213
+ SAMSUNG = "samsung",
1214
+ GOG = "gog",
1215
+ ITCH_IO = "itch_io"
1216
+ }
1217
+ /**
1218
+ * AI-analyzed sentiment.
1219
+ */
1220
+ enum sentiment {
1221
+ POSITIVE = "positive",
1222
+ NEGATIVE = "negative",
1223
+ NEUTRAL = "neutral",
1224
+ MIXED = "mixed"
1225
+ }
1226
+ /**
1227
+ * Current reply workflow status.
1228
+ */
1229
+ enum reply_status {
1230
+ PENDING = "pending",
1231
+ DRAFT = "draft",
1232
+ APPROVED = "approved",
1233
+ PUBLISHED = "published",
1234
+ SKIPPED = "skipped"
1235
+ }
1236
+ }
1237
+
1238
+ declare class InsightsService {
1239
+ /**
1240
+ * Queue AI-powered analysis for an app.
1241
+ * @param requestBody
1242
+ * @returns any Analysis queued or cached result returned.
1243
+ * @throws ApiError
1244
+ */
1245
+ static postAppsAnalyze(requestBody: AnalysisRequest): CancelablePromise<{
1246
+ success?: boolean;
1247
+ analysis_id?: string;
1248
+ status?: string;
1249
+ cached?: boolean;
1250
+ insights?: Insight;
1251
+ }>;
1252
+ /**
1253
+ * Aggregate reply performance metrics for an app.
1254
+ * @param appUuid
1255
+ * @returns ReplyAnalytics Reply analytics returned.
1256
+ * @throws ApiError
1257
+ */
1258
+ static getReplyAnalytics(appUuid: string): CancelablePromise<ReplyAnalytics>;
1259
+ /**
1260
+ * Retrieve the latest insight bundle for an app.
1261
+ * @param appUuid
1262
+ * @returns Insight Insight bundle retrieved.
1263
+ * @throws ApiError
1264
+ */
1265
+ static getAppInsights(appUuid: string): CancelablePromise<Insight>;
1266
+ /**
1267
+ * Historical insight summaries for an app.
1268
+ * @param appUuid
1269
+ * @param limit
1270
+ * @param cursor
1271
+ * @returns any Insight history returned.
1272
+ * @throws ApiError
1273
+ */
1274
+ static getAppInsightHistory(appUuid: string, limit?: number, cursor?: string): CancelablePromise<{
1275
+ items?: Array<Insight>;
1276
+ next_cursor?: string;
1277
+ }>;
1278
+ /**
1279
+ * Historical feature impact entries for an app release.
1280
+ * @param appUuid
1281
+ * @param limit
1282
+ * @param cursor
1283
+ * @returns any Feature history returned.
1284
+ * @throws ApiError
1285
+ */
1286
+ static getFeatureHistory(appUuid: string, limit?: number, cursor?: string): CancelablePromise<{
1287
+ entries?: Array<FeatureImpactEntry>;
1288
+ next_cursor?: string;
1289
+ }>;
1290
+ /**
1291
+ * Tenant-level feed of insight highlights.
1292
+ * @param limit
1293
+ * @param cursor
1294
+ * @returns any Insights returned.
1295
+ * @throws ApiError
1296
+ */
1297
+ static getTenantInsights(limit?: number, cursor?: string): CancelablePromise<{
1298
+ items?: Array<Insight>;
1299
+ next_cursor?: string;
1300
+ }>;
1301
+ /**
1302
+ * List reviewer segments for an app.
1303
+ * @param appUuid App UUID assigned by Tritonium.
1304
+ * @param segmentType
1305
+ * @param sort
1306
+ * @param limit
1307
+ * @returns any Segments returned.
1308
+ * @throws ApiError
1309
+ */
1310
+ static getAppSegments(appUuid: string, segmentType?: string, sort?: 'score' | 'review_count' | 'sentiment', limit?: number): CancelablePromise<{
1311
+ segments?: Array<Record<string, any>>;
1312
+ summary?: Record<string, any>;
1313
+ metadata?: Record<string, any>;
1314
+ }>;
1315
+ /**
1316
+ * Retrieve reviews tied to a specific segment.
1317
+ * @param appUuid App UUID assigned by Tritonium.
1318
+ * @param segmentType
1319
+ * @returns any Reviews returned.
1320
+ * @throws ApiError
1321
+ */
1322
+ static getSegmentReviews(appUuid: string, segmentType: string): CancelablePromise<{
1323
+ reviews?: Array<Review>;
1324
+ metadata?: Record<string, any>;
1325
+ }>;
1326
+ /**
1327
+ * List reviews with viral engagement.
1328
+ * @param appUuid App UUID assigned by Tritonium.
1329
+ * @param lookbackHours
1330
+ * @param minEngagement
1331
+ * @param sentiment
1332
+ * @returns any Viral review payload.
1333
+ * @throws ApiError
1334
+ */
1335
+ static getViralReviews(appUuid: string, lookbackHours?: number, minEngagement?: number, sentiment?: 'all' | 'positive' | 'negative' | 'neutral'): CancelablePromise<{
1336
+ viral_reviews?: Array<Review>;
1337
+ summary?: Record<string, any>;
1338
+ metadata?: Record<string, any>;
1339
+ }>;
1340
+ /**
1341
+ * Retrieve engagement history for a review.
1342
+ * @param reviewId
1343
+ * @param appUuid
1344
+ * @returns any History returned.
1345
+ * @throws ApiError
1346
+ */
1347
+ static getReviewEngagementHistory(reviewId: string, appUuid: string): CancelablePromise<{
1348
+ history?: Array<Record<string, any>>;
1349
+ metadata?: Record<string, any>;
1350
+ }>;
1351
+ /**
1352
+ * List reply template performance metrics.
1353
+ * @param days
1354
+ * @param templateId
1355
+ * @returns any Template analytics returned.
1356
+ * @throws ApiError
1357
+ */
1358
+ static getTemplatePerformance(days?: number, templateId?: string): CancelablePromise<Record<string, any>>;
1359
+ /**
1360
+ * Alias for template performance listing.
1361
+ * @returns any Template analytics returned.
1362
+ * @throws ApiError
1363
+ */
1364
+ static getTemplateComparison(): CancelablePromise<Record<string, any>>;
1365
+ }
1366
+
1367
+ declare class IntegrationsService {
1368
+ /**
1369
+ * List configured integrations.
1370
+ * @returns any Integrations returned.
1371
+ * @throws ApiError
1372
+ */
1373
+ static getIntegrations(): CancelablePromise<{
1374
+ integrations?: Array<Integration>;
1375
+ }>;
1376
+ /**
1377
+ * Retrieve integration configuration.
1378
+ * @param integrationId
1379
+ * @returns Integration Integration returned.
1380
+ * @throws ApiError
1381
+ */
1382
+ static getIntegration(integrationId: string): CancelablePromise<Integration>;
1383
+ /**
1384
+ * Update mutable integration metadata.
1385
+ * @param integrationId
1386
+ * @param requestBody
1387
+ * @returns Integration Integration updated.
1388
+ * @throws ApiError
1389
+ */
1390
+ static patchIntegration(integrationId: string, requestBody: Record<string, any>): CancelablePromise<Integration>;
1391
+ /**
1392
+ * Delete an integration configuration.
1393
+ * @param integrationId
1394
+ * @returns void
1395
+ * @throws ApiError
1396
+ */
1397
+ static deleteIntegration(integrationId: string): CancelablePromise<void>;
1398
+ /**
1399
+ * Send a test payload for an integration.
1400
+ * @param integrationId
1401
+ * @param requestBody
1402
+ * @returns GenericSuccess Test executed.
1403
+ * @throws ApiError
1404
+ */
1405
+ static postIntegrationTest(integrationId: string, requestBody: IntegrationTestRequest): CancelablePromise<GenericSuccess>;
1406
+ /**
1407
+ * Start Jira OAuth connection.
1408
+ * @param requestBody
1409
+ * @returns Integration Authorization URL or status returned.
1410
+ * @throws ApiError
1411
+ */
1412
+ static postJiraConnect(requestBody: IntegrationConnectRequest): CancelablePromise<Integration>;
1413
+ /**
1414
+ * Complete Jira OAuth exchange.
1415
+ * @param state
1416
+ * @param code
1417
+ * @returns Integration Jira integration connected.
1418
+ * @throws ApiError
1419
+ */
1420
+ static getJiraCallback(state?: string, code?: string): CancelablePromise<Integration>;
1421
+ /**
1422
+ * Push an incident update to Jira.
1423
+ * @param requestBody
1424
+ * @returns GenericSuccess Issue created or updated.
1425
+ * @throws ApiError
1426
+ */
1427
+ static postJiraIncident(requestBody: Record<string, any>): CancelablePromise<GenericSuccess>;
1428
+ /**
1429
+ * Connect Linear workspace.
1430
+ * @param requestBody
1431
+ * @returns Integration Linear integration configured.
1432
+ * @throws ApiError
1433
+ */
1434
+ static postLinearConnect(requestBody: IntegrationConnectRequest): CancelablePromise<Integration>;
1435
+ /**
1436
+ * Connect Discord notifications.
1437
+ * @param requestBody
1438
+ * @returns Integration Discord integration configured.
1439
+ * @throws ApiError
1440
+ */
1441
+ static postDiscordConnect(requestBody: WebhookConnectRequest): CancelablePromise<Integration>;
1442
+ /**
1443
+ * Connect Microsoft Teams notifications.
1444
+ * @param requestBody
1445
+ * @returns Integration Teams integration configured.
1446
+ * @throws ApiError
1447
+ */
1448
+ static postTeamsConnect(requestBody: WebhookConnectRequest): CancelablePromise<Integration>;
1449
+ /**
1450
+ * Start Help Scout OAuth flow.
1451
+ * @param requestBody
1452
+ * @returns GenericSuccess Authorization URL generated.
1453
+ * @throws ApiError
1454
+ */
1455
+ static postHelpScoutStart(requestBody?: IntegrationConnectRequest): CancelablePromise<GenericSuccess>;
1456
+ /**
1457
+ * Complete Help Scout OAuth exchange.
1458
+ * @param requestBody
1459
+ * @returns Integration Help Scout integration connected.
1460
+ * @throws ApiError
1461
+ */
1462
+ static postHelpScoutConnect(requestBody: OAuthCallbackRequest): CancelablePromise<Integration>;
1463
+ /**
1464
+ * Start Salesforce OAuth flow.
1465
+ * @param requestBody
1466
+ * @returns GenericSuccess Authorization URL generated.
1467
+ * @throws ApiError
1468
+ */
1469
+ static postSalesforceStart(requestBody?: IntegrationConnectRequest): CancelablePromise<GenericSuccess>;
1470
+ /**
1471
+ * Complete Salesforce OAuth exchange.
1472
+ * @param requestBody
1473
+ * @returns Integration Salesforce integration connected.
1474
+ * @throws ApiError
1475
+ */
1476
+ static postSalesforceConnect(requestBody: OAuthCallbackRequest): CancelablePromise<Integration>;
1477
+ /**
1478
+ * Start Zendesk OAuth flow.
1479
+ * @param requestBody
1480
+ * @returns GenericSuccess Authorization URL generated.
1481
+ * @throws ApiError
1482
+ */
1483
+ static postZendeskStart(requestBody?: IntegrationConnectRequest): CancelablePromise<GenericSuccess>;
1484
+ /**
1485
+ * Complete Zendesk OAuth exchange.
1486
+ * @param requestBody
1487
+ * @returns Integration Zendesk integration connected.
1488
+ * @throws ApiError
1489
+ */
1490
+ static postZendeskConnect(requestBody: OAuthCallbackRequest): CancelablePromise<Integration>;
1491
+ /**
1492
+ * Connect Asana workspace.
1493
+ * @param requestBody
1494
+ * @returns Integration Asana integration connected.
1495
+ * @throws ApiError
1496
+ */
1497
+ static postAsanaConnect(requestBody: IntegrationConnectRequest): CancelablePromise<Integration>;
1498
+ /**
1499
+ * Connect ClickUp workspace.
1500
+ * @param requestBody
1501
+ * @returns Integration ClickUp integration connected.
1502
+ * @throws ApiError
1503
+ */
1504
+ static postClickUpConnect(requestBody: IntegrationConnectRequest): CancelablePromise<Integration>;
1505
+ /**
1506
+ * Connect Trello workspace.
1507
+ * @param requestBody
1508
+ * @returns Integration Trello integration connected.
1509
+ * @throws ApiError
1510
+ */
1511
+ static postTrelloConnect(requestBody: IntegrationConnectRequest): CancelablePromise<Integration>;
1512
+ /**
1513
+ * Save Zapier webhook destination.
1514
+ * @param requestBody
1515
+ * @returns Integration Zapier webhook registered.
1516
+ * @throws ApiError
1517
+ */
1518
+ static postZapierConnect(requestBody: WebhookConnectRequest): CancelablePromise<Integration>;
1519
+ /**
1520
+ * Configure SMS delivery integration.
1521
+ * @param requestBody
1522
+ * @returns Integration SMS integration configured.
1523
+ * @throws ApiError
1524
+ */
1525
+ static postSmsConnect(requestBody: SmsConnectRequest): CancelablePromise<Integration>;
1526
+ /**
1527
+ * Connect GitLab project.
1528
+ * @param requestBody
1529
+ * @returns Integration GitLab integration connected.
1530
+ * @throws ApiError
1531
+ */
1532
+ static postGitlabConnect(requestBody: IntegrationConnectRequest): CancelablePromise<Integration>;
1533
+ /**
1534
+ * Start Slack OAuth flow.
1535
+ * @param redirectUri
1536
+ * @returns GenericSuccess Authorization URL generated.
1537
+ * @throws ApiError
1538
+ */
1539
+ static getSlackConnect(redirectUri?: string): CancelablePromise<GenericSuccess>;
1540
+ /**
1541
+ * Complete Slack OAuth exchange.
1542
+ * @param code
1543
+ * @param state
1544
+ * @returns Integration Slack workspace connected.
1545
+ * @throws ApiError
1546
+ */
1547
+ static getSlackCallback(code?: string, state?: string): CancelablePromise<Integration>;
1548
+ /**
1549
+ * Retrieve Slack integration status.
1550
+ * @returns Integration Slack status returned.
1551
+ * @throws ApiError
1552
+ */
1553
+ static getSlackStatus(): CancelablePromise<Integration>;
1554
+ /**
1555
+ * List Slack channels available to the app.
1556
+ * @returns any Channel listing returned.
1557
+ * @throws ApiError
1558
+ */
1559
+ static getSlackChannels(): CancelablePromise<{
1560
+ channels?: Array<SlackChannel>;
1561
+ }>;
1562
+ /**
1563
+ * Save the default Slack channel for alerts.
1564
+ * @param requestBody
1565
+ * @returns Integration Channel saved.
1566
+ * @throws ApiError
1567
+ */
1568
+ static postSlackChannel(requestBody: SlackChannelUpdateRequest): CancelablePromise<Integration>;
1569
+ /**
1570
+ * Send a test Slack notification.
1571
+ * @returns GenericSuccess Test notification sent.
1572
+ * @throws ApiError
1573
+ */
1574
+ static postSlackTest(): CancelablePromise<GenericSuccess>;
1575
+ /**
1576
+ * Post a custom alert message to Slack.
1577
+ * @param requestBody
1578
+ * @returns GenericSuccess Message posted.
1579
+ * @throws ApiError
1580
+ */
1581
+ static postSlackMessage(requestBody: {
1582
+ channel?: string;
1583
+ text: string;
1584
+ blocks?: Array<Record<string, any>>;
1585
+ }): CancelablePromise<GenericSuccess>;
1586
+ /**
1587
+ * Disconnect Slack workspace.
1588
+ * @returns GenericSuccess Slack integration disabled.
1589
+ * @throws ApiError
1590
+ */
1591
+ static postSlackDisconnect(): CancelablePromise<GenericSuccess>;
1592
+ }
1593
+
1594
+ declare class InternalService {
1595
+ /**
1596
+ * Health probe for scheduled trial reminder execution.
1597
+ * @returns any Automation healthy.
1598
+ * @throws ApiError
1599
+ */
1600
+ static headTrialReminders(): CancelablePromise<any>;
1601
+ /**
1602
+ * Execute trial reminder workflow.
1603
+ * @returns any Workflow started.
1604
+ * @throws ApiError
1605
+ */
1606
+ static postTrialReminders(): CancelablePromise<any>;
1607
+ /**
1608
+ * Trigger nightly auto-sync job across apps.
1609
+ * @param requestBody
1610
+ * @returns any Job accepted.
1611
+ * @throws ApiError
1612
+ */
1613
+ static postInternalAutoSync(requestBody?: InternalTaskRequest): CancelablePromise<any>;
1614
+ /**
1615
+ * Perform competitor metadata sync.
1616
+ * @param requestBody
1617
+ * @returns any Sync started.
1618
+ * @throws ApiError
1619
+ */
1620
+ static postInternalCompetitorSync(requestBody?: InternalTaskRequest): CancelablePromise<any>;
1621
+ /**
1622
+ * Aggregate metrics into dashboards.
1623
+ * @param requestBody
1624
+ * @returns any Aggregation started.
1625
+ * @throws ApiError
1626
+ */
1627
+ static postInternalMetricsAggregate(requestBody?: InternalTaskRequest): CancelablePromise<any>;
1628
+ }
1629
+
1630
+ declare class PredictionsService {
1631
+ /**
1632
+ * Retrieve rating forecasts for an app.
1633
+ * @param appUuid
1634
+ * @param horizonDays
1635
+ * @returns PredictionResponse Forecast returned.
1636
+ * @throws ApiError
1637
+ */
1638
+ static getRatingForecast(appUuid: string, horizonDays?: number): CancelablePromise<PredictionResponse>;
1639
+ /**
1640
+ * Compute predicted driver impact for product features.
1641
+ * @param requestBody
1642
+ * @returns PredictionResponse Feature impact predicted.
1643
+ * @throws ApiError
1644
+ */
1645
+ static postFeatureImpactPrediction(requestBody: FeatureImpactPredictionRequest): CancelablePromise<PredictionResponse>;
1646
+ /**
1647
+ * Predict severity for issues detected in reviews.
1648
+ * @param requestBody
1649
+ * @returns PredictionResponse Severity predictions returned.
1650
+ * @throws ApiError
1651
+ */
1652
+ static postIssueSeverityPrediction(requestBody: IssueSeverityPredictionRequest): CancelablePromise<PredictionResponse>;
1653
+ /**
1654
+ * Retrieve AI analysis engine status.
1655
+ * Returns the status of the LLM-based analysis system (Claude via AWS Bedrock).
1656
+ * @returns any AI analysis engine status returned.
1657
+ * @throws ApiError
1658
+ */
1659
+ static getModelStatus(): CancelablePromise<Record<string, any>>;
1660
+ }
1661
+
1662
+ declare class RatingsService {
1663
+ /**
1664
+ * Historical rating snapshots for an app.
1665
+ * @param appUuid
1666
+ * @param limit
1667
+ * @param cursor
1668
+ * @param order
1669
+ * @param platform
1670
+ * @param startDate
1671
+ * @param endDate
1672
+ * @returns any Rating history returned.
1673
+ * @throws ApiError
1674
+ */
1675
+ static getRatingsHistory(appUuid: string, limit?: number, cursor?: string, order?: 'asc' | 'desc', platform?: string, startDate?: string, endDate?: string): CancelablePromise<{
1676
+ snapshots?: Array<RatingSnapshot>;
1677
+ next_cursor?: string;
1678
+ }>;
1679
+ /**
1680
+ * Latest rating snapshot for an app.
1681
+ * @param appUuid
1682
+ * @param platform
1683
+ * @returns RatingSummary Rating summary returned.
1684
+ * @throws ApiError
1685
+ */
1686
+ static getRatingsSummary(appUuid: string, platform?: string): CancelablePromise<RatingSummary>;
1687
+ /**
1688
+ * Compare app ratings against competitors.
1689
+ * @param appUuid
1690
+ * @param platform
1691
+ * @returns RatingsComparison Comparison returned.
1692
+ * @throws ApiError
1693
+ */
1694
+ static getRatingsComparison(appUuid: string, platform?: string): CancelablePromise<RatingsComparison>;
1695
+ }
1696
+
1697
+ declare class ReplyTemplatesService {
1698
+ /**
1699
+ * List system and custom reply templates.
1700
+ * @returns any Templates returned.
1701
+ * @throws ApiError
1702
+ */
1703
+ static getReplyTemplates(): CancelablePromise<{
1704
+ templates?: Array<ReplyTemplate>;
1705
+ }>;
1706
+ /**
1707
+ * Create a custom reply template.
1708
+ * @param requestBody
1709
+ * @returns ReplyTemplate Template created.
1710
+ * @throws ApiError
1711
+ */
1712
+ static postReplyTemplate(requestBody: ReplyTemplateRequest): CancelablePromise<ReplyTemplate>;
1713
+ /**
1714
+ * Replace a reply template.
1715
+ * @param templateId
1716
+ * @param requestBody
1717
+ * @returns ReplyTemplate Template updated.
1718
+ * @throws ApiError
1719
+ */
1720
+ static putReplyTemplate(templateId: string, requestBody: ReplyTemplateRequest): CancelablePromise<ReplyTemplate>;
1721
+ /**
1722
+ * Patch fields on a reply template.
1723
+ * @param templateId
1724
+ * @param requestBody
1725
+ * @returns ReplyTemplate Template updated.
1726
+ * @throws ApiError
1727
+ */
1728
+ static patchReplyTemplate(templateId: string, requestBody: ReplyTemplatePatchRequest): CancelablePromise<ReplyTemplate>;
1729
+ /**
1730
+ * Remove a custom reply template.
1731
+ * @param templateId
1732
+ * @returns void
1733
+ * @throws ApiError
1734
+ */
1735
+ static deleteReplyTemplate(templateId: string): CancelablePromise<void>;
1736
+ /**
1737
+ * List reply template performance metrics.
1738
+ * @param days
1739
+ * @param templateId
1740
+ * @returns any Template analytics returned.
1741
+ * @throws ApiError
1742
+ */
1743
+ static getTemplatePerformance(days?: number, templateId?: string): CancelablePromise<Record<string, any>>;
1744
+ /**
1745
+ * Alias for template performance listing.
1746
+ * @returns any Template analytics returned.
1747
+ * @throws ApiError
1748
+ */
1749
+ static getTemplateComparison(): CancelablePromise<Record<string, any>>;
1750
+ }
1751
+
1752
+ declare class ReviewsService {
1753
+ /**
1754
+ * Paginated reviews for an app.
1755
+ * @param appUuid
1756
+ * @param limit
1757
+ * @param cursor
1758
+ * @param sentiment
1759
+ * @param platform
1760
+ * @returns any Reviews returned.
1761
+ * @throws ApiError
1762
+ */
1763
+ static getAppReviews(appUuid: string, limit?: number, cursor?: string, sentiment?: string, platform?: string): CancelablePromise<{
1764
+ reviews?: Array<ReviewSummary>;
1765
+ next_cursor?: string;
1766
+ }>;
1767
+ /**
1768
+ * Retrieve stored reply metadata for a review.
1769
+ * @param appUuid
1770
+ * @param reviewId
1771
+ * @returns ReviewReplyStatus Reply status returned.
1772
+ * @throws ApiError
1773
+ */
1774
+ static getReviewReply(appUuid: string, reviewId: string): CancelablePromise<ReviewReplyStatus>;
1775
+ /**
1776
+ * Generate an AI-generated reply draft for a review.
1777
+ * @param appUuid
1778
+ * @param reviewId
1779
+ * @param requestBody
1780
+ * @returns ReviewReplyDraft Draft generated.
1781
+ * @throws ApiError
1782
+ */
1783
+ static postGenerateReviewReply(appUuid: string, reviewId: string, requestBody: ReviewReplyGenerateRequest): CancelablePromise<ReviewReplyDraft>;
1784
+ /**
1785
+ * Publish a reply back to the originating store.
1786
+ * @param appUuid
1787
+ * @param reviewId
1788
+ * @param requestBody
1789
+ * @returns ReviewReplyStatus Reply posted.
1790
+ * @throws ApiError
1791
+ */
1792
+ static postReviewReply(appUuid: string, reviewId: string, requestBody: ReviewReplyPostRequest): CancelablePromise<ReviewReplyStatus>;
1793
+ /**
1794
+ * Aggregate reply performance metrics for an app.
1795
+ * @param appUuid
1796
+ * @returns ReplyAnalytics Reply analytics returned.
1797
+ * @throws ApiError
1798
+ */
1799
+ static getReplyAnalytics(appUuid: string): CancelablePromise<ReplyAnalytics>;
1800
+ /**
1801
+ * Discover reviews across all connected apps.
1802
+ * @param limit
1803
+ * @param cursor
1804
+ * @param appUuid
1805
+ * @param sentiment
1806
+ * @returns any Reviews returned.
1807
+ * @throws ApiError
1808
+ */
1809
+ static getTenantReviews(limit?: number, cursor?: string, appUuid?: string, sentiment?: string): CancelablePromise<{
1810
+ reviews?: Array<ReviewSummary>;
1811
+ next_cursor?: string;
1812
+ }>;
1813
+ /**
1814
+ * Retrieve reviews tied to a specific segment.
1815
+ * @param appUuid App UUID assigned by Tritonium.
1816
+ * @param segmentType
1817
+ * @returns any Reviews returned.
1818
+ * @throws ApiError
1819
+ */
1820
+ static getSegmentReviews(appUuid: string, segmentType: string): CancelablePromise<{
1821
+ reviews?: Array<Review>;
1822
+ metadata?: Record<string, any>;
1823
+ }>;
1824
+ /**
1825
+ * List reviews with viral engagement.
1826
+ * @param appUuid App UUID assigned by Tritonium.
1827
+ * @param lookbackHours
1828
+ * @param minEngagement
1829
+ * @param sentiment
1830
+ * @returns any Viral review payload.
1831
+ * @throws ApiError
1832
+ */
1833
+ static getViralReviews(appUuid: string, lookbackHours?: number, minEngagement?: number, sentiment?: 'all' | 'positive' | 'negative' | 'neutral'): CancelablePromise<{
1834
+ viral_reviews?: Array<Review>;
1835
+ summary?: Record<string, any>;
1836
+ metadata?: Record<string, any>;
1837
+ }>;
1838
+ /**
1839
+ * Retrieve engagement history for a review.
1840
+ * @param reviewId
1841
+ * @param appUuid
1842
+ * @returns any History returned.
1843
+ * @throws ApiError
1844
+ */
1845
+ static getReviewEngagementHistory(reviewId: string, appUuid: string): CancelablePromise<{
1846
+ history?: Array<Record<string, any>>;
1847
+ metadata?: Record<string, any>;
1848
+ }>;
1849
+ }
1850
+
1851
+ declare class UsersService {
1852
+ /**
1853
+ * Retrieve the authenticated user's profile.
1854
+ * @returns UserSummary Profile details.
1855
+ * @throws ApiError
1856
+ */
1857
+ static getMe(): CancelablePromise<UserSummary>;
1858
+ /**
1859
+ * Update profile attributes for the active user.
1860
+ * @param requestBody
1861
+ * @returns UserSummary Profile updated.
1862
+ * @throws ApiError
1863
+ */
1864
+ static patchProfile(requestBody: ProfileUpdateRequest): CancelablePromise<UserSummary>;
1865
+ /**
1866
+ * Mark onboarding tour completion for the signed-in user.
1867
+ * @param requestBody
1868
+ * @returns any User updated.
1869
+ * @throws ApiError
1870
+ */
1871
+ static postUserOnboardingState(requestBody: {
1872
+ onboarding_tour_completed?: boolean;
1873
+ }): CancelablePromise<{
1874
+ user?: UserSummary;
1875
+ }>;
1876
+ /**
1877
+ * Replace profile attributes for the active user.
1878
+ * @param requestBody
1879
+ * @returns UserSummary Profile updated.
1880
+ * @throws ApiError
1881
+ */
1882
+ static putProfile(requestBody: ProfileUpdateRequest): CancelablePromise<UserSummary>;
1883
+ }
1884
+
1885
+ export { Alert, AlertUpdateRequest, AlertsService, type AnalysisRequest, ApiError, type AppConnectionRequest, type AppSummary, AppsService, type AuthLoginRequest, type AuthRegisterRequest, AuthService, type AuthTokenPair, AutoSyncConfigRequest, type BillingCheckoutRequest, BillingService, CancelError, CancelablePromise, type Competitor, type CompetitorUpsertRequest, type Credential, type CredentialRequest, type CredentialValidateRequest, CredentialsService, type EmailRequest, type ErrorResponse, type FeatureImpactEntry, type FeatureImpactPredictionRequest, type GenericSuccess, HealthService, type Insight, InsightsService, type Integration, type IntegrationConnectRequest, type IntegrationTestRequest, IntegrationsService, InternalService, type InternalTaskRequest, type Invoice, type IssueSeverityPredictionRequest, type OAuthCallbackRequest, OpenAPI, type OpenAPIConfig, type PaymentMethodRequest, type PredictionResponse, PredictionsService, type ProfileUpdateRequest, type RatingSnapshot, type RatingSummary, type RatingsComparison, RatingsService, type ReplyAnalytics, type ReplyTemplate, type ReplyTemplatePatchRequest, type ReplyTemplateRequest, ReplyTemplatesService, type ResetPasswordRequest, type ReviewReplyDraft, type ReviewReplyGenerateRequest, type ReviewReplyPostRequest, type ReviewReplyStatus, type ReviewSummary, ReviewsService, type SlackChannel, type SlackChannelUpdateRequest, type SmsConnectRequest, type SsoRequest, type Subscription, type SyncRequest, type TokenRequest, type UserSummary, UsersService, type WebhookConnectRequest };