@schematichq/schematic-react 1.14.0 → 1.15.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.
@@ -59,6 +59,15 @@ export declare interface BillingActions {
59
59
  createSetupIntent(): Promise<SetupIntent>;
60
60
  /** Cancels the subscription at period end and reloads what that changes. */
61
61
  unsubscribe(): Promise<void>;
62
+ /** Sets the company's tax ID and takes the list it answers with. */
63
+ updateTaxId(taxId: TaxIdInput): Promise<void>;
64
+ /** Opens a checkout; the store holds nothing of it, `useCheckout` does. */
65
+ createCheckout(selections: CheckoutSelections): Promise<CheckoutWrite>;
66
+ getCheckout(id: string): Promise<Checkout>;
67
+ updateCheckout(id: string, version: number, selections: CheckoutSelections): Promise<CheckoutWrite>;
68
+ finalizeCheckout(id: string, version: number, options?: {
69
+ sessionId?: string;
70
+ }): Promise<CheckoutResult>;
62
71
  }
63
72
 
64
73
  declare namespace billingApi {
@@ -69,6 +78,30 @@ declare namespace billingApi {
69
78
  ApiErrorToJSON,
70
79
  ApiErrorToJSONTyped,
71
80
  ApiError,
81
+ instanceOfBillingCreditAutoTopupAvailability,
82
+ BillingCreditAutoTopupAvailabilityFromJSON,
83
+ BillingCreditAutoTopupAvailabilityFromJSONTyped,
84
+ BillingCreditAutoTopupAvailabilityToJSON,
85
+ BillingCreditAutoTopupAvailabilityToJSONTyped,
86
+ BillingCreditAutoTopupAvailability,
87
+ instanceOfBillingCreditBundleType,
88
+ BillingCreditBundleTypeFromJSON,
89
+ BillingCreditBundleTypeFromJSONTyped,
90
+ BillingCreditBundleTypeToJSON,
91
+ BillingCreditBundleTypeToJSONTyped,
92
+ BillingCreditBundleType,
93
+ instanceOfBillingCreditExpiryType,
94
+ BillingCreditExpiryTypeFromJSON,
95
+ BillingCreditExpiryTypeFromJSONTyped,
96
+ BillingCreditExpiryTypeToJSON,
97
+ BillingCreditExpiryTypeToJSONTyped,
98
+ BillingCreditExpiryType,
99
+ instanceOfBillingCreditExpiryUnit,
100
+ BillingCreditExpiryUnitFromJSON,
101
+ BillingCreditExpiryUnitFromJSONTyped,
102
+ BillingCreditExpiryUnitToJSON,
103
+ BillingCreditExpiryUnitToJSONTyped,
104
+ BillingCreditExpiryUnit,
72
105
  instanceOfBillingCreditGrantReason,
73
106
  BillingCreditGrantReasonFromJSON,
74
107
  BillingCreditGrantReasonFromJSONTyped,
@@ -99,18 +132,96 @@ declare namespace billingApi {
99
132
  BillingProviderTypeToJSON,
100
133
  BillingProviderTypeToJSONTyped,
101
134
  BillingProviderType,
135
+ instanceOfBillingStrategy,
136
+ BillingStrategyFromJSON,
137
+ BillingStrategyFromJSONTyped,
138
+ BillingStrategyToJSON,
139
+ BillingStrategyToJSONTyped,
140
+ BillingStrategy,
141
+ instanceOfBillingSubscriptionTrialEndSetting,
142
+ BillingSubscriptionTrialEndSettingFromJSON,
143
+ BillingSubscriptionTrialEndSettingFromJSONTyped,
144
+ BillingSubscriptionTrialEndSettingToJSON,
145
+ BillingSubscriptionTrialEndSettingToJSONTyped,
146
+ BillingSubscriptionTrialEndSetting,
102
147
  instanceOfBillingTiersMode,
103
148
  BillingTiersModeFromJSON,
104
149
  BillingTiersModeFromJSONTyped,
105
150
  BillingTiersModeToJSON,
106
151
  BillingTiersModeToJSONTyped,
107
152
  BillingTiersMode,
153
+ instanceOfCatalogAutoTopupResponseData,
154
+ CatalogAutoTopupResponseDataFromJSON,
155
+ CatalogAutoTopupResponseDataFromJSONTyped,
156
+ CatalogAutoTopupResponseDataToJSON,
157
+ CatalogAutoTopupResponseDataToJSONTyped,
158
+ CatalogAutoTopupResponseData,
159
+ instanceOfCatalogBundleCurrencyPriceResponseData,
160
+ CatalogBundleCurrencyPriceResponseDataFromJSON,
161
+ CatalogBundleCurrencyPriceResponseDataFromJSONTyped,
162
+ CatalogBundleCurrencyPriceResponseDataToJSON,
163
+ CatalogBundleCurrencyPriceResponseDataToJSONTyped,
164
+ CatalogBundleCurrencyPriceResponseData,
165
+ instanceOfCatalogCapabilitiesResponseData,
166
+ CatalogCapabilitiesResponseDataFromJSON,
167
+ CatalogCapabilitiesResponseDataFromJSONTyped,
168
+ CatalogCapabilitiesResponseDataToJSON,
169
+ CatalogCapabilitiesResponseDataToJSONTyped,
170
+ CatalogCapabilitiesResponseData,
171
+ instanceOfCatalogCheckoutFieldResponseData,
172
+ CatalogCheckoutFieldResponseDataFromJSON,
173
+ CatalogCheckoutFieldResponseDataFromJSONTyped,
174
+ CatalogCheckoutFieldResponseDataToJSON,
175
+ CatalogCheckoutFieldResponseDataToJSONTyped,
176
+ CatalogCheckoutFieldResponseData,
177
+ instanceOfCatalogCheckoutSettingsResponseData,
178
+ CatalogCheckoutSettingsResponseDataFromJSON,
179
+ CatalogCheckoutSettingsResponseDataFromJSONTyped,
180
+ CatalogCheckoutSettingsResponseDataToJSON,
181
+ CatalogCheckoutSettingsResponseDataToJSONTyped,
182
+ CatalogCheckoutSettingsResponseData,
183
+ instanceOfCatalogCompanyPlanResponseData,
184
+ CatalogCompanyPlanResponseDataFromJSON,
185
+ CatalogCompanyPlanResponseDataFromJSONTyped,
186
+ CatalogCompanyPlanResponseDataToJSON,
187
+ CatalogCompanyPlanResponseDataToJSONTyped,
188
+ CatalogCompanyPlanResponseData,
189
+ instanceOfCatalogCreditBundleResponseData,
190
+ CatalogCreditBundleResponseDataFromJSON,
191
+ CatalogCreditBundleResponseDataFromJSONTyped,
192
+ CatalogCreditBundleResponseDataToJSON,
193
+ CatalogCreditBundleResponseDataToJSONTyped,
194
+ CatalogCreditBundleResponseData,
108
195
  instanceOfCatalogCreditGrantResponseData,
109
196
  CatalogCreditGrantResponseDataFromJSON,
110
197
  CatalogCreditGrantResponseDataFromJSONTyped,
111
198
  CatalogCreditGrantResponseDataToJSON,
112
199
  CatalogCreditGrantResponseDataToJSONTyped,
113
200
  CatalogCreditGrantResponseData,
201
+ instanceOfCatalogCurrencyPricesResponseData,
202
+ CatalogCurrencyPricesResponseDataFromJSON,
203
+ CatalogCurrencyPricesResponseDataFromJSONTyped,
204
+ CatalogCurrencyPricesResponseDataToJSON,
205
+ CatalogCurrencyPricesResponseDataToJSONTyped,
206
+ CatalogCurrencyPricesResponseData,
207
+ instanceOfCatalogCustomPlanCTAResponseData,
208
+ CatalogCustomPlanCTAResponseDataFromJSON,
209
+ CatalogCustomPlanCTAResponseDataFromJSONTyped,
210
+ CatalogCustomPlanCTAResponseDataToJSON,
211
+ CatalogCustomPlanCTAResponseDataToJSONTyped,
212
+ CatalogCustomPlanCTAResponseData,
213
+ instanceOfCatalogPlanEntitlementResponseData,
214
+ CatalogPlanEntitlementResponseDataFromJSON,
215
+ CatalogPlanEntitlementResponseDataFromJSONTyped,
216
+ CatalogPlanEntitlementResponseDataToJSON,
217
+ CatalogPlanEntitlementResponseDataToJSONTyped,
218
+ CatalogPlanEntitlementResponseData,
219
+ instanceOfCatalogPlanRefResponseData,
220
+ CatalogPlanRefResponseDataFromJSON,
221
+ CatalogPlanRefResponseDataFromJSONTyped,
222
+ CatalogPlanRefResponseDataToJSON,
223
+ CatalogPlanRefResponseDataToJSONTyped,
224
+ CatalogPlanRefResponseData,
114
225
  instanceOfCatalogPriceResponseData,
115
226
  CatalogPriceResponseDataFromJSON,
116
227
  CatalogPriceResponseDataFromJSONTyped,
@@ -123,12 +234,120 @@ declare namespace billingApi {
123
234
  CatalogPriceTierResponseDataToJSON,
124
235
  CatalogPriceTierResponseDataToJSONTyped,
125
236
  CatalogPriceTierResponseData,
237
+ instanceOfCatalogUsageViolationResponseData,
238
+ CatalogUsageViolationResponseDataFromJSON,
239
+ CatalogUsageViolationResponseDataFromJSONTyped,
240
+ CatalogUsageViolationResponseDataToJSON,
241
+ CatalogUsageViolationResponseDataToJSONTyped,
242
+ CatalogUsageViolationResponseData,
243
+ instanceOfChargeType,
244
+ ChargeTypeFromJSON,
245
+ ChargeTypeFromJSONTyped,
246
+ ChargeTypeToJSON,
247
+ ChargeTypeToJSONTyped,
248
+ ChargeType,
249
+ instanceOfCheckoutBundlePurchaseBehavior,
250
+ CheckoutBundlePurchaseBehaviorFromJSON,
251
+ CheckoutBundlePurchaseBehaviorFromJSONTyped,
252
+ CheckoutBundlePurchaseBehaviorToJSON,
253
+ CheckoutBundlePurchaseBehaviorToJSONTyped,
254
+ CheckoutBundlePurchaseBehavior,
255
+ instanceOfCheckoutChargeTiming,
256
+ CheckoutChargeTimingFromJSON,
257
+ CheckoutChargeTimingFromJSONTyped,
258
+ CheckoutChargeTimingToJSON,
259
+ CheckoutChargeTimingToJSONTyped,
260
+ CheckoutChargeTiming,
261
+ instanceOfCheckoutDraftResponseData,
262
+ CheckoutDraftResponseDataFromJSON,
263
+ CheckoutDraftResponseDataFromJSONTyped,
264
+ CheckoutDraftResponseDataToJSON,
265
+ CheckoutDraftResponseDataToJSONTyped,
266
+ CheckoutDraftResponseData,
267
+ instanceOfCheckoutFieldValue,
268
+ CheckoutFieldValueFromJSON,
269
+ CheckoutFieldValueFromJSONTyped,
270
+ CheckoutFieldValueToJSON,
271
+ CheckoutFieldValueToJSONTyped,
272
+ CheckoutFieldValue,
273
+ instanceOfCheckoutIntent,
274
+ CheckoutIntentFromJSON,
275
+ CheckoutIntentFromJSONTyped,
276
+ CheckoutIntentToJSON,
277
+ CheckoutIntentToJSONTyped,
278
+ CheckoutIntent,
279
+ instanceOfCheckoutPriceSnapshot,
280
+ CheckoutPriceSnapshotFromJSON,
281
+ CheckoutPriceSnapshotFromJSONTyped,
282
+ CheckoutPriceSnapshotToJSON,
283
+ CheckoutPriceSnapshotToJSONTyped,
284
+ CheckoutPriceSnapshot,
285
+ instanceOfCheckoutPriceSnapshotDiscount,
286
+ CheckoutPriceSnapshotDiscountFromJSON,
287
+ CheckoutPriceSnapshotDiscountFromJSONTyped,
288
+ CheckoutPriceSnapshotDiscountToJSON,
289
+ CheckoutPriceSnapshotDiscountToJSONTyped,
290
+ CheckoutPriceSnapshotDiscount,
291
+ instanceOfCheckoutPriceSnapshotProration,
292
+ CheckoutPriceSnapshotProrationFromJSON,
293
+ CheckoutPriceSnapshotProrationFromJSONTyped,
294
+ CheckoutPriceSnapshotProrationToJSON,
295
+ CheckoutPriceSnapshotProrationToJSONTyped,
296
+ CheckoutPriceSnapshotProration,
297
+ instanceOfCheckoutPriceSnapshotProrationLine,
298
+ CheckoutPriceSnapshotProrationLineFromJSON,
299
+ CheckoutPriceSnapshotProrationLineFromJSONTyped,
300
+ CheckoutPriceSnapshotProrationLineToJSON,
301
+ CheckoutPriceSnapshotProrationLineToJSONTyped,
302
+ CheckoutPriceSnapshotProrationLine,
303
+ instanceOfCheckoutProblemCode,
304
+ CheckoutProblemCodeFromJSON,
305
+ CheckoutProblemCodeFromJSONTyped,
306
+ CheckoutProblemCodeToJSON,
307
+ CheckoutProblemCodeToJSONTyped,
308
+ CheckoutProblemCode,
309
+ instanceOfCheckoutProblemResponseData,
310
+ CheckoutProblemResponseDataFromJSON,
311
+ CheckoutProblemResponseDataFromJSONTyped,
312
+ CheckoutProblemResponseDataToJSON,
313
+ CheckoutProblemResponseDataToJSONTyped,
314
+ CheckoutProblemResponseData,
315
+ instanceOfCheckoutProblemSource,
316
+ CheckoutProblemSourceFromJSON,
317
+ CheckoutProblemSourceFromJSONTyped,
318
+ CheckoutProblemSourceToJSON,
319
+ CheckoutProblemSourceToJSONTyped,
320
+ CheckoutProblemSource,
321
+ instanceOfCheckoutResponseData,
322
+ CheckoutResponseDataFromJSON,
323
+ CheckoutResponseDataFromJSONTyped,
324
+ CheckoutResponseDataToJSON,
325
+ CheckoutResponseDataToJSONTyped,
326
+ CheckoutResponseData,
327
+ instanceOfCheckoutSelectionsResponseData,
328
+ CheckoutSelectionsResponseDataFromJSON,
329
+ CheckoutSelectionsResponseDataFromJSONTyped,
330
+ CheckoutSelectionsResponseDataToJSON,
331
+ CheckoutSelectionsResponseDataToJSONTyped,
332
+ CheckoutSelectionsResponseData,
333
+ instanceOfCheckoutStatus,
334
+ CheckoutStatusFromJSON,
335
+ CheckoutStatusFromJSONTyped,
336
+ CheckoutStatusToJSON,
337
+ CheckoutStatusToJSONTyped,
338
+ CheckoutStatus,
126
339
  instanceOfCheckoutUnsubscribeResponse,
127
340
  CheckoutUnsubscribeResponseFromJSON,
128
341
  CheckoutUnsubscribeResponseFromJSONTyped,
129
342
  CheckoutUnsubscribeResponseToJSON,
130
343
  CheckoutUnsubscribeResponseToJSONTyped,
131
344
  CheckoutUnsubscribeResponse,
345
+ instanceOfCompanyCatalogResponseData,
346
+ CompanyCatalogResponseDataFromJSON,
347
+ CompanyCatalogResponseDataFromJSONTyped,
348
+ CompanyCatalogResponseDataToJSON,
349
+ CompanyCatalogResponseDataToJSONTyped,
350
+ CompanyCatalogResponseData,
132
351
  instanceOfCompanyContextCustomPlanBillingResponseData,
133
352
  CompanyContextCustomPlanBillingResponseDataFromJSON,
134
353
  CompanyContextCustomPlanBillingResponseDataFromJSONTyped,
@@ -249,6 +468,18 @@ declare namespace billingApi {
249
468
  CompanyPaymentMethodsResponseDataToJSON,
250
469
  CompanyPaymentMethodsResponseDataToJSONTyped,
251
470
  CompanyPaymentMethodsResponseData,
471
+ instanceOfCompanyPlanInvalidReason,
472
+ CompanyPlanInvalidReasonFromJSON,
473
+ CompanyPlanInvalidReasonFromJSONTyped,
474
+ CompanyPlanInvalidReasonToJSON,
475
+ CompanyPlanInvalidReasonToJSONTyped,
476
+ CompanyPlanInvalidReason,
477
+ instanceOfCompanyTaxIDView,
478
+ CompanyTaxIDViewFromJSON,
479
+ CompanyTaxIDViewFromJSONTyped,
480
+ CompanyTaxIDViewToJSON,
481
+ CompanyTaxIDViewToJSONTyped,
482
+ CompanyTaxIDView,
252
483
  instanceOfCompanyUpcomingInvoiceResponseData,
253
484
  CompanyUpcomingInvoiceResponseDataFromJSON,
254
485
  CompanyUpcomingInvoiceResponseDataFromJSONTyped,
@@ -261,6 +492,18 @@ declare namespace billingApi {
261
492
  CompanyUserUsageResponseDataToJSON,
262
493
  CompanyUserUsageResponseDataToJSONTyped,
263
494
  CompanyUserUsageResponseData,
495
+ instanceOfCreateCheckoutRequest,
496
+ CreateCheckoutRequestFromJSON,
497
+ CreateCheckoutRequestFromJSONTyped,
498
+ CreateCheckoutRequestToJSON,
499
+ CreateCheckoutRequestToJSONTyped,
500
+ CreateCheckoutRequest,
501
+ instanceOfCreateCheckoutResponse,
502
+ CreateCheckoutResponseFromJSON,
503
+ CreateCheckoutResponseFromJSONTyped,
504
+ CreateCheckoutResponseToJSON,
505
+ CreateCheckoutResponseToJSONTyped,
506
+ CreateCheckoutResponse,
264
507
  instanceOfCreateSetupIntentResponse,
265
508
  CreateSetupIntentResponseFromJSON,
266
509
  CreateSetupIntentResponseFromJSONTyped,
@@ -315,6 +558,42 @@ declare namespace billingApi {
315
558
  FeatureTypeToJSON,
316
559
  FeatureTypeToJSONTyped,
317
560
  FeatureType,
561
+ instanceOfFinalizeCheckoutRequest,
562
+ FinalizeCheckoutRequestFromJSON,
563
+ FinalizeCheckoutRequestFromJSONTyped,
564
+ FinalizeCheckoutRequestToJSON,
565
+ FinalizeCheckoutRequestToJSONTyped,
566
+ FinalizeCheckoutRequest,
567
+ instanceOfFinalizeCheckoutResponse,
568
+ FinalizeCheckoutResponseFromJSON,
569
+ FinalizeCheckoutResponseFromJSONTyped,
570
+ FinalizeCheckoutResponseToJSON,
571
+ FinalizeCheckoutResponseToJSONTyped,
572
+ FinalizeCheckoutResponse,
573
+ instanceOfGetCatalogViewByIDResponse,
574
+ GetCatalogViewByIDResponseFromJSON,
575
+ GetCatalogViewByIDResponseFromJSONTyped,
576
+ GetCatalogViewByIDResponseToJSON,
577
+ GetCatalogViewByIDResponseToJSONTyped,
578
+ GetCatalogViewByIDResponse,
579
+ instanceOfGetCatalogViewResponse,
580
+ GetCatalogViewResponseFromJSON,
581
+ GetCatalogViewResponseFromJSONTyped,
582
+ GetCatalogViewResponseToJSON,
583
+ GetCatalogViewResponseToJSONTyped,
584
+ GetCatalogViewResponse,
585
+ instanceOfGetCheckoutResponse,
586
+ GetCheckoutResponseFromJSON,
587
+ GetCheckoutResponseFromJSONTyped,
588
+ GetCheckoutResponseToJSON,
589
+ GetCheckoutResponseToJSONTyped,
590
+ GetCheckoutResponse,
591
+ instanceOfGetCheckoutTaxIDResponse,
592
+ GetCheckoutTaxIDResponseFromJSON,
593
+ GetCheckoutTaxIDResponseFromJSONTyped,
594
+ GetCheckoutTaxIDResponseToJSON,
595
+ GetCheckoutTaxIDResponseToJSONTyped,
596
+ GetCheckoutTaxIDResponse,
318
597
  instanceOfGetCompanyCreditBalancesResponse,
319
598
  GetCompanyCreditBalancesResponseFromJSON,
320
599
  GetCompanyCreditBalancesResponseFromJSONTyped,
@@ -387,6 +666,18 @@ declare namespace billingApi {
387
666
  InvoiceStatusToJSON,
388
667
  InvoiceStatusToJSONTyped,
389
668
  InvoiceStatus,
669
+ instanceOfListCheckoutsParams,
670
+ ListCheckoutsParamsFromJSON,
671
+ ListCheckoutsParamsFromJSONTyped,
672
+ ListCheckoutsParamsToJSON,
673
+ ListCheckoutsParamsToJSONTyped,
674
+ ListCheckoutsParams,
675
+ instanceOfListCheckoutsResponse,
676
+ ListCheckoutsResponseFromJSON,
677
+ ListCheckoutsResponseFromJSONTyped,
678
+ ListCheckoutsResponseToJSON,
679
+ ListCheckoutsResponseToJSONTyped,
680
+ ListCheckoutsResponse,
390
681
  instanceOfMetricPeriod,
391
682
  MetricPeriodFromJSON,
392
683
  MetricPeriodFromJSONTyped,
@@ -411,12 +702,102 @@ declare namespace billingApi {
411
702
  PlanCreditGrantScalingToJSON,
412
703
  PlanCreditGrantScalingToJSONTyped,
413
704
  PlanCreditGrantScaling,
705
+ instanceOfPlanPriceCadence,
706
+ PlanPriceCadenceFromJSON,
707
+ PlanPriceCadenceFromJSONTyped,
708
+ PlanPriceCadenceToJSON,
709
+ PlanPriceCadenceToJSONTyped,
710
+ PlanPriceCadence,
711
+ instanceOfProrationBehavior,
712
+ ProrationBehaviorFromJSON,
713
+ ProrationBehaviorFromJSONTyped,
714
+ ProrationBehaviorToJSON,
715
+ ProrationBehaviorToJSONTyped,
716
+ ProrationBehavior,
717
+ instanceOfProrationLineKind,
718
+ ProrationLineKindFromJSON,
719
+ ProrationLineKindFromJSONTyped,
720
+ ProrationLineKindToJSON,
721
+ ProrationLineKindToJSONTyped,
722
+ ProrationLineKind,
723
+ instanceOfScheduledDowngradeConfigBehavior,
724
+ ScheduledDowngradeConfigBehaviorFromJSON,
725
+ ScheduledDowngradeConfigBehaviorFromJSONTyped,
726
+ ScheduledDowngradeConfigBehaviorToJSON,
727
+ ScheduledDowngradeConfigBehaviorToJSONTyped,
728
+ ScheduledDowngradeConfigBehavior,
414
729
  instanceOfSetupIntentResponseData,
415
730
  SetupIntentResponseDataFromJSON,
416
731
  SetupIntentResponseDataFromJSONTyped,
417
732
  SetupIntentResponseDataToJSON,
418
733
  SetupIntentResponseDataToJSONTyped,
419
734
  SetupIntentResponseData,
735
+ instanceOfTaxIDInput,
736
+ TaxIDInputFromJSON,
737
+ TaxIDInputFromJSONTyped,
738
+ TaxIDInputToJSON,
739
+ TaxIDInputToJSONTyped,
740
+ TaxIDInput,
741
+ instanceOfTaxIdType,
742
+ TaxIdTypeFromJSON,
743
+ TaxIdTypeFromJSONTyped,
744
+ TaxIdTypeToJSON,
745
+ TaxIdTypeToJSONTyped,
746
+ TaxIdType,
747
+ instanceOfUpdateAddOnRequestBody,
748
+ UpdateAddOnRequestBodyFromJSON,
749
+ UpdateAddOnRequestBodyFromJSONTyped,
750
+ UpdateAddOnRequestBodyToJSON,
751
+ UpdateAddOnRequestBodyToJSONTyped,
752
+ UpdateAddOnRequestBody,
753
+ instanceOfUpdateAutoTopupOverrideRequestBody,
754
+ UpdateAutoTopupOverrideRequestBodyFromJSON,
755
+ UpdateAutoTopupOverrideRequestBodyFromJSONTyped,
756
+ UpdateAutoTopupOverrideRequestBodyToJSON,
757
+ UpdateAutoTopupOverrideRequestBodyToJSONTyped,
758
+ UpdateAutoTopupOverrideRequestBody,
759
+ instanceOfUpdateCheckoutRequest,
760
+ UpdateCheckoutRequestFromJSON,
761
+ UpdateCheckoutRequestFromJSONTyped,
762
+ UpdateCheckoutRequestToJSON,
763
+ UpdateCheckoutRequestToJSONTyped,
764
+ UpdateCheckoutRequest,
765
+ instanceOfUpdateCheckoutResponse,
766
+ UpdateCheckoutResponseFromJSON,
767
+ UpdateCheckoutResponseFromJSONTyped,
768
+ UpdateCheckoutResponseToJSON,
769
+ UpdateCheckoutResponseToJSONTyped,
770
+ UpdateCheckoutResponse,
771
+ instanceOfUpdateCheckoutTaxIDRequestBody,
772
+ UpdateCheckoutTaxIDRequestBodyFromJSON,
773
+ UpdateCheckoutTaxIDRequestBodyFromJSONTyped,
774
+ UpdateCheckoutTaxIDRequestBodyToJSON,
775
+ UpdateCheckoutTaxIDRequestBodyToJSONTyped,
776
+ UpdateCheckoutTaxIDRequestBody,
777
+ instanceOfUpdateCheckoutTaxIDResponse,
778
+ UpdateCheckoutTaxIDResponseFromJSON,
779
+ UpdateCheckoutTaxIDResponseFromJSONTyped,
780
+ UpdateCheckoutTaxIDResponseToJSON,
781
+ UpdateCheckoutTaxIDResponseToJSONTyped,
782
+ UpdateCheckoutTaxIDResponse,
783
+ instanceOfUpdateCheckoutTaxIDResponseData,
784
+ UpdateCheckoutTaxIDResponseDataFromJSON,
785
+ UpdateCheckoutTaxIDResponseDataFromJSONTyped,
786
+ UpdateCheckoutTaxIDResponseDataToJSON,
787
+ UpdateCheckoutTaxIDResponseDataToJSONTyped,
788
+ UpdateCheckoutTaxIDResponseData,
789
+ instanceOfUpdateCreditBundleRequestBody,
790
+ UpdateCreditBundleRequestBodyFromJSON,
791
+ UpdateCreditBundleRequestBodyFromJSONTyped,
792
+ UpdateCreditBundleRequestBodyToJSON,
793
+ UpdateCreditBundleRequestBodyToJSONTyped,
794
+ UpdateCreditBundleRequestBody,
795
+ instanceOfUpdatePayInAdvanceRequestBody,
796
+ UpdatePayInAdvanceRequestBodyFromJSON,
797
+ UpdatePayInAdvanceRequestBodyFromJSONTyped,
798
+ UpdatePayInAdvanceRequestBodyToJSON,
799
+ UpdatePayInAdvanceRequestBodyToJSONTyped,
800
+ UpdatePayInAdvanceRequestBody,
420
801
  instanceOfUpdatePaymentMethodRequestBody,
421
802
  UpdatePaymentMethodRequestBodyFromJSON,
422
803
  UpdatePaymentMethodRequestBodyFromJSONTyped,
@@ -439,6 +820,23 @@ declare namespace billingApi {
439
820
  * ship.
440
821
  */
441
822
  declare interface BillingClient {
823
+ /** The environment's catalog, or the one `catalogId` names. */
824
+ fetchCatalog(query?: CatalogQuery): Promise<Catalog>;
825
+ /** Opens a checkout, priced when the cart is priceable. */
826
+ createCheckout(selections: CheckoutSelections): Promise<CheckoutWrite>;
827
+ getCheckout(id: string): Promise<Checkout>;
828
+ /**
829
+ * Replaces the cart and re-prices it. `version` is the one the caller last
830
+ * read; a stale one is a 409.
831
+ */
832
+ updateCheckout(id: string, version: number, selections: CheckoutSelections): Promise<CheckoutWrite>;
833
+ /**
834
+ * Charges the cart at `version`. `sessionId` is the one the last write
835
+ * answered with; without it the finalize starts a session of its own.
836
+ */
837
+ finalizeCheckout(id: string, version: number, options?: {
838
+ sessionId?: string;
839
+ }): Promise<CheckoutResult>;
442
840
  fetchInvoices(params: InvoicesRequest): Promise<InvoicesResult>;
443
841
  /** `null` when the company has no next bill. */
444
842
  fetchUpcomingInvoice(): Promise<UpcomingInvoice | null>;
@@ -458,6 +856,10 @@ declare interface BillingClient {
458
856
  cancelSubscription(): Promise<void>;
459
857
  /** Empty when the company is entitled to nothing. */
460
858
  fetchFeatureUsage(): Promise<FeatureUsage[]>;
859
+ /** Empty when the company has none on file. */
860
+ fetchTaxIds(): Promise<TaxId[]>;
861
+ /** Sets the company's tax ID, and answers with every one now on file. */
862
+ updateTaxId(taxId: TaxIdInput): Promise<TaxId[]>;
461
863
  /** One event-based feature's usage by user over its metric period. */
462
864
  fetchFeatureUserUsage(params: FeatureUserUsageRequest): Promise<FeatureUserUsage>;
463
865
  /** Empty when the company holds no credits and its plan draws on none. */
@@ -474,6 +876,53 @@ declare interface BillingClient {
474
876
 
475
877
  declare type BillingClientOptions = SessionOptions;
476
878
 
879
+ /**
880
+ *
881
+ * @export
882
+ */
883
+ declare const BillingCreditAutoTopupAvailability: {
884
+ readonly Off: "off";
885
+ readonly Automatic: "automatic";
886
+ readonly UserControlled: "user_controlled";
887
+ };
888
+
889
+ declare type BillingCreditAutoTopupAvailability = (typeof BillingCreditAutoTopupAvailability)[keyof typeof BillingCreditAutoTopupAvailability];
890
+
891
+ /**
892
+ *
893
+ * @export
894
+ */
895
+ declare const BillingCreditBundleType: {
896
+ readonly Fixed: "fixed";
897
+ };
898
+
899
+ declare type BillingCreditBundleType = (typeof BillingCreditBundleType)[keyof typeof BillingCreditBundleType];
900
+
901
+ /**
902
+ *
903
+ * @export
904
+ */
905
+ declare const BillingCreditExpiryType: {
906
+ readonly Duration: "duration";
907
+ readonly EndOfBillingPeriod: "end_of_billing_period";
908
+ readonly EndOfNextBillingPeriod: "end_of_next_billing_period";
909
+ readonly EndOfTrial: "end_of_trial";
910
+ readonly NoExpiry: "no_expiry";
911
+ };
912
+
913
+ declare type BillingCreditExpiryType = (typeof BillingCreditExpiryType)[keyof typeof BillingCreditExpiryType];
914
+
915
+ /**
916
+ *
917
+ * @export
918
+ */
919
+ declare const BillingCreditExpiryUnit: {
920
+ readonly BillingPeriods: "billing_periods";
921
+ readonly Days: "days";
922
+ };
923
+
924
+ declare type BillingCreditExpiryUnit = (typeof BillingCreditExpiryUnit)[keyof typeof BillingCreditExpiryUnit];
925
+
477
926
  /**
478
927
  *
479
928
  * @export
@@ -565,6 +1014,12 @@ export declare interface BillingDataSource {
565
1014
  invalidateAll: () => void;
566
1015
  /** Absent on a source that only reads. */
567
1016
  actions?: BillingActions;
1017
+ /**
1018
+ * The session changing under the source, for state kept outside the store
1019
+ * — a checkout in progress belongs to the session it was opened in. Absent
1020
+ * on a source whose session never changes.
1021
+ */
1022
+ onSessionChange?: (listener: (event: SessionEvent) => void) => () => void;
568
1023
  }
569
1024
 
570
1025
  /** Per-resource status overrides, for fixtures that simulate loading and failure. */
@@ -600,6 +1055,8 @@ declare interface BillingPrefetchOptions {
600
1055
  names: BillingResourceName_2[];
601
1056
  /** The invoice query to prefetch for; the element must ask the same one. */
602
1057
  invoices?: InvoiceQuery;
1058
+ /** The catalog to prefetch; the element must ask the same one. */
1059
+ catalog?: CatalogQuery;
603
1060
  }
604
1061
 
605
1062
  /**
@@ -634,13 +1091,13 @@ export declare function BillingProvider({ billingClient, children, initialData,
634
1091
 
635
1092
  /**
636
1093
  * What `BillingProvider` asks of its client: the session it reads under, the
637
- * fetch behind each resource above, and the payment-method actions the hooks
638
- * expose. schematic-js's `SchematicBillingClient`
1094
+ * fetch behind each resource above, and the payment-method and checkout
1095
+ * actions the hooks expose. schematic-js's `SchematicBillingClient`
639
1096
  * satisfies it, and so does a host's own client that implements only this
640
1097
  * much. Named apart from schematic-js's `BillingClient`, which is the whole
641
1098
  * interface; this is the part the hooks here call.
642
1099
  */
643
- export declare type BillingProviderClient = Pick<BillingClient, "sessionStatus" | "sessionKey" | "setSession" | "onSessionChange" | "fetchInvoices" | "fetchUpcomingInvoice" | "fetchPaymentMethods" | "createSetupIntent" | "updatePaymentMethod" | "deletePaymentMethod" | "fetchFeatureUsage" | "fetchFeatureUserUsage" | "fetchCreditBalances" | "fetchCreditUserUsage" | "fetchCompany" | "cancelSubscription">;
1100
+ export declare type BillingProviderClient = Pick<BillingClient, "sessionStatus" | "sessionKey" | "setSession" | "onSessionChange" | "fetchCatalog" | "createCheckout" | "getCheckout" | "updateCheckout" | "finalizeCheckout" | "fetchInvoices" | "fetchUpcomingInvoice" | "fetchPaymentMethods" | "createSetupIntent" | "updatePaymentMethod" | "deletePaymentMethod" | "fetchFeatureUsage" | "fetchFeatureUserUsage" | "fetchCreditBalances" | "fetchCreditUserUsage" | "fetchCompany" | "cancelSubscription" | "fetchTaxIds" | "updateTaxId">;
644
1101
 
645
1102
  declare interface BillingProviderDataProps {
646
1103
  /**
@@ -679,8 +1136,21 @@ declare interface BillingProviderDataProps {
679
1136
  */
680
1137
  export declare type BillingProviderProps = BillingProviderDataProps & SchematicI18nConfig;
681
1138
 
1139
+ /**
1140
+ *
1141
+ * @export
1142
+ */
1143
+ declare const BillingProviderType: {
1144
+ readonly Metronome: "metronome";
1145
+ readonly Orb: "orb";
1146
+ readonly Schematic: "schematic";
1147
+ readonly Stripe: "stripe";
1148
+ };
1149
+
1150
+ declare type BillingProviderType = (typeof BillingProviderType)[keyof typeof BillingProviderType];
1151
+
682
1152
  /** The resources this package serves; a key of schematic-js's contract. */
683
- export declare type BillingResourceName = "invoices" | "upcomingInvoice" | "paymentMethods" | "featureUsage" | "creditBalances" | "company";
1153
+ export declare type BillingResourceName = "catalog" | "invoices" | "upcomingInvoice" | "paymentMethods" | "featureUsage" | "creditBalances" | "company" | "taxIds";
684
1154
 
685
1155
  declare type BillingResourceName_2 = keyof BillingResources_2;
686
1156
 
@@ -688,12 +1158,14 @@ export declare type BillingResourceParams = Pick<BillingResourceParams_2, Billin
688
1158
 
689
1159
  /** `Record<string, never>` marks a singleton; anything else is keyed. */
690
1160
  declare interface BillingResourceParams_2 {
1161
+ catalog: CatalogQuery;
691
1162
  invoices: InvoiceQuery;
692
1163
  upcomingInvoice: Record<string, never>;
693
1164
  paymentMethods: Record<string, never>;
694
1165
  featureUsage: Record<string, never>;
695
1166
  creditBalances: Record<string, never>;
696
1167
  company: Record<string, never>;
1168
+ taxIds: Record<string, never>;
697
1169
  }
698
1170
 
699
1171
  export declare type BillingResources = Pick<BillingResources_2, BillingResourceName>;
@@ -706,6 +1178,11 @@ export declare type BillingResources = Pick<BillingResources_2, BillingResourceN
706
1178
  * session's data keys it by that and serves only the active one.
707
1179
  */
708
1180
  declare interface BillingResources_2 {
1181
+ /**
1182
+ * `GET /catalog/view`, or `GET /catalogs/{catalog_id}/view` for a
1183
+ * `catalogId`: the catalog as the company sees it.
1184
+ */
1185
+ catalog: Catalog;
709
1186
  /** `GET /company/invoices?limit&offset&include_pending`. */
710
1187
  invoices: InvoicePage;
711
1188
  /**
@@ -732,8 +1209,36 @@ declare interface BillingResources_2 {
732
1209
  creditBalances: CreditBalanceEntry[];
733
1210
  /** `GET /company`. */
734
1211
  company: Company;
1212
+ /**
1213
+ * `GET /checkout/tax-id`. Empty is a loaded value — the company has none on
1214
+ * file — so only `undefined` means not loaded.
1215
+ */
1216
+ taxIds: TaxId[];
735
1217
  }
736
1218
 
1219
+ /**
1220
+ *
1221
+ * @export
1222
+ */
1223
+ declare const BillingStrategy: {
1224
+ readonly SchematicManaged: "schematic_managed";
1225
+ readonly ProviderManaged: "provider_managed";
1226
+ readonly NoBilling: "no_billing";
1227
+ };
1228
+
1229
+ declare type BillingStrategy = (typeof BillingStrategy)[keyof typeof BillingStrategy];
1230
+
1231
+ /**
1232
+ *
1233
+ * @export
1234
+ */
1235
+ declare const BillingSubscriptionTrialEndSetting: {
1236
+ readonly Cancel: "cancel";
1237
+ readonly Subscribe: "subscribe";
1238
+ };
1239
+
1240
+ declare type BillingSubscriptionTrialEndSetting = (typeof BillingSubscriptionTrialEndSetting)[keyof typeof BillingSubscriptionTrialEndSetting];
1241
+
737
1242
  /**
738
1243
  *
739
1244
  * @export
@@ -747,154 +1252,154 @@ declare type BillingTiersMode = (typeof BillingTiersMode)[keyof typeof BillingTi
747
1252
 
748
1253
  declare type BooleanListenerFn = (value: boolean) => void;
749
1254
 
1255
+ /**
1256
+ * What the company can buy, and how it stands against each of it. What the
1257
+ * server has already decided, so a consumer never re-derives it:
1258
+ *
1259
+ * * On each plan and add-on, `current`, `valid` with its `invalidReason` and
1260
+ * `usageViolations`, and `companyCanTrial`.
1261
+ * * `capabilities.checkout` — whether this company can check out at all.
1262
+ * * `checkoutSettings` — what checkout collects, custom fields included.
1263
+ * * `compatiblePlanIds` on add-ons and bundles — `undefined` means every
1264
+ * plan, and an empty list none.
1265
+ */
1266
+ export declare type Catalog = CompanyCatalogResponseData;
1267
+
1268
+ export declare type CatalogAutoTopup = CatalogAutoTopupResponseData;
1269
+
750
1270
  /**
751
1271
  *
752
1272
  * @export
753
- * @interface CatalogCreditGrantResponseData
1273
+ * @interface CatalogAutoTopupResponseData
754
1274
  */
755
- declare interface CatalogCreditGrantResponseData {
1275
+ declare interface CatalogAutoTopupResponseData {
756
1276
  /**
757
- * Flat credit amount granted to the company regardless of scaling.
1277
+ * Credits bought per top-up, as the plan sets it.
758
1278
  * @type {number}
759
- * @memberof CatalogCreditGrantResponseData
1279
+ * @memberof CatalogAutoTopupResponseData
760
1280
  */
761
- companyCreditAmount: number;
1281
+ amount?: number | null;
762
1282
  /**
763
- * Credits granted; for per_license scaling this is the amount per license unit.
764
- * @type {number}
765
- * @memberof CatalogCreditGrantResponseData
1283
+ * automatic tops up on the plan's settings; user_controlled lets the company choose its own.
1284
+ * @type {BillingCreditAutoTopupAvailability}
1285
+ * @memberof CatalogAutoTopupResponseData
766
1286
  */
767
- creditAmount: number;
1287
+ availability: BillingCreditAutoTopupAvailability;
768
1288
  /**
769
- *
770
- * @type {string}
771
- * @memberof CatalogCreditGrantResponseData
1289
+ * The company's own amount, when it has chosen one.
1290
+ * @type {number}
1291
+ * @memberof CatalogAutoTopupResponseData
772
1292
  */
773
- creditIcon?: string | null;
1293
+ companyAmount?: number | null;
774
1294
  /**
775
- *
776
- * @type {string}
777
- * @memberof CatalogCreditGrantResponseData
1295
+ * Whether the company has turned top-ups on, when it has chosen.
1296
+ * @type {boolean}
1297
+ * @memberof CatalogAutoTopupResponseData
778
1298
  */
779
- creditId: string;
1299
+ companyEnabled?: boolean | null;
780
1300
  /**
781
- *
782
- * @type {string}
783
- * @memberof CatalogCreditGrantResponseData
1301
+ * The company's own threshold, when it has chosen one.
1302
+ * @type {number}
1303
+ * @memberof CatalogAutoTopupResponseData
784
1304
  */
785
- creditName: string;
1305
+ companyThresholdCredits?: number | null;
786
1306
  /**
787
1307
  *
788
1308
  * @type {string}
789
- * @memberof CatalogCreditGrantResponseData
1309
+ * @memberof CatalogAutoTopupResponseData
790
1310
  */
791
- creditPluralName?: string | null;
1311
+ creditId: string;
792
1312
  /**
793
- *
794
- * @type {string}
795
- * @memberof CatalogCreditGrantResponseData
1313
+ * The credit's unit price in each other currency it is sold in.
1314
+ * @type {Array<CatalogBundleCurrencyPriceResponseData>}
1315
+ * @memberof CatalogAutoTopupResponseData
796
1316
  */
797
- creditSingularName?: string | null;
1317
+ currencyPrices: Array<CatalogBundleCurrencyPriceResponseData>;
798
1318
  /**
799
- *
800
- * @type {string}
801
- * @memberof CatalogCreditGrantResponseData
1319
+ * Whether the plan tops up by default.
1320
+ * @type {boolean}
1321
+ * @memberof CatalogAutoTopupResponseData
802
1322
  */
803
- id: string;
1323
+ enabled: boolean;
804
1324
  /**
805
1325
  *
806
1326
  * @type {string}
807
- * @memberof CatalogCreditGrantResponseData
1327
+ * @memberof CatalogAutoTopupResponseData
808
1328
  */
809
- licenseId?: string | null;
1329
+ planCreditGrantId: string;
810
1330
  /**
811
- *
812
- * @type {BillingPlanCreditGrantResetCadence}
813
- * @memberof CatalogCreditGrantResponseData
1331
+ * The balance below which a top-up runs, as the plan sets it.
1332
+ * @type {number}
1333
+ * @memberof CatalogAutoTopupResponseData
814
1334
  */
815
- resetCadence?: BillingPlanCreditGrantResetCadence | null;
1335
+ thresholdCredits?: number | null;
816
1336
  /**
817
- *
818
- * @type {PlanCreditGrantScaling}
819
- * @memberof CatalogCreditGrantResponseData
1337
+ * The credit's price per unit, which a top-up is charged at.
1338
+ * @type {CatalogPriceResponseData}
1339
+ * @memberof CatalogAutoTopupResponseData
820
1340
  */
821
- scaling: PlanCreditGrantScaling;
1341
+ unitPrice?: CatalogPriceResponseData;
822
1342
  }
823
1343
 
824
1344
  /**
825
1345
  *
826
1346
  * @export
827
- * @interface CatalogPriceResponseData
1347
+ * @interface CatalogBundleCurrencyPriceResponseData
828
1348
  */
829
- declare interface CatalogPriceResponseData {
1349
+ declare interface CatalogBundleCurrencyPriceResponseData {
830
1350
  /**
831
1351
  *
832
1352
  * @type {Currency}
833
- * @memberof CatalogPriceResponseData
1353
+ * @memberof CatalogBundleCurrencyPriceResponseData
834
1354
  */
835
1355
  currency: Currency;
836
1356
  /**
837
1357
  *
838
- * @type {string}
839
- * @memberof CatalogPriceResponseData
840
- */
841
- id: string;
842
- /**
843
- *
844
- * @type {BillingProductPriceInterval}
845
- * @memberof CatalogPriceResponseData
846
- */
847
- interval: BillingProductPriceInterval;
848
- /**
849
- *
850
- * @type {number}
851
- * @memberof CatalogPriceResponseData
852
- */
853
- intervalCount: number;
854
- /**
855
- * Per-unit price of the final tier, precomputed for overage display.
856
- * @type {string}
857
- * @memberof CatalogPriceResponseData
858
- */
859
- overageUnitPriceDecimal?: string | null;
860
- /**
861
- * Units covered per priced package; a price of $10 with package_size 1000 charges $10 per 1000 units.
862
- * @type {number}
863
- * @memberof CatalogPriceResponseData
864
- */
865
- packageSize: number;
866
- /**
867
- *
868
- * @type {number}
869
- * @memberof CatalogPriceResponseData
870
- */
871
- price: number;
872
- /**
873
- *
874
- * @type {string}
875
- * @memberof CatalogPriceResponseData
1358
+ * @type {CatalogPriceResponseData}
1359
+ * @memberof CatalogBundleCurrencyPriceResponseData
876
1360
  */
877
- priceDecimal?: string | null;
1361
+ price?: CatalogPriceResponseData;
878
1362
  /**
879
1363
  *
880
- * @type {Array<CatalogPriceTierResponseData>}
881
- * @memberof CatalogPriceResponseData
1364
+ * @type {CatalogPriceResponseData}
1365
+ * @memberof CatalogBundleCurrencyPriceResponseData
882
1366
  */
883
- priceTiers: Array<CatalogPriceTierResponseData>;
1367
+ unitPrice?: CatalogPriceResponseData;
1368
+ }
1369
+
1370
+ /**
1371
+ * Schematic API
1372
+ * Schematic API
1373
+ *
1374
+ * The version of the OpenAPI document: 0.1
1375
+ *
1376
+ *
1377
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1378
+ * https://openapi-generator.tech
1379
+ * Do not edit the class manually.
1380
+ */
1381
+ /**
1382
+ *
1383
+ * @export
1384
+ * @interface CatalogCapabilitiesResponseData
1385
+ */
1386
+ declare interface CatalogCapabilitiesResponseData {
884
1387
  /**
885
- *
886
- * @type {BillingPriceScheme}
887
- * @memberof CatalogPriceResponseData
1388
+ * Whether the consumer may hide the 'powered by Schematic' badge (the account's badge-hideable entitlement); false means the badge must be shown.
1389
+ * @type {boolean}
1390
+ * @memberof CatalogCapabilitiesResponseData
888
1391
  */
889
- scheme: BillingPriceScheme;
1392
+ badgeVisibility: boolean;
890
1393
  /**
891
1394
  *
892
- * @type {BillingTiersMode}
893
- * @memberof CatalogPriceResponseData
1395
+ * @type {boolean}
1396
+ * @memberof CatalogCapabilitiesResponseData
894
1397
  */
895
- tiersMode?: BillingTiersMode | null;
1398
+ checkout: boolean;
896
1399
  }
897
1400
 
1401
+ export declare type CatalogCheckoutField = CatalogCheckoutFieldResponseData;
1402
+
898
1403
  /**
899
1404
  * Schematic API
900
1405
  * Schematic API
@@ -909,277 +1414,2167 @@ declare interface CatalogPriceResponseData {
909
1414
  /**
910
1415
  *
911
1416
  * @export
912
- * @interface CatalogPriceTierResponseData
1417
+ * @interface CatalogCheckoutFieldResponseData
913
1418
  */
914
- declare interface CatalogPriceTierResponseData {
1419
+ declare interface CatalogCheckoutFieldResponseData {
915
1420
  /**
916
1421
  *
917
- * @type {number}
918
- * @memberof CatalogPriceTierResponseData
919
- */
920
- flatPrice?: number | null;
921
- /**
922
- * Lower bound of the tier (inclusive).
923
- * @type {number}
924
- * @memberof CatalogPriceTierResponseData
1422
+ * @type {string}
1423
+ * @memberof CatalogCheckoutFieldResponseData
925
1424
  */
926
- from: number;
1425
+ helperText?: string | null;
927
1426
  /**
928
1427
  *
929
- * @type {number}
930
- * @memberof CatalogPriceTierResponseData
1428
+ * @type {string}
1429
+ * @memberof CatalogCheckoutFieldResponseData
931
1430
  */
932
- perUnitPrice?: number | null;
1431
+ id: string;
933
1432
  /**
934
1433
  *
935
1434
  * @type {string}
936
- * @memberof CatalogPriceTierResponseData
1435
+ * @memberof CatalogCheckoutFieldResponseData
937
1436
  */
938
- perUnitPriceDecimal?: string | null;
1437
+ name: string;
939
1438
  /**
940
- * Upper bound of the tier (inclusive); null means unbounded.
941
- * @type {number}
942
- * @memberof CatalogPriceTierResponseData
1439
+ * A checkout with this field empty is refused with custom_field_required.
1440
+ * @type {boolean}
1441
+ * @memberof CatalogCheckoutFieldResponseData
943
1442
  */
944
- to?: number | null;
1443
+ required: boolean;
1444
+ /**
1445
+ * The company's saved value, when it has one.
1446
+ * @type {string}
1447
+ * @memberof CatalogCheckoutFieldResponseData
1448
+ */
1449
+ value?: string | null;
945
1450
  }
946
1451
 
947
1452
  /**
948
1453
  *
949
1454
  * @export
950
- * @interface CheckFlagResponse
1455
+ * @interface CatalogCheckoutSettingsResponseData
951
1456
  */
952
- declare interface CheckFlagResponse {
1457
+ declare interface CatalogCheckoutSettingsResponseData {
953
1458
  /**
954
1459
  *
955
- * @type {CheckFlagResponseData}
956
- * @memberof CheckFlagResponse
1460
+ * @type {CheckoutBundlePurchaseBehavior}
1461
+ * @memberof CatalogCheckoutSettingsResponseData
957
1462
  */
958
- data: CheckFlagResponseData;
1463
+ bundlePurchaseBehavior: CheckoutBundlePurchaseBehavior;
959
1464
  /**
960
- * Input parameters
961
- * @type {object}
962
- * @memberof CheckFlagResponse
1465
+ *
1466
+ * @type {boolean}
1467
+ * @memberof CatalogCheckoutSettingsResponseData
963
1468
  */
964
- params: object;
1469
+ collectAddress: boolean;
1470
+ /**
1471
+ *
1472
+ * @type {boolean}
1473
+ * @memberof CatalogCheckoutSettingsResponseData
1474
+ */
1475
+ collectEmail: boolean;
1476
+ /**
1477
+ *
1478
+ * @type {boolean}
1479
+ * @memberof CatalogCheckoutSettingsResponseData
1480
+ */
1481
+ collectPhone: boolean;
1482
+ /**
1483
+ *
1484
+ * @type {boolean}
1485
+ * @memberof CatalogCheckoutSettingsResponseData
1486
+ */
1487
+ collectTaxId: boolean;
1488
+ /**
1489
+ * The custom fields checkout collects; a checkout sends their values as custom_field_values by id.
1490
+ * @type {Array<CatalogCheckoutFieldResponseData>}
1491
+ * @memberof CatalogCheckoutSettingsResponseData
1492
+ */
1493
+ customFields: Array<CatalogCheckoutFieldResponseData>;
1494
+ /**
1495
+ *
1496
+ * @type {ProrationBehavior}
1497
+ * @memberof CatalogCheckoutSettingsResponseData
1498
+ */
1499
+ prorationBehavior: ProrationBehavior;
1500
+ /**
1501
+ *
1502
+ * @type {boolean}
1503
+ * @memberof CatalogCheckoutSettingsResponseData
1504
+ */
1505
+ taxCollectionEnabled: boolean;
965
1506
  }
966
1507
 
967
1508
  /**
968
1509
  *
969
1510
  * @export
970
- * @interface CheckFlagResponseData
1511
+ * @interface CatalogCompanyPlanResponseData
971
1512
  */
972
- declare interface CheckFlagResponseData {
1513
+ declare interface CatalogCompanyPlanResponseData {
973
1514
  /**
974
- * If company keys were provided and matched a company, its ID
975
- * @type {string}
976
- * @memberof CheckFlagResponseData
1515
+ * The plan's included credits that top up automatically or let the company choose to. Empty for add-ons.
1516
+ * @type {Array<CatalogAutoTopupResponseData>}
1517
+ * @memberof CatalogCompanyPlanResponseData
1518
+ */
1519
+ autoTopups: Array<CatalogAutoTopupResponseData>;
1520
+ /**
1521
+ *
1522
+ * @type {Array<PlanPriceCadence>}
1523
+ * @memberof CatalogCompanyPlanResponseData
1524
+ */
1525
+ availablePeriods: Array<PlanPriceCadence>;
1526
+ /**
1527
+ *
1528
+ * @type {BillingStrategy}
1529
+ * @memberof CatalogCompanyPlanResponseData
1530
+ */
1531
+ billingStrategy: BillingStrategy;
1532
+ /**
1533
+ *
1534
+ * @type {ChargeType}
1535
+ * @memberof CatalogCompanyPlanResponseData
1536
+ */
1537
+ chargeType: ChargeType;
1538
+ /**
1539
+ *
1540
+ * @type {boolean}
1541
+ * @memberof CatalogCompanyPlanResponseData
1542
+ */
1543
+ companyCanTrial: boolean;
1544
+ /**
1545
+ * For add-ons, the plans this add-on may be purchased with. Null means compatible with every plan.
1546
+ * @type {Array<string>}
1547
+ * @memberof CatalogCompanyPlanResponseData
1548
+ */
1549
+ compatiblePlanIds?: Array<string> | null;
1550
+ /**
1551
+ *
1552
+ * @type {Array<CatalogCurrencyPricesResponseData>}
1553
+ * @memberof CatalogCompanyPlanResponseData
1554
+ */
1555
+ currencyPrices: Array<CatalogCurrencyPricesResponseData>;
1556
+ /**
1557
+ *
1558
+ * @type {boolean}
1559
+ * @memberof CatalogCompanyPlanResponseData
1560
+ */
1561
+ current: boolean;
1562
+ /**
1563
+ *
1564
+ * @type {string}
1565
+ * @memberof CatalogCompanyPlanResponseData
1566
+ */
1567
+ description: string;
1568
+ /**
1569
+ *
1570
+ * @type {Array<CatalogPlanEntitlementResponseData>}
1571
+ * @memberof CatalogCompanyPlanResponseData
1572
+ */
1573
+ entitlements: Array<CatalogPlanEntitlementResponseData>;
1574
+ /**
1575
+ *
1576
+ * @type {string}
1577
+ * @memberof CatalogCompanyPlanResponseData
1578
+ */
1579
+ icon: string;
1580
+ /**
1581
+ *
1582
+ * @type {string}
1583
+ * @memberof CatalogCompanyPlanResponseData
1584
+ */
1585
+ id: string;
1586
+ /**
1587
+ *
1588
+ * @type {Array<CatalogCreditGrantResponseData>}
1589
+ * @memberof CatalogCompanyPlanResponseData
1590
+ */
1591
+ includedCreditGrants: Array<CatalogCreditGrantResponseData>;
1592
+ /**
1593
+ *
1594
+ * @type {CompanyPlanInvalidReason}
1595
+ * @memberof CatalogCompanyPlanResponseData
1596
+ */
1597
+ invalidReason?: CompanyPlanInvalidReason | null;
1598
+ /**
1599
+ *
1600
+ * @type {boolean}
1601
+ * @memberof CatalogCompanyPlanResponseData
1602
+ */
1603
+ isTrialable: boolean;
1604
+ /**
1605
+ *
1606
+ * @type {CatalogPriceResponseData}
1607
+ * @memberof CatalogCompanyPlanResponseData
1608
+ */
1609
+ monthlyPrice?: CatalogPriceResponseData;
1610
+ /**
1611
+ *
1612
+ * @type {string}
1613
+ * @memberof CatalogCompanyPlanResponseData
1614
+ */
1615
+ name: string;
1616
+ /**
1617
+ *
1618
+ * @type {CatalogPriceResponseData}
1619
+ * @memberof CatalogCompanyPlanResponseData
1620
+ */
1621
+ oneTimePrice?: CatalogPriceResponseData;
1622
+ /**
1623
+ *
1624
+ * @type {CatalogPriceResponseData}
1625
+ * @memberof CatalogCompanyPlanResponseData
1626
+ */
1627
+ quarterlyPrice?: CatalogPriceResponseData;
1628
+ /**
1629
+ *
1630
+ * @type {number}
1631
+ * @memberof CatalogCompanyPlanResponseData
1632
+ */
1633
+ trialDays?: number | null;
1634
+ /**
1635
+ *
1636
+ * @type {Array<CatalogUsageViolationResponseData>}
1637
+ * @memberof CatalogCompanyPlanResponseData
1638
+ */
1639
+ usageViolations: Array<CatalogUsageViolationResponseData>;
1640
+ /**
1641
+ *
1642
+ * @type {boolean}
1643
+ * @memberof CatalogCompanyPlanResponseData
1644
+ */
1645
+ valid: boolean;
1646
+ /**
1647
+ *
1648
+ * @type {CatalogPriceResponseData}
1649
+ * @memberof CatalogCompanyPlanResponseData
1650
+ */
1651
+ yearlyPrice?: CatalogPriceResponseData;
1652
+ }
1653
+
1654
+ export declare type CatalogCreditBundle = CatalogCreditBundleResponseData;
1655
+
1656
+ /**
1657
+ *
1658
+ * @export
1659
+ * @interface CatalogCreditBundleResponseData
1660
+ */
1661
+ declare interface CatalogCreditBundleResponseData {
1662
+ /**
1663
+ *
1664
+ * @type {BillingCreditBundleType}
1665
+ * @memberof CatalogCreditBundleResponseData
1666
+ */
1667
+ bundleType: BillingCreditBundleType;
1668
+ /**
1669
+ * The plans whose companies may purchase this bundle. Null means compatible with every plan.
1670
+ * @type {Array<string>}
1671
+ * @memberof CatalogCreditBundleResponseData
1672
+ */
1673
+ compatiblePlanIds?: Array<string> | null;
1674
+ /**
1675
+ *
1676
+ * @type {string}
1677
+ * @memberof CatalogCreditBundleResponseData
1678
+ */
1679
+ creditIcon?: string | null;
1680
+ /**
1681
+ *
1682
+ * @type {string}
1683
+ * @memberof CatalogCreditBundleResponseData
1684
+ */
1685
+ creditId: string;
1686
+ /**
1687
+ *
1688
+ * @type {string}
1689
+ * @memberof CatalogCreditBundleResponseData
1690
+ */
1691
+ creditName: string;
1692
+ /**
1693
+ *
1694
+ * @type {string}
1695
+ * @memberof CatalogCreditBundleResponseData
1696
+ */
1697
+ creditPluralName?: string | null;
1698
+ /**
1699
+ *
1700
+ * @type {string}
1701
+ * @memberof CatalogCreditBundleResponseData
1702
+ */
1703
+ creditSingularName?: string | null;
1704
+ /**
1705
+ *
1706
+ * @type {Array<CatalogBundleCurrencyPriceResponseData>}
1707
+ * @memberof CatalogCreditBundleResponseData
1708
+ */
1709
+ currencyPrices: Array<CatalogBundleCurrencyPriceResponseData>;
1710
+ /**
1711
+ *
1712
+ * @type {BillingCreditExpiryType}
1713
+ * @memberof CatalogCreditBundleResponseData
1714
+ */
1715
+ expiryType: BillingCreditExpiryType;
1716
+ /**
1717
+ *
1718
+ * @type {BillingCreditExpiryUnit}
1719
+ * @memberof CatalogCreditBundleResponseData
1720
+ */
1721
+ expiryUnit: BillingCreditExpiryUnit;
1722
+ /**
1723
+ *
1724
+ * @type {number}
1725
+ * @memberof CatalogCreditBundleResponseData
1726
+ */
1727
+ expiryUnitCount?: number | null;
1728
+ /**
1729
+ *
1730
+ * @type {string}
1731
+ * @memberof CatalogCreditBundleResponseData
1732
+ */
1733
+ id: string;
1734
+ /**
1735
+ *
1736
+ * @type {string}
1737
+ * @memberof CatalogCreditBundleResponseData
1738
+ */
1739
+ name: string;
1740
+ /**
1741
+ *
1742
+ * @type {CatalogPriceResponseData}
1743
+ * @memberof CatalogCreditBundleResponseData
1744
+ */
1745
+ price?: CatalogPriceResponseData;
1746
+ /**
1747
+ * Credits granted per purchase; null means the buyer chooses a custom quantity priced via unit_price.
1748
+ * @type {number}
1749
+ * @memberof CatalogCreditBundleResponseData
1750
+ */
1751
+ quantity?: number | null;
1752
+ /**
1753
+ *
1754
+ * @type {CatalogPriceResponseData}
1755
+ * @memberof CatalogCreditBundleResponseData
1756
+ */
1757
+ unitPrice?: CatalogPriceResponseData;
1758
+ }
1759
+
1760
+ /**
1761
+ *
1762
+ * @export
1763
+ * @interface CatalogCreditGrantResponseData
1764
+ */
1765
+ declare interface CatalogCreditGrantResponseData {
1766
+ /**
1767
+ * Flat credit amount granted to the company regardless of scaling.
1768
+ * @type {number}
1769
+ * @memberof CatalogCreditGrantResponseData
1770
+ */
1771
+ companyCreditAmount: number;
1772
+ /**
1773
+ * Credits granted; for per_license scaling this is the amount per license unit.
1774
+ * @type {number}
1775
+ * @memberof CatalogCreditGrantResponseData
1776
+ */
1777
+ creditAmount: number;
1778
+ /**
1779
+ *
1780
+ * @type {string}
1781
+ * @memberof CatalogCreditGrantResponseData
1782
+ */
1783
+ creditIcon?: string | null;
1784
+ /**
1785
+ *
1786
+ * @type {string}
1787
+ * @memberof CatalogCreditGrantResponseData
1788
+ */
1789
+ creditId: string;
1790
+ /**
1791
+ *
1792
+ * @type {string}
1793
+ * @memberof CatalogCreditGrantResponseData
1794
+ */
1795
+ creditName: string;
1796
+ /**
1797
+ *
1798
+ * @type {string}
1799
+ * @memberof CatalogCreditGrantResponseData
1800
+ */
1801
+ creditPluralName?: string | null;
1802
+ /**
1803
+ *
1804
+ * @type {string}
1805
+ * @memberof CatalogCreditGrantResponseData
1806
+ */
1807
+ creditSingularName?: string | null;
1808
+ /**
1809
+ *
1810
+ * @type {string}
1811
+ * @memberof CatalogCreditGrantResponseData
1812
+ */
1813
+ id: string;
1814
+ /**
1815
+ *
1816
+ * @type {string}
1817
+ * @memberof CatalogCreditGrantResponseData
1818
+ */
1819
+ licenseId?: string | null;
1820
+ /**
1821
+ *
1822
+ * @type {BillingPlanCreditGrantResetCadence}
1823
+ * @memberof CatalogCreditGrantResponseData
1824
+ */
1825
+ resetCadence?: BillingPlanCreditGrantResetCadence | null;
1826
+ /**
1827
+ *
1828
+ * @type {PlanCreditGrantScaling}
1829
+ * @memberof CatalogCreditGrantResponseData
1830
+ */
1831
+ scaling: PlanCreditGrantScaling;
1832
+ }
1833
+
1834
+ /**
1835
+ *
1836
+ * @export
1837
+ * @interface CatalogCurrencyPricesResponseData
1838
+ */
1839
+ declare interface CatalogCurrencyPricesResponseData {
1840
+ /**
1841
+ *
1842
+ * @type {Currency}
1843
+ * @memberof CatalogCurrencyPricesResponseData
1844
+ */
1845
+ currency: Currency;
1846
+ /**
1847
+ *
1848
+ * @type {CatalogPriceResponseData}
1849
+ * @memberof CatalogCurrencyPricesResponseData
1850
+ */
1851
+ monthlyPrice?: CatalogPriceResponseData;
1852
+ /**
1853
+ *
1854
+ * @type {CatalogPriceResponseData}
1855
+ * @memberof CatalogCurrencyPricesResponseData
1856
+ */
1857
+ oneTimePrice?: CatalogPriceResponseData;
1858
+ /**
1859
+ *
1860
+ * @type {CatalogPriceResponseData}
1861
+ * @memberof CatalogCurrencyPricesResponseData
1862
+ */
1863
+ quarterlyPrice?: CatalogPriceResponseData;
1864
+ /**
1865
+ *
1866
+ * @type {CatalogPriceResponseData}
1867
+ * @memberof CatalogCurrencyPricesResponseData
1868
+ */
1869
+ yearlyPrice?: CatalogPriceResponseData;
1870
+ }
1871
+
1872
+ /**
1873
+ * Schematic API
1874
+ * Schematic API
1875
+ *
1876
+ * The version of the OpenAPI document: 0.1
1877
+ *
1878
+ *
1879
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1880
+ * https://openapi-generator.tech
1881
+ * Do not edit the class manually.
1882
+ */
1883
+ /**
1884
+ *
1885
+ * @export
1886
+ * @interface CatalogCustomPlanCTAResponseData
1887
+ */
1888
+ declare interface CatalogCustomPlanCTAResponseData {
1889
+ /**
1890
+ *
1891
+ * @type {string}
1892
+ * @memberof CatalogCustomPlanCTAResponseData
1893
+ */
1894
+ ctaText?: string | null;
1895
+ /**
1896
+ *
1897
+ * @type {string}
1898
+ * @memberof CatalogCustomPlanCTAResponseData
1899
+ */
1900
+ ctaUrl?: string | null;
1901
+ /**
1902
+ *
1903
+ * @type {string}
1904
+ * @memberof CatalogCustomPlanCTAResponseData
1905
+ */
1906
+ priceText?: string | null;
1907
+ }
1908
+
1909
+ export declare type CatalogEntitlement = CatalogPlanEntitlementResponseData;
1910
+
1911
+ export declare type CatalogPlan = CatalogCompanyPlanResponseData;
1912
+
1913
+ /**
1914
+ *
1915
+ * @export
1916
+ * @interface CatalogPlanEntitlementResponseData
1917
+ */
1918
+ declare interface CatalogPlanEntitlementResponseData {
1919
+ /**
1920
+ * Credits consumed per unit of usage, for credit-burndown entitlements.
1921
+ * @type {number}
1922
+ * @memberof CatalogPlanEntitlementResponseData
1923
+ */
1924
+ consumptionRate?: number | null;
1925
+ /**
1926
+ * How many units of usage the plan's fixed included credit grants cover (⌊granted credits ÷ consumption rate⌋). Null when there is no fixed grant or the grant scales per license.
1927
+ * @type {number}
1928
+ * @memberof CatalogPlanEntitlementResponseData
1929
+ */
1930
+ creditEquivalentLimit?: number | null;
1931
+ /**
1932
+ *
1933
+ * @type {string}
1934
+ * @memberof CatalogPlanEntitlementResponseData
1935
+ */
1936
+ creditIcon?: string | null;
1937
+ /**
1938
+ *
1939
+ * @type {string}
1940
+ * @memberof CatalogPlanEntitlementResponseData
1941
+ */
1942
+ creditId?: string | null;
1943
+ /**
1944
+ *
1945
+ * @type {string}
1946
+ * @memberof CatalogPlanEntitlementResponseData
1947
+ */
1948
+ creditName?: string | null;
1949
+ /**
1950
+ *
1951
+ * @type {string}
1952
+ * @memberof CatalogPlanEntitlementResponseData
1953
+ */
1954
+ creditPluralName?: string | null;
1955
+ /**
1956
+ *
1957
+ * @type {string}
1958
+ * @memberof CatalogPlanEntitlementResponseData
1959
+ */
1960
+ creditSingularName?: string | null;
1961
+ /**
1962
+ *
1963
+ * @type {Array<CatalogCurrencyPricesResponseData>}
1964
+ * @memberof CatalogPlanEntitlementResponseData
1965
+ */
1966
+ currencyPrices: Array<CatalogCurrencyPricesResponseData>;
1967
+ /**
1968
+ *
1969
+ * @type {string}
1970
+ * @memberof CatalogPlanEntitlementResponseData
1971
+ */
1972
+ featureDescription: string;
1973
+ /**
1974
+ *
1975
+ * @type {string}
1976
+ * @memberof CatalogPlanEntitlementResponseData
1977
+ */
1978
+ featureIcon: string;
1979
+ /**
1980
+ *
1981
+ * @type {string}
1982
+ * @memberof CatalogPlanEntitlementResponseData
1983
+ */
1984
+ featureId: string;
1985
+ /**
1986
+ *
1987
+ * @type {string}
1988
+ * @memberof CatalogPlanEntitlementResponseData
1989
+ */
1990
+ featureName: string;
1991
+ /**
1992
+ *
1993
+ * @type {string}
1994
+ * @memberof CatalogPlanEntitlementResponseData
1995
+ */
1996
+ featurePluralName?: string | null;
1997
+ /**
1998
+ *
1999
+ * @type {string}
2000
+ * @memberof CatalogPlanEntitlementResponseData
2001
+ */
2002
+ featureSingularName?: string | null;
2003
+ /**
2004
+ *
2005
+ * @type {FeatureType}
2006
+ * @memberof CatalogPlanEntitlementResponseData
2007
+ */
2008
+ featureType: FeatureType;
2009
+ /**
2010
+ *
2011
+ * @type {string}
2012
+ * @memberof CatalogPlanEntitlementResponseData
2013
+ */
2014
+ id: string;
2015
+ /**
2016
+ *
2017
+ * @type {string}
2018
+ * @memberof CatalogPlanEntitlementResponseData
2019
+ */
2020
+ licenseId?: string | null;
2021
+ /**
2022
+ *
2023
+ * @type {CatalogPriceResponseData}
2024
+ * @memberof CatalogPlanEntitlementResponseData
2025
+ */
2026
+ meteredMonthlyPrice?: CatalogPriceResponseData;
2027
+ /**
2028
+ *
2029
+ * @type {CatalogPriceResponseData}
2030
+ * @memberof CatalogPlanEntitlementResponseData
2031
+ */
2032
+ meteredQuarterlyPrice?: CatalogPriceResponseData;
2033
+ /**
2034
+ *
2035
+ * @type {CatalogPriceResponseData}
2036
+ * @memberof CatalogPlanEntitlementResponseData
2037
+ */
2038
+ meteredYearlyPrice?: CatalogPriceResponseData;
2039
+ /**
2040
+ *
2041
+ * @type {MetricPeriod}
2042
+ * @memberof CatalogPlanEntitlementResponseData
2043
+ */
2044
+ metricPeriod?: MetricPeriod_2 | null;
2045
+ /**
2046
+ *
2047
+ * @type {MetricPeriodMonthReset}
2048
+ * @memberof CatalogPlanEntitlementResponseData
2049
+ */
2050
+ metricPeriodMonthReset?: MetricPeriodMonthReset_2 | null;
2051
+ /**
2052
+ *
2053
+ * @type {EntitlementPriceBehavior}
2054
+ * @memberof CatalogPlanEntitlementResponseData
2055
+ */
2056
+ priceBehavior?: EntitlementPriceBehavior | null;
2057
+ /**
2058
+ *
2059
+ * @type {number}
2060
+ * @memberof CatalogPlanEntitlementResponseData
2061
+ */
2062
+ softLimit?: number | null;
2063
+ /**
2064
+ *
2065
+ * @type {boolean}
2066
+ * @memberof CatalogPlanEntitlementResponseData
2067
+ */
2068
+ valueBool?: boolean | null;
2069
+ /**
2070
+ *
2071
+ * @type {number}
2072
+ * @memberof CatalogPlanEntitlementResponseData
2073
+ */
2074
+ valueNumeric?: number | null;
2075
+ /**
2076
+ *
2077
+ * @type {EntitlementValueType}
2078
+ * @memberof CatalogPlanEntitlementResponseData
2079
+ */
2080
+ valueType: EntitlementValueType_2;
2081
+ /**
2082
+ * The default warning-tier value, when configured.
2083
+ * @type {number}
2084
+ * @memberof CatalogPlanEntitlementResponseData
2085
+ */
2086
+ warningThreshold?: number | null;
2087
+ }
2088
+
2089
+ /**
2090
+ * Schematic API
2091
+ * Schematic API
2092
+ *
2093
+ * The version of the OpenAPI document: 0.1
2094
+ *
2095
+ *
2096
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2097
+ * https://openapi-generator.tech
2098
+ * Do not edit the class manually.
2099
+ */
2100
+ /**
2101
+ *
2102
+ * @export
2103
+ * @interface CatalogPlanRefResponseData
2104
+ */
2105
+ declare interface CatalogPlanRefResponseData {
2106
+ /**
2107
+ *
2108
+ * @type {string}
2109
+ * @memberof CatalogPlanRefResponseData
2110
+ */
2111
+ id: string;
2112
+ /**
2113
+ *
2114
+ * @type {string}
2115
+ * @memberof CatalogPlanRefResponseData
2116
+ */
2117
+ name: string;
2118
+ }
2119
+
2120
+ /**
2121
+ *
2122
+ * @export
2123
+ * @interface CatalogPriceResponseData
2124
+ */
2125
+ declare interface CatalogPriceResponseData {
2126
+ /**
2127
+ *
2128
+ * @type {Currency}
2129
+ * @memberof CatalogPriceResponseData
2130
+ */
2131
+ currency: Currency;
2132
+ /**
2133
+ *
2134
+ * @type {string}
2135
+ * @memberof CatalogPriceResponseData
2136
+ */
2137
+ id: string;
2138
+ /**
2139
+ *
2140
+ * @type {BillingProductPriceInterval}
2141
+ * @memberof CatalogPriceResponseData
2142
+ */
2143
+ interval: BillingProductPriceInterval;
2144
+ /**
2145
+ *
2146
+ * @type {number}
2147
+ * @memberof CatalogPriceResponseData
2148
+ */
2149
+ intervalCount: number;
2150
+ /**
2151
+ * Per-unit price of the final tier, precomputed for overage display.
2152
+ * @type {string}
2153
+ * @memberof CatalogPriceResponseData
2154
+ */
2155
+ overageUnitPriceDecimal?: string | null;
2156
+ /**
2157
+ * Units covered per priced package; a price of $10 with package_size 1000 charges $10 per 1000 units.
2158
+ * @type {number}
2159
+ * @memberof CatalogPriceResponseData
2160
+ */
2161
+ packageSize: number;
2162
+ /**
2163
+ *
2164
+ * @type {number}
2165
+ * @memberof CatalogPriceResponseData
2166
+ */
2167
+ price: number;
2168
+ /**
2169
+ *
2170
+ * @type {string}
2171
+ * @memberof CatalogPriceResponseData
2172
+ */
2173
+ priceDecimal?: string | null;
2174
+ /**
2175
+ *
2176
+ * @type {Array<CatalogPriceTierResponseData>}
2177
+ * @memberof CatalogPriceResponseData
2178
+ */
2179
+ priceTiers: Array<CatalogPriceTierResponseData>;
2180
+ /**
2181
+ *
2182
+ * @type {BillingPriceScheme}
2183
+ * @memberof CatalogPriceResponseData
2184
+ */
2185
+ scheme: BillingPriceScheme;
2186
+ /**
2187
+ *
2188
+ * @type {BillingTiersMode}
2189
+ * @memberof CatalogPriceResponseData
2190
+ */
2191
+ tiersMode?: BillingTiersMode | null;
2192
+ }
2193
+
2194
+ /**
2195
+ * Schematic API
2196
+ * Schematic API
2197
+ *
2198
+ * The version of the OpenAPI document: 0.1
2199
+ *
2200
+ *
2201
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2202
+ * https://openapi-generator.tech
2203
+ * Do not edit the class manually.
2204
+ */
2205
+ /**
2206
+ *
2207
+ * @export
2208
+ * @interface CatalogPriceTierResponseData
2209
+ */
2210
+ declare interface CatalogPriceTierResponseData {
2211
+ /**
2212
+ *
2213
+ * @type {number}
2214
+ * @memberof CatalogPriceTierResponseData
2215
+ */
2216
+ flatPrice?: number | null;
2217
+ /**
2218
+ * Lower bound of the tier (inclusive).
2219
+ * @type {number}
2220
+ * @memberof CatalogPriceTierResponseData
2221
+ */
2222
+ from: number;
2223
+ /**
2224
+ *
2225
+ * @type {number}
2226
+ * @memberof CatalogPriceTierResponseData
2227
+ */
2228
+ perUnitPrice?: number | null;
2229
+ /**
2230
+ *
2231
+ * @type {string}
2232
+ * @memberof CatalogPriceTierResponseData
2233
+ */
2234
+ perUnitPriceDecimal?: string | null;
2235
+ /**
2236
+ * Upper bound of the tier (inclusive); null means unbounded.
2237
+ * @type {number}
2238
+ * @memberof CatalogPriceTierResponseData
2239
+ */
2240
+ to?: number | null;
2241
+ }
2242
+
2243
+ /** Each catalog is its own resource; none names the environment's own. */
2244
+ export declare interface CatalogQuery {
2245
+ catalogId?: string;
2246
+ }
2247
+
2248
+ /**
2249
+ * Schematic API
2250
+ * Schematic API
2251
+ *
2252
+ * The version of the OpenAPI document: 0.1
2253
+ *
2254
+ *
2255
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2256
+ * https://openapi-generator.tech
2257
+ * Do not edit the class manually.
2258
+ */
2259
+ /**
2260
+ *
2261
+ * @export
2262
+ * @interface CatalogUsageViolationResponseData
2263
+ */
2264
+ declare interface CatalogUsageViolationResponseData {
2265
+ /**
2266
+ *
2267
+ * @type {string}
2268
+ * @memberof CatalogUsageViolationResponseData
2269
+ */
2270
+ featureId: string;
2271
+ /**
2272
+ *
2273
+ * @type {string}
2274
+ * @memberof CatalogUsageViolationResponseData
2275
+ */
2276
+ featureName: string;
2277
+ /**
2278
+ * The limit the target plan would impose; null means unlimited.
2279
+ * @type {number}
2280
+ * @memberof CatalogUsageViolationResponseData
2281
+ */
2282
+ limit?: number | null;
2283
+ /**
2284
+ *
2285
+ * @type {number}
2286
+ * @memberof CatalogUsageViolationResponseData
2287
+ */
2288
+ usage: number;
2289
+ }
2290
+
2291
+ /**
2292
+ *
2293
+ * @export
2294
+ */
2295
+ declare const ChargeType: {
2296
+ readonly Free: "free";
2297
+ readonly None: "none";
2298
+ readonly OneTime: "one_time";
2299
+ readonly Recurring: "recurring";
2300
+ };
2301
+
2302
+ declare type ChargeType = (typeof ChargeType)[keyof typeof ChargeType];
2303
+
2304
+ /**
2305
+ *
2306
+ * @export
2307
+ * @interface CheckFlagResponse
2308
+ */
2309
+ declare interface CheckFlagResponse {
2310
+ /**
2311
+ *
2312
+ * @type {CheckFlagResponseData}
2313
+ * @memberof CheckFlagResponse
2314
+ */
2315
+ data: CheckFlagResponseData;
2316
+ /**
2317
+ * Input parameters
2318
+ * @type {object}
2319
+ * @memberof CheckFlagResponse
2320
+ */
2321
+ params: object;
2322
+ }
2323
+
2324
+ /**
2325
+ *
2326
+ * @export
2327
+ * @interface CheckFlagResponseData
2328
+ */
2329
+ declare interface CheckFlagResponseData {
2330
+ /**
2331
+ * If company keys were provided and matched a company, its ID
2332
+ * @type {string}
2333
+ * @memberof CheckFlagResponseData
2334
+ */
2335
+ companyId?: string | null;
2336
+ /**
2337
+ * If a feature entitlement rule was matched, its entitlement details
2338
+ * @type {FeatureEntitlement}
2339
+ * @memberof CheckFlagResponseData
2340
+ */
2341
+ entitlement?: FeatureEntitlement;
2342
+ /**
2343
+ * If an error occurred while checking the flag, the error message
2344
+ * @type {string}
2345
+ * @memberof CheckFlagResponseData
2346
+ */
2347
+ error?: string | null;
2348
+ /**
2349
+ * Deprecated: Use Entitlement.Allocation instead.
2350
+ * @type {number}
2351
+ * @memberof CheckFlagResponseData
2352
+ * @deprecated
2353
+ */
2354
+ featureAllocation?: number | null;
2355
+ /**
2356
+ * Deprecated: Use Entitlement.Usage instead.
2357
+ * @type {number}
2358
+ * @memberof CheckFlagResponseData
2359
+ * @deprecated
2360
+ */
2361
+ featureUsage?: number | null;
2362
+ /**
2363
+ * Deprecated: Use Entitlement.EventName instead.
2364
+ * @type {string}
2365
+ * @memberof CheckFlagResponseData
2366
+ * @deprecated
2367
+ */
2368
+ featureUsageEvent?: string | null;
2369
+ /**
2370
+ * Deprecated: Use Entitlement.MetricPeriod instead.
2371
+ * @type {MetricPeriod}
2372
+ * @memberof CheckFlagResponseData
2373
+ * @deprecated
2374
+ */
2375
+ featureUsagePeriod?: MetricPeriod | null;
2376
+ /**
2377
+ * Deprecated: Use Entitlement.MetricResetAt instead.
2378
+ * @type {Date}
2379
+ * @memberof CheckFlagResponseData
2380
+ * @deprecated
2381
+ */
2382
+ featureUsageResetAt?: Date | null;
2383
+ /**
2384
+ * The key used to check the flag
2385
+ * @type {string}
2386
+ * @memberof CheckFlagResponseData
2387
+ */
2388
+ flag: string;
2389
+ /**
2390
+ * If a flag was found, its ID
2391
+ * @type {string}
2392
+ * @memberof CheckFlagResponseData
2393
+ */
2394
+ flagId?: string | null;
2395
+ /**
2396
+ * A human-readable explanation of the result
2397
+ * @type {string}
2398
+ * @memberof CheckFlagResponseData
2399
+ */
2400
+ reason: string;
2401
+ /**
2402
+ * If a rule was found, its ID
2403
+ * @type {string}
2404
+ * @memberof CheckFlagResponseData
2405
+ */
2406
+ ruleId?: string | null;
2407
+ /**
2408
+ * If a rule was found, its type
2409
+ * @type {RuleType}
2410
+ * @memberof CheckFlagResponseData
2411
+ */
2412
+ ruleType?: RuleType_2 | null;
2413
+ /**
2414
+ * If user keys were provided and matched a user, its ID
2415
+ * @type {string}
2416
+ * @memberof CheckFlagResponseData
2417
+ */
2418
+ userId?: string | null;
2419
+ /**
2420
+ * A boolean flag check result; for feature entitlements, this represents whether further consumption of the feature is permitted
2421
+ * @type {boolean}
2422
+ * @memberof CheckFlagResponseData
2423
+ */
2424
+ value: boolean;
2425
+ }
2426
+
2427
+ declare function CheckFlagResponseFromJSON(json: any): CheckFlagResponse;
2428
+
2429
+ export declare type CheckFlagReturn = {
2430
+ /** The company has access to the feature, but has exceeded the usage limit */
2431
+ featureUsageExceeded?: boolean;
2432
+ /** If company keys were provided and matched a company, its ID */
2433
+ companyId?: string;
2434
+ /** If the company has a credit-based entitlement for this feature, the ID of the credit */
2435
+ creditId?: string;
2436
+ /** If the company has a credit-based entitlement for this feature, the credit available to fund new consumption excluding any open lease hold (the value lease-holding SDKs gate on) */
2437
+ creditRemaining?: number;
2438
+ /** If the company has a credit-based entitlement for this feature, the unspent amount held by an open credit lease, 0 when none is open */
2439
+ creditReserved?: number;
2440
+ /** If the company has a credit-based entitlement for this feature, the spendable balance including any open lease hold (creditRemaining + creditReserved); the number to display to end users */
2441
+ creditSettled?: number;
2442
+ /** If an error occurred while checking the flag, the error message */
2443
+ error?: string;
2444
+ /** If a numeric feature entitlement rule was matched, its allocation */
2445
+ featureAllocation?: number;
2446
+ /** If a numeric feature entitlement rule was matched, the company's usage */
2447
+ featureUsage?: number;
2448
+ /** Event representing the feature usage */
2449
+ featureUsageEvent?: string;
2450
+ /** For event-based feature entitlement rules, the period over which usage is tracked (current_month, current_day, current_week, all_time) */
2451
+ featureUsagePeriod?: UsagePeriod;
2452
+ /** For event-based feature entitlement rules, when the usage period will reset */
2453
+ featureUsageResetAt?: Date;
2454
+ /** The key used to check the flag */
2455
+ flag: string;
2456
+ /** If a flag was found, its ID */
2457
+ flagId?: string;
2458
+ /** A human-readable explanation of the result */
2459
+ reason: string;
2460
+ /** If a rule was found, its ID */
2461
+ ruleId?: string;
2462
+ /** If a rule was found, its type */
2463
+ ruleType?: RuleType;
2464
+ /** For usage-based pricing, the soft limit for overage charges or the next tier boundary */
2465
+ softLimit?: number;
2466
+ /** If user keys were provided and matched a user, its ID */
2467
+ userId?: string;
2468
+ /** A boolean flag check result; for feature entitlements, this represents whether further consumption of the feature is permitted */
2469
+ value: boolean;
2470
+ /** Customer-defined usage warning thresholds configured on this entitlement */
2471
+ warningTiers?: WarningTier[];
2472
+ };
2473
+
2474
+ declare const CheckFlagReturnFromJSON: (json: any) => CheckFlagReturn;
2475
+
2476
+ declare type CheckFlagReturnListenerFn = (value: CheckFlagReturn) => void;
2477
+
2478
+ /**
2479
+ *
2480
+ * @export
2481
+ * @interface CheckFlagsResponse
2482
+ */
2483
+ declare interface CheckFlagsResponse {
2484
+ /**
2485
+ *
2486
+ * @type {CheckFlagsResponseData}
2487
+ * @memberof CheckFlagsResponse
2488
+ */
2489
+ data: CheckFlagsResponseData;
2490
+ /**
2491
+ * Input parameters
2492
+ * @type {object}
2493
+ * @memberof CheckFlagsResponse
2494
+ */
2495
+ params: object;
2496
+ }
2497
+
2498
+ /**
2499
+ *
2500
+ * @export
2501
+ * @interface CheckFlagsResponseData
2502
+ */
2503
+ declare interface CheckFlagsResponseData {
2504
+ /**
2505
+ * Lease-aware credit balances keyed by credit ID, covering every credit type the company holds a balance in
2506
+ * @type {{ [key: string]: CompanyCreditBalance; }}
2507
+ * @memberof CheckFlagsResponseData
2508
+ */
2509
+ creditBalances?: {
2510
+ [key: string]: CompanyCreditBalance;
2511
+ };
2512
+ /**
2513
+ * Credit spend policies binding the evaluated company and user; empty when none bind. Each response carries the whole set, so replace any previously received set with it. Advisory: the flag values do not reflect them, since a check names no draw amount
2514
+ * @type {Array<CreditSpendPolicy>}
2515
+ * @memberof CheckFlagsResponseData
2516
+ */
2517
+ creditSpendPolicies: Array<CreditSpendPolicy_2>;
2518
+ /**
2519
+ *
2520
+ * @type {Array<CheckFlagResponseData>}
2521
+ * @memberof CheckFlagsResponseData
2522
+ */
2523
+ flags: Array<CheckFlagResponseData>;
2524
+ /**
2525
+ *
2526
+ * @type {DatastreamCompanyPlan}
2527
+ * @memberof CheckFlagsResponseData
2528
+ */
2529
+ plan?: DatastreamCompanyPlan;
2530
+ }
2531
+
2532
+ declare function CheckFlagsResponseFromJSON(json: any): CheckFlagsResponse;
2533
+
2534
+ declare type CheckOptions = {
2535
+ context?: SchematicContext;
2536
+ fallback?: boolean;
2537
+ key: string;
2538
+ };
2539
+
2540
+ /**
2541
+ * One checkout as the server holds it: its `selections`, the `version` a
2542
+ * write must name, the price it was last priced at (`priceSnapshot`, absent
2543
+ * until the cart is priceable), and what is wrong with it (`problems`).
2544
+ */
2545
+ export declare type Checkout = CheckoutDraftResponseData;
2546
+
2547
+ /** The header a checkout's session rides in, both ways. */
2548
+ declare const CHECKOUT_SESSION_HEADER = "X-Checkout-Session-ID";
2549
+
2550
+ /**
2551
+ *
2552
+ * @export
2553
+ */
2554
+ declare const CheckoutBundlePurchaseBehavior: {
2555
+ readonly Individual: "individual";
2556
+ readonly Quantity: "quantity";
2557
+ };
2558
+
2559
+ declare type CheckoutBundlePurchaseBehavior = (typeof CheckoutBundlePurchaseBehavior)[keyof typeof CheckoutBundlePurchaseBehavior];
2560
+
2561
+ /**
2562
+ *
2563
+ * @export
2564
+ */
2565
+ declare const CheckoutChargeTiming: {
2566
+ readonly AtRenewal: "at_renewal";
2567
+ readonly None: "none";
2568
+ readonly Now: "now";
2569
+ };
2570
+
2571
+ declare type CheckoutChargeTiming = (typeof CheckoutChargeTiming)[keyof typeof CheckoutChargeTiming];
2572
+
2573
+ /**
2574
+ * One write at a time: each needs the version the last answered with. A
2575
+ * write asked for while one is out waits, and a newer one replaces it and
2576
+ * answers everybody waiting on it.
2577
+ */
2578
+ export declare class CheckoutDraft {
2579
+ private readonly transport;
2580
+ private readonly listeners;
2581
+ private _state;
2582
+ private checkoutId;
2583
+ private version;
2584
+ private sessionId;
2585
+ /** Bumped by reset, so an answer for a discarded draft lands nowhere. */
2586
+ private generation;
2587
+ private inFlight;
2588
+ private queued;
2589
+ constructor(transport: CheckoutTransport, options?: CheckoutDraftOptions);
2590
+ /**
2591
+ * Starts over whenever the session changes to somebody else: another
2592
+ * reader's cart is not this one's to finalize. Returns the unsubscribe.
2593
+ */
2594
+ watchSession(onSessionChange: BillingClient["onSessionChange"]): () => void;
2595
+ get state(): CheckoutDraftState;
2596
+ subscribe(listener: () => void): () => void;
2597
+ /**
2598
+ * Reads the checkout this draft was opened on, for a resume. A draft with
2599
+ * no checkout yet has nothing to read.
2600
+ */
2601
+ load(): Promise<Checkout | undefined>;
2602
+ /**
2603
+ * Replaces the cart and re-prices it. Resolves with the checkout the write
2604
+ * that carried this cart left — a later cart's, when a newer call replaced
2605
+ * it before it was sent — or `undefined` when the draft was reset first.
2606
+ */
2607
+ setSelections(selections: CheckoutSelections): Promise<Checkout | undefined>;
2608
+ /**
2609
+ * Charges the checkout at the version the last write left, once every
2610
+ * write asked for has landed. A refusal on the cart's problems puts them on
2611
+ * the state and rejects; so does anything else.
2612
+ */
2613
+ finalize(): Promise<CheckoutResult>;
2614
+ /** Drops the checkout; the next write opens a new one. */
2615
+ reset(): void;
2616
+ /** Resolves once nothing is in flight or queued. */
2617
+ private settled;
2618
+ private pump;
2619
+ private write;
2620
+ /**
2621
+ * A 409 is a stale version or a checkout no longer open; one read tells
2622
+ * which, replaying on the current version or opening a new checkout with
2623
+ * the same cart. A second conflict is somebody else's and surfaces.
2624
+ */
2625
+ private updateWithReplay;
2626
+ private finalizeOnce;
2627
+ private refresh;
2628
+ private adopt;
2629
+ private update;
2630
+ }
2631
+
2632
+ declare interface CheckoutDraftOptions {
2633
+ /** Resume this checkout rather than opening one on the first write. */
2634
+ checkoutId?: string;
2635
+ }
2636
+
2637
+ /**
2638
+ *
2639
+ * @export
2640
+ * @interface CheckoutDraftResponseData
2641
+ */
2642
+ declare interface CheckoutDraftResponseData {
2643
+ /**
2644
+ *
2645
+ * @type {string}
2646
+ * @memberof CheckoutDraftResponseData
2647
+ */
2648
+ companyId: string;
2649
+ /**
2650
+ *
2651
+ * @type {Date}
2652
+ * @memberof CheckoutDraftResponseData
2653
+ */
2654
+ completedAt?: Date | null;
2655
+ /**
2656
+ *
2657
+ * @type {Date}
2658
+ * @memberof CheckoutDraftResponseData
2659
+ */
2660
+ createdAt: Date;
2661
+ /**
2662
+ *
2663
+ * @type {Date}
2664
+ * @memberof CheckoutDraftResponseData
2665
+ */
2666
+ expiresAt?: Date | null;
2667
+ /**
2668
+ *
2669
+ * @type {string}
2670
+ * @memberof CheckoutDraftResponseData
2671
+ */
2672
+ id: string;
2673
+ /**
2674
+ *
2675
+ * @type {Date}
2676
+ * @memberof CheckoutDraftResponseData
2677
+ */
2678
+ lastActivityAt: Date;
2679
+ /**
2680
+ *
2681
+ * @type {CheckoutPriceSnapshot}
2682
+ * @memberof CheckoutDraftResponseData
2683
+ */
2684
+ priceSnapshot?: CheckoutPriceSnapshot;
2685
+ /**
2686
+ *
2687
+ * @type {Date}
2688
+ * @memberof CheckoutDraftResponseData
2689
+ */
2690
+ pricedAt?: Date | null;
2691
+ /**
2692
+ *
2693
+ * @type {Array<CheckoutProblemResponseData>}
2694
+ * @memberof CheckoutDraftResponseData
2695
+ */
2696
+ problems: Array<CheckoutProblemResponseData>;
2697
+ /**
2698
+ *
2699
+ * @type {CheckoutSelectionsResponseData}
2700
+ * @memberof CheckoutDraftResponseData
2701
+ */
2702
+ selections: CheckoutSelectionsResponseData;
2703
+ /**
2704
+ *
2705
+ * @type {string}
2706
+ * @memberof CheckoutDraftResponseData
2707
+ */
2708
+ shareToken?: string | null;
2709
+ /**
2710
+ *
2711
+ * @type {CheckoutStatus}
2712
+ * @memberof CheckoutDraftResponseData
2713
+ */
2714
+ status: CheckoutStatus;
2715
+ /**
2716
+ *
2717
+ * @type {Date}
2718
+ * @memberof CheckoutDraftResponseData
2719
+ */
2720
+ updatedAt: Date;
2721
+ /**
2722
+ *
2723
+ * @type {number}
2724
+ * @memberof CheckoutDraftResponseData
2725
+ */
2726
+ version: number;
2727
+ }
2728
+
2729
+ export declare interface CheckoutDraftState {
2730
+ /** The checkout as the last write left it; `undefined` until the first. */
2731
+ checkout: Checkout | undefined;
2732
+ /**
2733
+ * What the server last found wrong: the priced checkout's problems, or the
2734
+ * list a refused finalize answered with.
2735
+ */
2736
+ problems: CheckoutProblem[];
2737
+ /** A write is in flight or waiting behind one. */
2738
+ isPricing: boolean;
2739
+ isFinalizing: boolean;
2740
+ /** The last write or finalize that failed other than on its problems. */
2741
+ error: Error | undefined;
2742
+ /** What the finalize charged, once it has. */
2743
+ result: CheckoutResult | undefined;
2744
+ }
2745
+
2746
+ /**
2747
+ * Schematic API
2748
+ * Schematic API
2749
+ *
2750
+ * The version of the OpenAPI document: 0.1
2751
+ *
2752
+ *
2753
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2754
+ * https://openapi-generator.tech
2755
+ * Do not edit the class manually.
2756
+ */
2757
+ /**
2758
+ *
2759
+ * @export
2760
+ * @interface CheckoutFieldValue
2761
+ */
2762
+ declare interface CheckoutFieldValue {
2763
+ /**
2764
+ *
2765
+ * @type {string}
2766
+ * @memberof CheckoutFieldValue
2767
+ */
2768
+ id: string;
2769
+ /**
2770
+ *
2771
+ * @type {string}
2772
+ * @memberof CheckoutFieldValue
2773
+ */
2774
+ value: string;
2775
+ }
2776
+
2777
+ export declare interface CheckoutHandle extends CheckoutDraftState {
2778
+ /** What the cart was last priced at; `undefined` until it is priceable. */
2779
+ snapshot: CheckoutPriceSnapshot | undefined;
2780
+ /**
2781
+ * Replaces the cart and re-prices it. Calls made while a write is out are
2782
+ * coalesced into the newest, so a component can call this on every change.
2783
+ * Rejects with the write's failure, which also lands on `error`.
2784
+ */
2785
+ setSelections: (selections: CheckoutSelections) => Promise<Checkout | undefined>;
2786
+ /**
2787
+ * Charges the cart once every write has landed, then reloads the billing
2788
+ * data the purchase changed. A refusal on the cart's problems puts them on
2789
+ * `problems` and rejects.
2790
+ */
2791
+ finalize: () => Promise<CheckoutResult>;
2792
+ /** Drops the checkout; the next write opens a new one. */
2793
+ reset: () => void;
2794
+ }
2795
+
2796
+ /**
2797
+ *
2798
+ * @export
2799
+ */
2800
+ declare const CheckoutIntent: {
2801
+ readonly Cancel: "cancel";
2802
+ readonly Change: "change";
2803
+ };
2804
+
2805
+ declare type CheckoutIntent = (typeof CheckoutIntent)[keyof typeof CheckoutIntent];
2806
+
2807
+ /**
2808
+ *
2809
+ * @export
2810
+ * @interface CheckoutPriceSnapshot
2811
+ */
2812
+ export declare interface CheckoutPriceSnapshot {
2813
+ /**
2814
+ *
2815
+ * @type {number}
2816
+ * @memberof CheckoutPriceSnapshot
2817
+ */
2818
+ amountOff: number;
2819
+ /**
2820
+ *
2821
+ * @type {Currency}
2822
+ * @memberof CheckoutPriceSnapshot
2823
+ */
2824
+ currency: Currency;
2825
+ /**
2826
+ *
2827
+ * @type {number}
2828
+ * @memberof CheckoutPriceSnapshot
2829
+ */
2830
+ customerBalanceApplied: number;
2831
+ /**
2832
+ *
2833
+ * @type {number}
2834
+ * @memberof CheckoutPriceSnapshot
2835
+ */
2836
+ customerBalanceRemaining: number;
2837
+ /**
2838
+ *
2839
+ * @type {number}
2840
+ * @memberof CheckoutPriceSnapshot
2841
+ */
2842
+ discountAmount: number;
2843
+ /**
2844
+ *
2845
+ * @type {Array<CheckoutPriceSnapshotDiscount>}
2846
+ * @memberof CheckoutPriceSnapshot
2847
+ */
2848
+ discounts: Array<CheckoutPriceSnapshotDiscount>;
2849
+ /**
2850
+ *
2851
+ * @type {number}
2852
+ * @memberof CheckoutPriceSnapshot
2853
+ */
2854
+ dueNow: number;
2855
+ /**
2856
+ *
2857
+ * @type {boolean}
2858
+ * @memberof CheckoutPriceSnapshot
2859
+ */
2860
+ isScheduledDowngrade: boolean;
2861
+ /**
2862
+ *
2863
+ * @type {number}
2864
+ * @memberof CheckoutPriceSnapshot
2865
+ */
2866
+ newCharges: number;
2867
+ /**
2868
+ *
2869
+ * @type {boolean}
2870
+ * @memberof CheckoutPriceSnapshot
2871
+ */
2872
+ optInRequired: boolean;
2873
+ /**
2874
+ *
2875
+ * @type {string}
2876
+ * @memberof CheckoutPriceSnapshot
2877
+ */
2878
+ optInText?: string | null;
2879
+ /**
2880
+ *
2881
+ * @type {string}
2882
+ * @memberof CheckoutPriceSnapshot
2883
+ */
2884
+ optInTitle?: string | null;
2885
+ /**
2886
+ *
2887
+ * @type {boolean}
2888
+ * @memberof CheckoutPriceSnapshot
2889
+ */
2890
+ paymentMethodRequired: boolean;
2891
+ /**
2892
+ *
2893
+ * @type {number}
2894
+ * @memberof CheckoutPriceSnapshot
2895
+ */
2896
+ percentOff: number;
2897
+ /**
2898
+ *
2899
+ * @type {Date}
2900
+ * @memberof CheckoutPriceSnapshot
2901
+ */
2902
+ periodStart: Date;
2903
+ /**
2904
+ *
2905
+ * @type {Date}
2906
+ * @memberof CheckoutPriceSnapshot
2907
+ */
2908
+ pricedAt: Date;
2909
+ /**
2910
+ *
2911
+ * @type {boolean}
2912
+ * @memberof CheckoutPriceSnapshot
2913
+ */
2914
+ promoCodeApplied: boolean;
2915
+ /**
2916
+ *
2917
+ * @type {number}
2918
+ * @memberof CheckoutPriceSnapshot
2919
+ */
2920
+ proration: number;
2921
+ /**
2922
+ *
2923
+ * @type {CheckoutPriceSnapshotProration}
2924
+ * @memberof CheckoutPriceSnapshot
2925
+ */
2926
+ prorationDetail?: CheckoutPriceSnapshotProration;
2927
+ /**
2928
+ *
2929
+ * @type {Date}
2930
+ * @memberof CheckoutPriceSnapshot
2931
+ */
2932
+ scheduledChangeTime?: Date | null;
2933
+ /**
2934
+ *
2935
+ * @type {number}
2936
+ * @memberof CheckoutPriceSnapshot
2937
+ */
2938
+ taxAmount?: number | null;
2939
+ /**
2940
+ *
2941
+ * @type {number}
2942
+ * @memberof CheckoutPriceSnapshot
2943
+ */
2944
+ totalPerBillingPeriod: number;
2945
+ /**
2946
+ *
2947
+ * @type {Date}
2948
+ * @memberof CheckoutPriceSnapshot
2949
+ */
2950
+ trialEnd?: Date | null;
2951
+ }
2952
+
2953
+ /**
2954
+ *
2955
+ * @export
2956
+ * @interface CheckoutPriceSnapshotDiscount
2957
+ */
2958
+ declare interface CheckoutPriceSnapshotDiscount {
2959
+ /**
2960
+ *
2961
+ * @type {number}
2962
+ * @memberof CheckoutPriceSnapshotDiscount
2963
+ */
2964
+ amountOff?: number | null;
2965
+ /**
2966
+ *
2967
+ * @type {string}
2968
+ * @memberof CheckoutPriceSnapshotDiscount
2969
+ */
2970
+ couponExternalId: string;
2971
+ /**
2972
+ *
2973
+ * @type {string}
2974
+ * @memberof CheckoutPriceSnapshotDiscount
2975
+ */
2976
+ couponName: string;
2977
+ /**
2978
+ *
2979
+ * @type {Currency}
2980
+ * @memberof CheckoutPriceSnapshotDiscount
2981
+ */
2982
+ currency?: Currency | null;
2983
+ /**
2984
+ *
2985
+ * @type {string}
2986
+ * @memberof CheckoutPriceSnapshotDiscount
2987
+ */
2988
+ customerFacingCode?: string | null;
2989
+ /**
2990
+ *
2991
+ * @type {string}
2992
+ * @memberof CheckoutPriceSnapshotDiscount
2993
+ */
2994
+ duration: string;
2995
+ /**
2996
+ *
2997
+ * @type {number}
2998
+ * @memberof CheckoutPriceSnapshotDiscount
2999
+ */
3000
+ durationInMonths?: number | null;
3001
+ /**
3002
+ *
3003
+ * @type {number}
3004
+ * @memberof CheckoutPriceSnapshotDiscount
3005
+ */
3006
+ percentOff?: number | null;
3007
+ /**
3008
+ *
3009
+ * @type {string}
3010
+ * @memberof CheckoutPriceSnapshotDiscount
3011
+ */
3012
+ promoCodeExternalId?: string | null;
3013
+ }
3014
+
3015
+ /**
3016
+ *
3017
+ * @export
3018
+ * @interface CheckoutPriceSnapshotProration
3019
+ */
3020
+ declare interface CheckoutPriceSnapshotProration {
3021
+ /**
3022
+ *
3023
+ * @type {Date}
3024
+ * @memberof CheckoutPriceSnapshotProration
3025
+ */
3026
+ billedAt?: Date | null;
3027
+ /**
3028
+ *
3029
+ * @type {number}
3030
+ * @memberof CheckoutPriceSnapshotProration
3031
+ */
3032
+ charge: number;
3033
+ /**
3034
+ *
3035
+ * @type {number}
3036
+ * @memberof CheckoutPriceSnapshotProration
3037
+ */
3038
+ credit: number;
3039
+ /**
3040
+ *
3041
+ * @type {Array<CheckoutPriceSnapshotProrationLine>}
3042
+ * @memberof CheckoutPriceSnapshotProration
3043
+ */
3044
+ lines: Array<CheckoutPriceSnapshotProrationLine>;
3045
+ /**
3046
+ *
3047
+ * @type {CheckoutChargeTiming}
3048
+ * @memberof CheckoutPriceSnapshotProration
3049
+ */
3050
+ timing: CheckoutChargeTiming;
3051
+ /**
3052
+ *
3053
+ * @type {number}
3054
+ * @memberof CheckoutPriceSnapshotProration
3055
+ */
3056
+ total: number;
3057
+ }
3058
+
3059
+ /**
3060
+ *
3061
+ * @export
3062
+ * @interface CheckoutPriceSnapshotProrationLine
3063
+ */
3064
+ declare interface CheckoutPriceSnapshotProrationLine {
3065
+ /**
3066
+ *
3067
+ * @type {number}
3068
+ * @memberof CheckoutPriceSnapshotProrationLine
3069
+ */
3070
+ amount: number;
3071
+ /**
3072
+ *
3073
+ * @type {ProrationLineKind}
3074
+ * @memberof CheckoutPriceSnapshotProrationLine
3075
+ */
3076
+ kind: ProrationLineKind;
3077
+ /**
3078
+ *
3079
+ * @type {Date}
3080
+ * @memberof CheckoutPriceSnapshotProrationLine
3081
+ */
3082
+ periodEnd?: Date | null;
3083
+ /**
3084
+ *
3085
+ * @type {Date}
3086
+ * @memberof CheckoutPriceSnapshotProrationLine
3087
+ */
3088
+ periodStart?: Date | null;
3089
+ /**
3090
+ *
3091
+ * @type {string}
3092
+ * @memberof CheckoutPriceSnapshotProrationLine
3093
+ */
3094
+ planId?: string | null;
3095
+ /**
3096
+ *
3097
+ * @type {string}
3098
+ * @memberof CheckoutPriceSnapshotProrationLine
3099
+ */
3100
+ priceId?: string | null;
3101
+ /**
3102
+ *
3103
+ * @type {number}
3104
+ * @memberof CheckoutPriceSnapshotProrationLine
3105
+ */
3106
+ quantity?: number | null;
3107
+ }
3108
+
3109
+ /**
3110
+ * Something the last price found wrong. `blocking` means a finalize would be
3111
+ * refused while it stands; the ids say what it is about, so a client can show
3112
+ * it next to the thing it concerns.
3113
+ */
3114
+ export declare type CheckoutProblem = CheckoutProblemResponseData;
3115
+
3116
+ /**
3117
+ *
3118
+ * @export
3119
+ */
3120
+ export declare const CheckoutProblemCode: {
3121
+ readonly AddOnConflictsWithPlan: "add_on_conflicts_with_plan";
3122
+ readonly AddOnIntervalMismatch: "add_on_interval_mismatch";
3123
+ readonly AddOnRequiresBilledPlan: "add_on_requires_billed_plan";
3124
+ readonly AddOnUnavailable: "add_on_unavailable";
3125
+ readonly BillingCycleAnchorConflictsWithTrial: "billing_cycle_anchor_conflicts_with_trial";
3126
+ readonly BillingCycleAnchorMustBeFuture: "billing_cycle_anchor_must_be_future";
3127
+ readonly BillingCycleAnchorNeedsNewSubscription: "billing_cycle_anchor_needs_new_subscription";
3128
+ readonly BillingCycleAnchorWithoutPlan: "billing_cycle_anchor_without_plan";
3129
+ readonly BillingStartDateMustBePast: "billing_start_date_must_be_past";
3130
+ readonly BillingStartDateNeedsNewSubscription: "billing_start_date_needs_new_subscription";
3131
+ readonly BillingStartDateNeedsRenewalDate: "billing_start_date_needs_renewal_date";
3132
+ readonly BillingStartDateNotBeforeRenewalDate: "billing_start_date_not_before_renewal_date";
3133
+ readonly BillingStartDateTooFarInPast: "billing_start_date_too_far_in_past";
3134
+ readonly CheckoutSuperseded: "checkout_superseded";
3135
+ readonly CreditBundleIncompatible: "credit_bundle_incompatible";
3136
+ readonly CreditBundleUnavailable: "credit_bundle_unavailable";
3137
+ readonly CreditBundlesActivateOnPayment: "credit_bundles_activate_on_payment";
3138
+ readonly CurrencyMismatch: "currency_mismatch";
3139
+ readonly CustomFieldRequired: "custom_field_required";
3140
+ readonly DiscountIneligible: "discount_ineligible";
3141
+ readonly DowngradeNotPermitted: "downgrade_not_permitted";
3142
+ readonly EndDateMustBeFuture: "end_date_must_be_future";
3143
+ readonly EndDateNeedsNewSubscription: "end_date_needs_new_subscription";
3144
+ readonly EndDateNotAfterRenewalDate: "end_date_not_after_renewal_date";
3145
+ readonly FreeFirstPeriodActivatesOnPayment: "free_first_period_activates_on_payment";
3146
+ readonly InvoiceEmailRequired: "invoice_email_required";
3147
+ readonly InvoicedSubscriptionConflictsWithTrial: "invoiced_subscription_conflicts_with_trial";
3148
+ readonly InvoicedSubscriptionNeedsNewSubscription: "invoiced_subscription_needs_new_subscription";
3149
+ readonly InvoicedSubscriptionRequiresPlan: "invoiced_subscription_requires_plan";
3150
+ readonly OptInRequired: "opt_in_required";
3151
+ readonly PayInAdvancePriceInvalid: "pay_in_advance_price_invalid";
3152
+ readonly PayInAdvanceRequired: "pay_in_advance_required";
3153
+ readonly PaymentMethodRequired: "payment_method_required";
3154
+ readonly PlanNotTrialable: "plan_not_trialable";
3155
+ readonly PlanUnavailable: "plan_unavailable";
3156
+ readonly PriceUnavailable: "price_unavailable";
3157
+ readonly ProrateFirstPeriodWithoutAnchor: "prorate_first_period_without_anchor";
3158
+ readonly ProviderRejected: "provider_rejected";
3159
+ readonly ScheduledChangeBlocksPurchase: "scheduled_change_blocks_purchase";
3160
+ readonly ScheduledChangePending: "scheduled_change_pending";
3161
+ readonly SelectionInvalid: "selection_invalid";
3162
+ readonly SubscriptionCurrencyChange: "subscription_currency_change";
3163
+ readonly TrialEndMustBeFuture: "trial_end_must_be_future";
3164
+ readonly TrialEndTooFar: "trial_end_too_far";
3165
+ readonly TrialExcludesAddOns: "trial_excludes_add_ons";
3166
+ readonly TrialExcludesUsageBased: "trial_excludes_usage_based";
3167
+ readonly UsagePriceMissingForInterval: "usage_price_missing_for_interval";
3168
+ readonly UsageOverLimit: "usage_over_limit";
3169
+ };
3170
+
3171
+ export declare type CheckoutProblemCode = (typeof CheckoutProblemCode)[keyof typeof CheckoutProblemCode];
3172
+
3173
+ /**
3174
+ *
3175
+ * @export
3176
+ * @interface CheckoutProblemResponseData
3177
+ */
3178
+ declare interface CheckoutProblemResponseData {
3179
+ /**
3180
+ * Whether completing the checkout would be refused while this stands.
3181
+ * @type {boolean}
3182
+ * @memberof CheckoutProblemResponseData
3183
+ */
3184
+ blocking: boolean;
3185
+ /**
3186
+ *
3187
+ * @type {string}
3188
+ * @memberof CheckoutProblemResponseData
3189
+ */
3190
+ bundleId?: string | null;
3191
+ /**
3192
+ *
3193
+ * @type {CheckoutProblemCode}
3194
+ * @memberof CheckoutProblemResponseData
3195
+ */
3196
+ code: CheckoutProblemCode;
3197
+ /**
3198
+ * The currency this problem is about, when it is about one.
3199
+ * @type {Currency}
3200
+ * @memberof CheckoutProblemResponseData
3201
+ */
3202
+ currency?: Currency;
3203
+ /**
3204
+ * Diagnostic detail for operators, including what the billing provider said. Never shown to a customer.
3205
+ * @type {string}
3206
+ * @memberof CheckoutProblemResponseData
3207
+ */
3208
+ detail?: string;
3209
+ /**
3210
+ *
3211
+ * @type {string}
3212
+ * @memberof CheckoutProblemResponseData
3213
+ */
3214
+ featureId?: string | null;
3215
+ /**
3216
+ *
3217
+ * @type {string}
3218
+ * @memberof CheckoutProblemResponseData
3219
+ */
3220
+ fieldId?: string | null;
3221
+ /**
3222
+ * What is wrong, in words safe for anyone allowed to read the checkout.
3223
+ * @type {string}
3224
+ * @memberof CheckoutProblemResponseData
3225
+ */
3226
+ message: string;
3227
+ /**
3228
+ *
3229
+ * @type {string}
3230
+ * @memberof CheckoutProblemResponseData
3231
+ */
3232
+ paymentMethodId?: string | null;
3233
+ /**
3234
+ *
3235
+ * @type {string}
3236
+ * @memberof CheckoutProblemResponseData
3237
+ */
3238
+ planId?: string | null;
3239
+ /**
3240
+ *
3241
+ * @type {string}
3242
+ * @memberof CheckoutProblemResponseData
3243
+ */
3244
+ priceId?: string | null;
3245
+ /**
3246
+ *
3247
+ * @type {CheckoutProblemSource}
3248
+ * @memberof CheckoutProblemResponseData
3249
+ */
3250
+ source: CheckoutProblemSource;
3251
+ }
3252
+
3253
+ /**
3254
+ * The problems a refused write or finalize carried, or `undefined` when the
3255
+ * error is not one: a finalize the server stops on a blocking problem answers
3256
+ * 400 with the list beside its message.
3257
+ */
3258
+ export declare function checkoutProblemsOf(error: unknown): CheckoutProblem[] | undefined;
3259
+
3260
+ /**
3261
+ *
3262
+ * @export
3263
+ */
3264
+ declare const CheckoutProblemSource: {
3265
+ readonly Provider: "provider";
3266
+ readonly Requirement: "requirement";
3267
+ readonly Validation: "validation";
3268
+ };
3269
+
3270
+ declare type CheckoutProblemSource = (typeof CheckoutProblemSource)[keyof typeof CheckoutProblemSource];
3271
+
3272
+ /**
3273
+ *
3274
+ * @export
3275
+ * @interface CheckoutResponseData
3276
+ */
3277
+ declare interface CheckoutResponseData {
3278
+ /**
3279
+ *
3280
+ * @type {string}
3281
+ * @memberof CheckoutResponseData
3282
+ */
3283
+ applicationId?: string | null;
3284
+ /**
3285
+ *
3286
+ * @type {number}
3287
+ * @memberof CheckoutResponseData
3288
+ */
3289
+ cancelAt?: number | null;
3290
+ /**
3291
+ *
3292
+ * @type {boolean}
3293
+ * @memberof CheckoutResponseData
3294
+ */
3295
+ cancelAtPeriodEnd: boolean;
3296
+ /**
3297
+ *
3298
+ * @type {string}
3299
+ * @memberof CheckoutResponseData
977
3300
  */
978
3301
  companyId?: string | null;
979
3302
  /**
980
- * If a feature entitlement rule was matched, its entitlement details
981
- * @type {FeatureEntitlement}
982
- * @memberof CheckFlagResponseData
3303
+ *
3304
+ * @type {string}
3305
+ * @memberof CheckoutResponseData
3306
+ */
3307
+ confirmPaymentIntentClientSecret?: string | null;
3308
+ /**
3309
+ *
3310
+ * @type {string}
3311
+ * @memberof CheckoutResponseData
3312
+ */
3313
+ confirmPaymentIntentId?: string | null;
3314
+ /**
3315
+ *
3316
+ * @type {Date}
3317
+ * @memberof CheckoutResponseData
3318
+ */
3319
+ createdAt: Date;
3320
+ /**
3321
+ *
3322
+ * @type {Currency}
3323
+ * @memberof CheckoutResponseData
3324
+ */
3325
+ currency: Currency;
3326
+ /**
3327
+ *
3328
+ * @type {string}
3329
+ * @memberof CheckoutResponseData
3330
+ */
3331
+ customerExternalId: string;
3332
+ /**
3333
+ *
3334
+ * @type {string}
3335
+ * @memberof CheckoutResponseData
3336
+ */
3337
+ defaultPaymentMethodId?: string | null;
3338
+ /**
3339
+ *
3340
+ * @type {Date}
3341
+ * @memberof CheckoutResponseData
3342
+ */
3343
+ expiredAt?: Date | null;
3344
+ /**
3345
+ *
3346
+ * @type {string}
3347
+ * @memberof CheckoutResponseData
3348
+ */
3349
+ id: string;
3350
+ /**
3351
+ *
3352
+ * @type {string}
3353
+ * @memberof CheckoutResponseData
3354
+ */
3355
+ interval: string;
3356
+ /**
3357
+ *
3358
+ * @type {object}
3359
+ * @memberof CheckoutResponseData
3360
+ */
3361
+ metadata?: object;
3362
+ /**
3363
+ *
3364
+ * @type {number}
3365
+ * @memberof CheckoutResponseData
3366
+ */
3367
+ periodEnd: number;
3368
+ /**
3369
+ *
3370
+ * @type {number}
3371
+ * @memberof CheckoutResponseData
3372
+ */
3373
+ periodStart: number;
3374
+ /**
3375
+ *
3376
+ * @type {BillingProviderType}
3377
+ * @memberof CheckoutResponseData
3378
+ */
3379
+ providerType: BillingProviderType;
3380
+ /**
3381
+ *
3382
+ * @type {Date}
3383
+ * @memberof CheckoutResponseData
3384
+ */
3385
+ scheduledChangeTime?: Date | null;
3386
+ /**
3387
+ *
3388
+ * @type {ScheduledDowngradeConfigBehavior}
3389
+ * @memberof CheckoutResponseData
983
3390
  */
984
- entitlement?: FeatureEntitlement;
3391
+ scheduledDowngradeBehavior?: ScheduledDowngradeConfigBehavior | null;
985
3392
  /**
986
- * If an error occurred while checking the flag, the error message
3393
+ *
987
3394
  * @type {string}
988
- * @memberof CheckFlagResponseData
3395
+ * @memberof CheckoutResponseData
989
3396
  */
990
- error?: string | null;
3397
+ status: string;
991
3398
  /**
992
- * Deprecated: Use Entitlement.Allocation instead.
3399
+ *
3400
+ * @type {string}
3401
+ * @memberof CheckoutResponseData
3402
+ */
3403
+ subscriptionExternalId: string;
3404
+ /**
3405
+ *
993
3406
  * @type {number}
994
- * @memberof CheckFlagResponseData
995
- * @deprecated
3407
+ * @memberof CheckoutResponseData
996
3408
  */
997
- featureAllocation?: number | null;
3409
+ totalPrice: number;
998
3410
  /**
999
- * Deprecated: Use Entitlement.Usage instead.
3411
+ *
1000
3412
  * @type {number}
1001
- * @memberof CheckFlagResponseData
1002
- * @deprecated
3413
+ * @memberof CheckoutResponseData
1003
3414
  */
1004
- featureUsage?: number | null;
3415
+ trialEnd?: number | null;
1005
3416
  /**
1006
- * Deprecated: Use Entitlement.EventName instead.
1007
- * @type {string}
1008
- * @memberof CheckFlagResponseData
1009
- * @deprecated
3417
+ *
3418
+ * @type {BillingSubscriptionTrialEndSetting}
3419
+ * @memberof CheckoutResponseData
1010
3420
  */
1011
- featureUsageEvent?: string | null;
3421
+ trialEndSetting?: BillingSubscriptionTrialEndSetting | null;
3422
+ }
3423
+
3424
+ /** What a finalize charged: the subscription, and a 3-D Secure secret when the payment needs one. */
3425
+ export declare type CheckoutResult = CheckoutResponseData;
3426
+
3427
+ /**
3428
+ * The cart, sent whole on every write: an update replaces the stored cart, so
3429
+ * a field left out is a field cleared. No plan and price is a cart with only
3430
+ * credit bundles, or nothing at all.
3431
+ */
3432
+ export declare interface CheckoutSelections {
3433
+ addOns?: UpdateAddOnRequestBody[];
3434
+ autoTopupOverrides?: UpdateAutoTopupOverrideRequestBody[];
3435
+ creditBundles?: UpdateCreditBundleRequestBody[];
3436
+ /** ISO 4217. A cart that prices in another currency reports a problem. */
3437
+ currency?: string;
3438
+ customFieldValues?: CheckoutFieldValue[];
3439
+ /** `cancel` ends the subscription; the default is a change to the cart. */
3440
+ intent?: "change" | "cancel";
3441
+ optInAccepted?: boolean;
3442
+ payInAdvance?: UpdatePayInAdvanceRequestBody[];
3443
+ /** The provider's id of a method already on file. */
3444
+ paymentMethodId?: string;
3445
+ planId?: string;
3446
+ priceId?: string;
3447
+ promoCode?: string;
3448
+ skipTrial?: boolean;
3449
+ }
3450
+
3451
+ /**
3452
+ *
3453
+ * @export
3454
+ * @interface CheckoutSelectionsResponseData
3455
+ */
3456
+ declare interface CheckoutSelectionsResponseData {
1012
3457
  /**
1013
- * Deprecated: Use Entitlement.MetricPeriod instead.
1014
- * @type {MetricPeriod}
1015
- * @memberof CheckFlagResponseData
1016
- * @deprecated
3458
+ *
3459
+ * @type {Array<UpdateAddOnRequestBody>}
3460
+ * @memberof CheckoutSelectionsResponseData
1017
3461
  */
1018
- featureUsagePeriod?: MetricPeriod | null;
3462
+ addOnIds: Array<UpdateAddOnRequestBody>;
1019
3463
  /**
1020
- * Deprecated: Use Entitlement.MetricResetAt instead.
1021
- * @type {Date}
1022
- * @memberof CheckFlagResponseData
1023
- * @deprecated
3464
+ *
3465
+ * @type {Array<UpdateAutoTopupOverrideRequestBody>}
3466
+ * @memberof CheckoutSelectionsResponseData
1024
3467
  */
1025
- featureUsageResetAt?: Date | null;
3468
+ autoTopupOverrides: Array<UpdateAutoTopupOverrideRequestBody>;
1026
3469
  /**
1027
- * The key used to check the flag
3470
+ *
1028
3471
  * @type {string}
1029
- * @memberof CheckFlagResponseData
3472
+ * @memberof CheckoutSelectionsResponseData
1030
3473
  */
1031
- flag: string;
3474
+ billingEntityId?: string | null;
1032
3475
  /**
1033
- * If a flag was found, its ID
3476
+ *
1034
3477
  * @type {string}
1035
- * @memberof CheckFlagResponseData
3478
+ * @memberof CheckoutSelectionsResponseData
1036
3479
  */
1037
- flagId?: string | null;
3480
+ couponExternalId?: string | null;
1038
3481
  /**
1039
- * A human-readable explanation of the result
1040
- * @type {string}
1041
- * @memberof CheckFlagResponseData
3482
+ *
3483
+ * @type {Array<UpdateCreditBundleRequestBody>}
3484
+ * @memberof CheckoutSelectionsResponseData
1042
3485
  */
1043
- reason: string;
3486
+ creditBundles: Array<UpdateCreditBundleRequestBody>;
1044
3487
  /**
1045
- * If a rule was found, its ID
3488
+ * The currency the cart is being built in, as the create or last update named it; null when neither did.
1046
3489
  * @type {string}
1047
- * @memberof CheckFlagResponseData
3490
+ * @memberof CheckoutSelectionsResponseData
1048
3491
  */
1049
- ruleId?: string | null;
3492
+ currency?: string | null;
1050
3493
  /**
1051
- * If a rule was found, its type
1052
- * @type {RuleType}
1053
- * @memberof CheckFlagResponseData
3494
+ *
3495
+ * @type {Array<CheckoutFieldValue>}
3496
+ * @memberof CheckoutSelectionsResponseData
1054
3497
  */
1055
- ruleType?: RuleType_2 | null;
3498
+ customFieldValues: Array<CheckoutFieldValue>;
1056
3499
  /**
1057
- * If user keys were provided and matched a user, its ID
1058
- * @type {string}
1059
- * @memberof CheckFlagResponseData
3500
+ * What the checkout does to the subscription.
3501
+ * @type {CheckoutIntent}
3502
+ * @memberof CheckoutSelectionsResponseData
1060
3503
  */
1061
- userId?: string | null;
3504
+ intent: CheckoutIntent;
1062
3505
  /**
1063
- * A boolean flag check result; for feature entitlements, this represents whether further consumption of the feature is permitted
1064
- * @type {boolean}
1065
- * @memberof CheckFlagResponseData
3506
+ *
3507
+ * @type {string}
3508
+ * @memberof CheckoutSelectionsResponseData
1066
3509
  */
1067
- value: boolean;
1068
- }
1069
-
1070
- declare function CheckFlagResponseFromJSON(json: any): CheckFlagResponse;
1071
-
1072
- export declare type CheckFlagReturn = {
1073
- /** The company has access to the feature, but has exceeded the usage limit */
1074
- featureUsageExceeded?: boolean;
1075
- /** If company keys were provided and matched a company, its ID */
1076
- companyId?: string;
1077
- /** If the company has a credit-based entitlement for this feature, the ID of the credit */
1078
- creditId?: string;
1079
- /** If the company has a credit-based entitlement for this feature, the credit available to fund new consumption excluding any open lease hold (the value lease-holding SDKs gate on) */
1080
- creditRemaining?: number;
1081
- /** If the company has a credit-based entitlement for this feature, the unspent amount held by an open credit lease, 0 when none is open */
1082
- creditReserved?: number;
1083
- /** If the company has a credit-based entitlement for this feature, the spendable balance including any open lease hold (creditRemaining + creditReserved); the number to display to end users */
1084
- creditSettled?: number;
1085
- /** If an error occurred while checking the flag, the error message */
1086
- error?: string;
1087
- /** If a numeric feature entitlement rule was matched, its allocation */
1088
- featureAllocation?: number;
1089
- /** If a numeric feature entitlement rule was matched, the company's usage */
1090
- featureUsage?: number;
1091
- /** Event representing the feature usage */
1092
- featureUsageEvent?: string;
1093
- /** For event-based feature entitlement rules, the period over which usage is tracked (current_month, current_day, current_week, all_time) */
1094
- featureUsagePeriod?: UsagePeriod;
1095
- /** For event-based feature entitlement rules, when the usage period will reset */
1096
- featureUsageResetAt?: Date;
1097
- /** The key used to check the flag */
1098
- flag: string;
1099
- /** If a flag was found, its ID */
1100
- flagId?: string;
1101
- /** A human-readable explanation of the result */
1102
- reason: string;
1103
- /** If a rule was found, its ID */
1104
- ruleId?: string;
1105
- /** If a rule was found, its type */
1106
- ruleType?: RuleType;
1107
- /** For usage-based pricing, the soft limit for overage charges or the next tier boundary */
1108
- softLimit?: number;
1109
- /** If user keys were provided and matched a user, its ID */
1110
- userId?: string;
1111
- /** A boolean flag check result; for feature entitlements, this represents whether further consumption of the feature is permitted */
1112
- value: boolean;
1113
- /** Customer-defined usage warning thresholds configured on this entitlement */
1114
- warningTiers?: WarningTier[];
1115
- };
1116
-
1117
- declare const CheckFlagReturnFromJSON: (json: any) => CheckFlagReturn;
1118
-
1119
- declare type CheckFlagReturnListenerFn = (value: CheckFlagReturn) => void;
1120
-
1121
- /**
1122
- *
1123
- * @export
1124
- * @interface CheckFlagsResponse
1125
- */
1126
- declare interface CheckFlagsResponse {
3510
+ newPlanId?: string | null;
1127
3511
  /**
1128
3512
  *
1129
- * @type {CheckFlagsResponseData}
1130
- * @memberof CheckFlagsResponse
3513
+ * @type {string}
3514
+ * @memberof CheckoutSelectionsResponseData
1131
3515
  */
1132
- data: CheckFlagsResponseData;
3516
+ newPriceId?: string | null;
1133
3517
  /**
1134
- * Input parameters
1135
- * @type {object}
1136
- * @memberof CheckFlagsResponse
3518
+ *
3519
+ * @type {boolean}
3520
+ * @memberof CheckoutSelectionsResponseData
1137
3521
  */
1138
- params: object;
1139
- }
1140
-
1141
- /**
1142
- *
1143
- * @export
1144
- * @interface CheckFlagsResponseData
1145
- */
1146
- declare interface CheckFlagsResponseData {
3522
+ optInAccepted?: boolean | null;
1147
3523
  /**
1148
- * Lease-aware credit balances keyed by credit ID, covering every credit type the company holds a balance in
1149
- * @type {{ [key: string]: CompanyCreditBalance; }}
1150
- * @memberof CheckFlagsResponseData
3524
+ *
3525
+ * @type {Array<UpdatePayInAdvanceRequestBody>}
3526
+ * @memberof CheckoutSelectionsResponseData
1151
3527
  */
1152
- creditBalances?: {
1153
- [key: string]: CompanyCreditBalance;
1154
- };
3528
+ payInAdvance: Array<UpdatePayInAdvanceRequestBody>;
1155
3529
  /**
1156
- * Credit spend policies binding the evaluated company and user; empty when none bind. Each response carries the whole set, so replace any previously received set with it. Advisory: the flag values do not reflect them, since a check names no draw amount
1157
- * @type {Array<CreditSpendPolicy>}
1158
- * @memberof CheckFlagsResponseData
3530
+ *
3531
+ * @type {string}
3532
+ * @memberof CheckoutSelectionsResponseData
1159
3533
  */
1160
- creditSpendPolicies: Array<CreditSpendPolicy_2>;
3534
+ paymentMethodId?: string | null;
1161
3535
  /**
1162
3536
  *
1163
- * @type {Array<CheckFlagResponseData>}
1164
- * @memberof CheckFlagsResponseData
3537
+ * @type {string}
3538
+ * @memberof CheckoutSelectionsResponseData
1165
3539
  */
1166
- flags: Array<CheckFlagResponseData>;
3540
+ promoCode?: string | null;
1167
3541
  /**
1168
3542
  *
1169
- * @type {DatastreamCompanyPlan}
1170
- * @memberof CheckFlagsResponseData
3543
+ * @type {boolean}
3544
+ * @memberof CheckoutSelectionsResponseData
1171
3545
  */
1172
- plan?: DatastreamCompanyPlan;
3546
+ skipTrial: boolean;
1173
3547
  }
1174
3548
 
1175
- declare function CheckFlagsResponseFromJSON(json: any): CheckFlagsResponse;
3549
+ /** The selections as the API reads them. */
3550
+ declare function checkoutSelectionsToJSON(selections: CheckoutSelections): Record<string, unknown>;
1176
3551
 
1177
- declare type CheckOptions = {
1178
- context?: SchematicContext;
1179
- fallback?: boolean;
1180
- key: string;
3552
+ /**
3553
+ *
3554
+ * @export
3555
+ */
3556
+ export declare const CheckoutStatus: {
3557
+ readonly Abandoned: "abandoned";
3558
+ readonly Completed: "completed";
3559
+ readonly Expired: "expired";
3560
+ readonly Open: "open";
1181
3561
  };
1182
3562
 
3563
+ export declare type CheckoutStatus = (typeof CheckoutStatus)[keyof typeof CheckoutStatus];
3564
+
3565
+ /** The calls a draft makes, so a test or a host's own client can stand in. */
3566
+ export declare type CheckoutTransport = Pick<BillingClient, "createCheckout" | "getCheckout" | "updateCheckout" | "finalizeCheckout">;
3567
+
3568
+ /**
3569
+ * A write's answer: the checkout, and the session the server priced it
3570
+ * under. Sent back on the finalize that follows, the session is what turns a
3571
+ * second submit of the same cart into a 409 rather than a second charge.
3572
+ */
3573
+ export declare interface CheckoutWrite {
3574
+ checkout: Checkout;
3575
+ sessionId?: string;
3576
+ }
3577
+
1183
3578
  export declare type CheckPlanReturn = {
1184
3579
  id: string;
1185
3580
  name: string;
@@ -1202,6 +3597,116 @@ declare type CheckPlanReturnListenerFn = (value: CheckPlanReturn) => void;
1202
3597
  */
1203
3598
  export declare type Company = CompanyContextResponseData;
1204
3599
 
3600
+ /**
3601
+ *
3602
+ * @export
3603
+ * @interface CompanyCatalogResponseData
3604
+ */
3605
+ declare interface CompanyCatalogResponseData {
3606
+ /**
3607
+ *
3608
+ * @type {Array<CatalogCompanyPlanResponseData>}
3609
+ * @memberof CompanyCatalogResponseData
3610
+ */
3611
+ addOns: Array<CatalogCompanyPlanResponseData>;
3612
+ /**
3613
+ *
3614
+ * @type {CatalogCapabilitiesResponseData}
3615
+ * @memberof CompanyCatalogResponseData
3616
+ */
3617
+ capabilities: CatalogCapabilitiesResponseData;
3618
+ /**
3619
+ *
3620
+ * @type {CatalogCheckoutSettingsResponseData}
3621
+ * @memberof CompanyCatalogResponseData
3622
+ */
3623
+ checkoutSettings: CatalogCheckoutSettingsResponseData;
3624
+ /**
3625
+ *
3626
+ * @type {Array<CatalogCreditBundleResponseData>}
3627
+ * @memberof CompanyCatalogResponseData
3628
+ */
3629
+ creditBundles: Array<CatalogCreditBundleResponseData>;
3630
+ /**
3631
+ * Present when the catalog offers a custom plan; absent when custom plans are hidden.
3632
+ * @type {CatalogCustomPlanCTAResponseData}
3633
+ * @memberof CompanyCatalogResponseData
3634
+ */
3635
+ customPlanCta?: CatalogCustomPlanCTAResponseData;
3636
+ /**
3637
+ * ISO 4217 currency of every top-level price slot; currency_prices carries the others.
3638
+ * @type {Currency}
3639
+ * @memberof CompanyCatalogResponseData
3640
+ */
3641
+ defaultCurrency: Currency;
3642
+ /**
3643
+ *
3644
+ * @type {string}
3645
+ * @memberof CompanyCatalogResponseData
3646
+ */
3647
+ description?: string | null;
3648
+ /**
3649
+ *
3650
+ * @type {string}
3651
+ * @memberof CompanyCatalogResponseData
3652
+ */
3653
+ id: string;
3654
+ /**
3655
+ *
3656
+ * @type {string}
3657
+ * @memberof CompanyCatalogResponseData
3658
+ */
3659
+ name: string;
3660
+ /**
3661
+ *
3662
+ * @type {Array<CatalogCompanyPlanResponseData>}
3663
+ * @memberof CompanyCatalogResponseData
3664
+ */
3665
+ plans: Array<CatalogCompanyPlanResponseData>;
3666
+ /**
3667
+ *
3668
+ * @type {boolean}
3669
+ * @memberof CompanyCatalogResponseData
3670
+ */
3671
+ preventSelfServiceDowngrade: boolean;
3672
+ /**
3673
+ *
3674
+ * @type {string}
3675
+ * @memberof CompanyCatalogResponseData
3676
+ */
3677
+ preventSelfServiceDowngradeButtonText?: string | null;
3678
+ /**
3679
+ *
3680
+ * @type {string}
3681
+ * @memberof CompanyCatalogResponseData
3682
+ */
3683
+ preventSelfServiceDowngradeUrl?: string | null;
3684
+ /**
3685
+ *
3686
+ * @type {string}
3687
+ * @memberof CompanyCatalogResponseData
3688
+ */
3689
+ pricingModel?: string | null;
3690
+ /**
3691
+ *
3692
+ * @type {string}
3693
+ * @memberof CompanyCatalogResponseData
3694
+ */
3695
+ pricingUrl?: string | null;
3696
+ /**
3697
+ * The plan a trialing company lands on when its trial ends, when configured and offered by this catalog. Catalog configuration, surfaced here so the trial notice can render before any plan change.
3698
+ * @type {CatalogPlanRefResponseData}
3699
+ * @memberof CompanyCatalogResponseData
3700
+ */
3701
+ trialExpiryPlan?: CatalogPlanRefResponseData;
3702
+ /**
3703
+ * Whether starting a trial requires a payment method; a null value means required.
3704
+ * @type {boolean}
3705
+ * @memberof CompanyCatalogResponseData
3706
+ */
3707
+ trialPaymentMethodRequired?: boolean | null;
3708
+ }
3709
+
1205
3710
  /**
1206
3711
  *
1207
3712
  * @export
@@ -1504,6 +4009,18 @@ declare interface CompanyCreditAutoTopupResponseData {
1504
4009
  * @interface CompanyCreditBalance
1505
4010
  */
1506
4011
  export declare interface CompanyCreditBalance {
4012
+ /**
4013
+ * For a postpaid credit, how far below zero the balance may run. Absent when the credit is not postpaid or postpaid has no limit
4014
+ * @type {number}
4015
+ * @memberof CompanyCreditBalance
4016
+ */
4017
+ overdraftLimit?: number | null;
4018
+ /**
4019
+ * Whether consumption may continue past a zero balance. When true and overdraft_limit is absent, the balance has no floor
4020
+ * @type {boolean}
4021
+ * @memberof CompanyCreditBalance
4022
+ */
4023
+ postpaid: boolean;
1507
4024
  /**
1508
4025
  * Remaining credit, excluding any open lease hold (the value SDKs gate on)
1509
4026
  * @type {number}
@@ -2336,8 +4853,68 @@ declare interface CompanyPaymentMethodResponseData {
2336
4853
  /** A plan or add-on the company holds, at the price it is billed. */
2337
4854
  export declare type CompanyPlan = CompanyContextPlanResponseData;
2338
4855
 
4856
+ /**
4857
+ *
4858
+ * @export
4859
+ */
4860
+ declare const CompanyPlanInvalidReason: {
4861
+ readonly DowngradeNotPermitted: "downgrade_not_permitted";
4862
+ readonly FeatureUsageExceeded: "feature_usage_exceeded";
4863
+ };
4864
+
4865
+ declare type CompanyPlanInvalidReason = (typeof CompanyPlanInvalidReason)[keyof typeof CompanyPlanInvalidReason];
4866
+
2339
4867
  export declare type CompanySubscription = CompanyContextSubscriptionResponseData;
2340
4868
 
4869
+ /**
4870
+ * Schematic API
4871
+ * Schematic API
4872
+ *
4873
+ * The version of the OpenAPI document: 0.1
4874
+ *
4875
+ *
4876
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
4877
+ * https://openapi-generator.tech
4878
+ * Do not edit the class manually.
4879
+ */
4880
+ /**
4881
+ *
4882
+ * @export
4883
+ * @interface CompanyTaxIDView
4884
+ */
4885
+ declare interface CompanyTaxIDView {
4886
+ /**
4887
+ *
4888
+ * @type {string}
4889
+ * @memberof CompanyTaxIDView
4890
+ */
4891
+ country: string;
4892
+ /**
4893
+ *
4894
+ * @type {string}
4895
+ * @memberof CompanyTaxIDView
4896
+ */
4897
+ id: string;
4898
+ /**
4899
+ *
4900
+ * @type {string}
4901
+ * @memberof CompanyTaxIDView
4902
+ */
4903
+ type: string;
4904
+ /**
4905
+ *
4906
+ * @type {string}
4907
+ * @memberof CompanyTaxIDView
4908
+ */
4909
+ value: string;
4910
+ /**
4911
+ *
4912
+ * @type {string}
4913
+ * @memberof CompanyTaxIDView
4914
+ */
4915
+ verificationStatus?: string | null;
4916
+ }
4917
+
2341
4918
  /**
2342
4919
  *
2343
4920
  * @export
@@ -2541,6 +5118,12 @@ export declare type CreditSpendPolicy = {
2541
5118
  * @interface CreditSpendPolicy
2542
5119
  */
2543
5120
  declare interface CreditSpendPolicy_2 {
5121
+ /**
5122
+ * For a user policy, the company it applies in
5123
+ * @type {string}
5124
+ * @memberof CreditSpendPolicy
5125
+ */
5126
+ companyId?: string | null;
2544
5127
  /**
2545
5128
  * How much of the limit is already spent in the current period
2546
5129
  * @type {number}
@@ -2862,6 +5445,8 @@ declare interface DatastreamCompanyPlan {
2862
5445
 
2863
5446
  declare function DatastreamCompanyPlanFromJSON(json: any): DatastreamCompanyPlan;
2864
5447
 
5448
+ export declare const DEFAULT_CATALOG_QUERY: CatalogQuery;
5449
+
2865
5450
  export declare const DEFAULT_INVOICE_QUERY: InvoiceQuery;
2866
5451
 
2867
5452
  export declare type Discount = CompanyDiscountResponseData;
@@ -2888,6 +5473,7 @@ declare type EntitlementPriceBehavior = (typeof EntitlementPriceBehavior)[keyof
2888
5473
  */
2889
5474
  declare const EntitlementType: {
2890
5475
  readonly CompanyOverride: "company_override";
5476
+ readonly PlanCreditGrant: "plan_credit_grant";
2891
5477
  readonly PlanEntitlement: "plan_entitlement";
2892
5478
  readonly Unknown: "unknown";
2893
5479
  };
@@ -3345,6 +5931,12 @@ declare const MetricPeriodMonthReset_2: {
3345
5931
 
3346
5932
  declare type MetricPeriodMonthReset_2 = (typeof MetricPeriodMonthReset_2)[keyof typeof MetricPeriodMonthReset_2];
3347
5933
 
5934
+ /** As `normalizeInvoiceQuery`: only the catalog id keys a catalog. */
5935
+ export declare function normalizeCatalogQuery(query: CatalogQuery): CatalogQuery;
5936
+
5937
+ /** As for invoices: `{ catalogId: undefined }` is the same resource as `{}`. */
5938
+ declare function normalizeCatalogQuery_2(query: CatalogQuery): CatalogQuery;
5939
+
3348
5940
  /**
3349
5941
  * Keeps only the fields the request reads. The store keys a row set by the
3350
5942
  * query's shape, so a field the API never sees would key a row set of its
@@ -3407,9 +5999,48 @@ declare type PlanCreditGrantScaling = (typeof PlanCreditGrantScaling)[keyof type
3407
5999
 
3408
6000
  declare type PlanListenerFn = CheckPlanReturnListenerFn | EmptyListenerFn;
3409
6001
 
6002
+ /**
6003
+ *
6004
+ * @export
6005
+ */
6006
+ declare const PlanPriceCadence: {
6007
+ readonly Monthly: "monthly";
6008
+ readonly Quarterly: "quarterly";
6009
+ readonly Yearly: "yearly";
6010
+ };
6011
+
6012
+ declare type PlanPriceCadence = (typeof PlanPriceCadence)[keyof typeof PlanPriceCadence];
6013
+
6014
+ /**
6015
+ *
6016
+ * @export
6017
+ */
6018
+ declare const ProrationBehavior: {
6019
+ readonly CreateProrations: "create_prorations";
6020
+ readonly InvoiceImmediately: "invoice_immediately";
6021
+ };
6022
+
6023
+ declare type ProrationBehavior = (typeof ProrationBehavior)[keyof typeof ProrationBehavior];
6024
+
6025
+ /**
6026
+ *
6027
+ * @export
6028
+ */
6029
+ declare const ProrationLineKind: {
6030
+ readonly Charge: "charge";
6031
+ readonly Credit: "credit";
6032
+ };
6033
+
6034
+ declare type ProrationLineKind = (typeof ProrationLineKind)[keyof typeof ProrationLineKind];
6035
+
3410
6036
  declare interface RequestOptions {
3411
6037
  method?: string;
3412
6038
  body?: unknown;
6039
+ /**
6040
+ * Sent beside the client's own. The credential is the session's and cannot
6041
+ * be replaced from here.
6042
+ */
6043
+ headers?: Record<string, string>;
3413
6044
  /**
3414
6045
  * Success statuses that carry no body — a 204 for a resource that is
3415
6046
  * legitimately absent. The request resolves `undefined` for them, which
@@ -3468,6 +6099,17 @@ declare type RuleType_2 = (typeof RuleType_2)[keyof typeof RuleType_2];
3468
6099
 
3469
6100
  export declare type ScheduledDowngrade = CompanyContextScheduledDowngradeResponseData;
3470
6101
 
6102
+ /**
6103
+ *
6104
+ * @export
6105
+ */
6106
+ declare const ScheduledDowngradeConfigBehavior: {
6107
+ readonly EndOfBillingPeriod: "end_of_billing_period";
6108
+ readonly None: "none";
6109
+ };
6110
+
6111
+ declare type ScheduledDowngradeConfigBehavior = (typeof ScheduledDowngradeConfigBehavior)[keyof typeof ScheduledDowngradeConfigBehavior];
6112
+
3471
6113
  export declare class Schematic {
3472
6114
  private _additionalHeaders;
3473
6115
  private apiKey;
@@ -3774,6 +6416,14 @@ declare class SchematicBillingClient implements BillingClient {
3774
6416
  get sessionStatus(): SessionStatus;
3775
6417
  setSession(session: SessionInput): void;
3776
6418
  onSessionChange(listener: (event: SessionEvent) => void): () => void;
6419
+ fetchCatalog(query?: CatalogQuery): Promise<Catalog>;
6420
+ createCheckout(selections: CheckoutSelections): Promise<CheckoutWrite>;
6421
+ getCheckout(id: string): Promise<Checkout>;
6422
+ updateCheckout(id: string, version: number, selections: CheckoutSelections): Promise<CheckoutWrite>;
6423
+ finalizeCheckout(id: string, version: number, options?: {
6424
+ sessionId?: string;
6425
+ }): Promise<CheckoutResult>;
6426
+ private checkoutWrite;
3777
6427
  fetchInvoices(params: InvoicesRequest): Promise<InvoicesResult>;
3778
6428
  fetchUpcomingInvoice(): Promise<UpcomingInvoice | null>;
3779
6429
  fetchPaymentMethods(): Promise<PaymentMethod[]>;
@@ -3781,6 +6431,8 @@ declare class SchematicBillingClient implements BillingClient {
3781
6431
  updatePaymentMethod(externalId: string): Promise<void>;
3782
6432
  deletePaymentMethod(id: string): Promise<void>;
3783
6433
  cancelSubscription(): Promise<void>;
6434
+ fetchTaxIds(): Promise<TaxId[]>;
6435
+ updateTaxId(taxId: TaxIdInput): Promise<TaxId[]>;
3784
6436
  fetchFeatureUsage(): Promise<FeatureUsage[]>;
3785
6437
  fetchCompany(): Promise<Company>;
3786
6438
  fetchCreditBalances(): Promise<CreditBalanceEntry[]>;
@@ -3849,9 +6501,12 @@ declare namespace SchematicJS {
3849
6501
  export {
3850
6502
  CheckFlagResponseFromJSON,
3851
6503
  CheckFlagsResponseFromJSON,
6504
+ checkoutProblemsOf,
6505
+ checkoutSelectionsToJSON,
3852
6506
  DatastreamCompanyPlanFromJSON,
3853
6507
  EventBodyFlagCheckToJSON,
3854
6508
  fetchBillingData,
6509
+ normalizeCatalogQuery_2 as normalizeCatalogQuery,
3855
6510
  normalizeInvoiceQuery_2 as normalizeInvoiceQuery,
3856
6511
  sessionKey,
3857
6512
  AccessToken,
@@ -3866,18 +6521,52 @@ declare namespace SchematicJS {
3866
6521
  BillingResourceParams_2 as BillingResourceParams,
3867
6522
  BillingResources_2 as BillingResources,
3868
6523
  BooleanListenerFn,
6524
+ Catalog,
6525
+ CatalogAutoTopup,
6526
+ CatalogAutoTopupResponseData,
6527
+ CatalogBundleCurrencyPriceResponseData,
6528
+ CatalogCheckoutField,
6529
+ CatalogCheckoutFieldResponseData,
6530
+ CatalogCheckoutSettingsResponseData,
6531
+ CatalogCompanyPlanResponseData,
6532
+ CatalogCreditBundle,
6533
+ CatalogCreditBundleResponseData,
3869
6534
  CatalogCreditGrantResponseData,
6535
+ CatalogCurrencyPricesResponseData,
6536
+ CatalogEntitlement,
6537
+ CatalogPlan,
6538
+ CatalogPlanEntitlementResponseData,
3870
6539
  CatalogPriceResponseData,
3871
6540
  CatalogPriceTierResponseData,
6541
+ CatalogQuery,
3872
6542
  CheckFlagResponseData,
3873
6543
  CheckFlagReturn,
3874
6544
  CheckFlagReturnFromJSON,
3875
6545
  CheckFlagReturnListenerFn,
3876
6546
  CheckOptions,
6547
+ Checkout,
6548
+ CHECKOUT_SESSION_HEADER,
6549
+ CheckoutDraft,
6550
+ CheckoutDraftOptions,
6551
+ CheckoutDraftResponseData,
6552
+ CheckoutDraftState,
6553
+ CheckoutIntent,
6554
+ CheckoutPriceSnapshot,
6555
+ CheckoutProblem,
6556
+ CheckoutProblemCode,
6557
+ CheckoutProblemResponseData,
6558
+ CheckoutProblemSource,
6559
+ CheckoutResponseData,
6560
+ CheckoutResult,
6561
+ CheckoutSelections,
6562
+ CheckoutStatus,
6563
+ CheckoutTransport,
6564
+ CheckoutWrite,
3877
6565
  CheckPlanReturn,
3878
6566
  CheckPlanReturnFromJSON,
3879
6567
  CheckPlanReturnListenerFn,
3880
6568
  Company,
6569
+ CompanyCatalogResponseData,
3881
6570
  CompanyContextCustomPlanBillingResponseData,
3882
6571
  CompanyContextPlanResponseData,
3883
6572
  CompanyContextResponseData,
@@ -3897,6 +6586,7 @@ declare namespace SchematicJS {
3897
6586
  CompanyPaymentMethodResponseData,
3898
6587
  CompanyPlan,
3899
6588
  CompanySubscription,
6589
+ CompanyTaxIDView,
3900
6590
  CompanyUpcomingInvoiceResponseData,
3901
6591
  CompanyUserUsageResponseData,
3902
6592
  ContextSignatureProvider,
@@ -3921,6 +6611,7 @@ declare namespace SchematicJS {
3921
6611
  CreditUserUsage,
3922
6612
  CreditUserUsageRow,
3923
6613
  CustomPlanBilling,
6614
+ DEFAULT_CATALOG_QUERY,
3924
6615
  DEFAULT_INVOICE_QUERY,
3925
6616
  Discount,
3926
6617
  EmptyListenerFn,
@@ -3967,6 +6658,10 @@ declare namespace SchematicJS {
3967
6658
  SetupIntentResponseData,
3968
6659
  SINGLETON,
3969
6660
  StoragePersister,
6661
+ TaxId,
6662
+ TaxIDInput,
6663
+ TaxIdInput,
6664
+ TaxIdType,
3970
6665
  TOKEN_CACHE_SIZE,
3971
6666
  Traits,
3972
6667
  TrialStatus,
@@ -4098,6 +6793,14 @@ declare class SchematicSession {
4098
6793
  * otherwise come back as the answer to a question asked for another pair.
4099
6794
  */
4100
6795
  request(path: string, options?: RequestOptions): Promise<unknown>;
6796
+ /**
6797
+ * `request`, with the headers the answer came back with — for a resource
6798
+ * whose protocol rides beside the body, as a checkout's session does.
6799
+ */
6800
+ requestWithResponse(path: string, options?: RequestOptions): Promise<{
6801
+ body: unknown;
6802
+ headers: Headers;
6803
+ }>;
4101
6804
  }
4102
6805
 
4103
6806
  /**
@@ -4220,6 +6923,89 @@ export declare type StoragePersister = {
4220
6923
  /** Copy overrides by key. Keys are the element package's `StringKey`s. */
4221
6924
  export declare type StringOverrides = Record<string, string | undefined>;
4222
6925
 
6926
+ /** One tax ID on file, as the provider verified it. */
6927
+ export declare type TaxId = CompanyTaxIDView;
6928
+
6929
+ /**
6930
+ *
6931
+ * @export
6932
+ * @interface TaxIDInput
6933
+ */
6934
+ declare interface TaxIDInput {
6935
+ /**
6936
+ *
6937
+ * @type {TaxIdType}
6938
+ * @memberof TaxIDInput
6939
+ */
6940
+ type: TaxIdType;
6941
+ /**
6942
+ *
6943
+ * @type {string}
6944
+ * @memberof TaxIDInput
6945
+ */
6946
+ value: string;
6947
+ }
6948
+
6949
+ /** A tax ID to set: its provider type (`eu_vat`, `us_ein`, …) and value. */
6950
+ export declare type TaxIdInput = TaxIDInput;
6951
+
6952
+ export declare interface TaxIdsHandle extends ResourceHandle<TaxId[]> {
6953
+ /**
6954
+ * Sets the company's tax ID; `data` holds what is on file once it has.
6955
+ * Rejects with the failure and records it on `mutationError`.
6956
+ */
6957
+ update: (taxId: TaxIdInput) => Promise<void>;
6958
+ isMutating: boolean;
6959
+ mutationError: Error | undefined;
6960
+ }
6961
+
6962
+ /**
6963
+ *
6964
+ * @export
6965
+ */
6966
+ declare const TaxIdType: {
6967
+ readonly AeTrn: "ae_trn";
6968
+ readonly AuAbn: "au_abn";
6969
+ readonly AuArn: "au_arn";
6970
+ readonly BrCnpj: "br_cnpj";
6971
+ readonly BrCpf: "br_cpf";
6972
+ readonly CaBn: "ca_bn";
6973
+ readonly CaGstHst: "ca_gst_hst";
6974
+ readonly CaPstBc: "ca_pst_bc";
6975
+ readonly CaPstMb: "ca_pst_mb";
6976
+ readonly CaPstSk: "ca_pst_sk";
6977
+ readonly CaQst: "ca_qst";
6978
+ readonly ChUid: "ch_uid";
6979
+ readonly ChVat: "ch_vat";
6980
+ readonly EuVat: "eu_vat";
6981
+ readonly GbVat: "gb_vat";
6982
+ readonly HkBr: "hk_br";
6983
+ readonly IdNpwp: "id_npwp";
6984
+ readonly IlVat: "il_vat";
6985
+ readonly InGst: "in_gst";
6986
+ readonly JpCn: "jp_cn";
6987
+ readonly JpRn: "jp_rn";
6988
+ readonly JpTrn: "jp_trn";
6989
+ readonly KrBrn: "kr_brn";
6990
+ readonly MxRfc: "mx_rfc";
6991
+ readonly MyFrp: "my_frp";
6992
+ readonly MyItn: "my_itn";
6993
+ readonly MySst: "my_sst";
6994
+ readonly NoVat: "no_vat";
6995
+ readonly NzGst: "nz_gst";
6996
+ readonly PhTin: "ph_tin";
6997
+ readonly SaVat: "sa_vat";
6998
+ readonly SgGst: "sg_gst";
6999
+ readonly SgUen: "sg_uen";
7000
+ readonly ThVat: "th_vat";
7001
+ readonly TrTin: "tr_tin";
7002
+ readonly TwVat: "tw_vat";
7003
+ readonly UsEin: "us_ein";
7004
+ readonly ZaVat: "za_vat";
7005
+ };
7006
+
7007
+ declare type TaxIdType = (typeof TaxIdType)[keyof typeof TaxIdType];
7008
+
4223
7009
  /**
4224
7010
  * Sessions whose credentials are kept. A reader switching between the
4225
7011
  * organizations they belong to walks a handful of them and comes back, and
@@ -4282,6 +7068,142 @@ export declare interface UnsubscribeHandle {
4282
7068
 
4283
7069
  export declare type UpcomingInvoice = CompanyUpcomingInvoiceResponseData;
4284
7070
 
7071
+ /**
7072
+ * Schematic API
7073
+ * Schematic API
7074
+ *
7075
+ * The version of the OpenAPI document: 0.1
7076
+ *
7077
+ *
7078
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7079
+ * https://openapi-generator.tech
7080
+ * Do not edit the class manually.
7081
+ */
7082
+ /**
7083
+ *
7084
+ * @export
7085
+ * @interface UpdateAddOnRequestBody
7086
+ */
7087
+ declare interface UpdateAddOnRequestBody {
7088
+ /**
7089
+ *
7090
+ * @type {string}
7091
+ * @memberof UpdateAddOnRequestBody
7092
+ */
7093
+ addOnId: string;
7094
+ /**
7095
+ *
7096
+ * @type {string}
7097
+ * @memberof UpdateAddOnRequestBody
7098
+ */
7099
+ priceId: string;
7100
+ }
7101
+
7102
+ /**
7103
+ * Schematic API
7104
+ * Schematic API
7105
+ *
7106
+ * The version of the OpenAPI document: 0.1
7107
+ *
7108
+ *
7109
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7110
+ * https://openapi-generator.tech
7111
+ * Do not edit the class manually.
7112
+ */
7113
+ /**
7114
+ *
7115
+ * @export
7116
+ * @interface UpdateAutoTopupOverrideRequestBody
7117
+ */
7118
+ declare interface UpdateAutoTopupOverrideRequestBody {
7119
+ /**
7120
+ *
7121
+ * @type {number}
7122
+ * @memberof UpdateAutoTopupOverrideRequestBody
7123
+ */
7124
+ autoTopupAmount?: number | null;
7125
+ /**
7126
+ *
7127
+ * @type {boolean}
7128
+ * @memberof UpdateAutoTopupOverrideRequestBody
7129
+ */
7130
+ autoTopupEnabled?: boolean | null;
7131
+ /**
7132
+ *
7133
+ * @type {number}
7134
+ * @memberof UpdateAutoTopupOverrideRequestBody
7135
+ */
7136
+ autoTopupThresholdCredits?: number | null;
7137
+ /**
7138
+ *
7139
+ * @type {string}
7140
+ * @memberof UpdateAutoTopupOverrideRequestBody
7141
+ */
7142
+ planCreditGrantId: string;
7143
+ }
7144
+
7145
+ /**
7146
+ * Schematic API
7147
+ * Schematic API
7148
+ *
7149
+ * The version of the OpenAPI document: 0.1
7150
+ *
7151
+ *
7152
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7153
+ * https://openapi-generator.tech
7154
+ * Do not edit the class manually.
7155
+ */
7156
+ /**
7157
+ *
7158
+ * @export
7159
+ * @interface UpdateCreditBundleRequestBody
7160
+ */
7161
+ declare interface UpdateCreditBundleRequestBody {
7162
+ /**
7163
+ *
7164
+ * @type {string}
7165
+ * @memberof UpdateCreditBundleRequestBody
7166
+ */
7167
+ bundleId: string;
7168
+ /**
7169
+ *
7170
+ * @type {number}
7171
+ * @memberof UpdateCreditBundleRequestBody
7172
+ */
7173
+ quantity: number;
7174
+ }
7175
+
7176
+ /**
7177
+ * Schematic API
7178
+ * Schematic API
7179
+ *
7180
+ * The version of the OpenAPI document: 0.1
7181
+ *
7182
+ *
7183
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7184
+ * https://openapi-generator.tech
7185
+ * Do not edit the class manually.
7186
+ */
7187
+ /**
7188
+ *
7189
+ * @export
7190
+ * @interface UpdatePayInAdvanceRequestBody
7191
+ */
7192
+ declare interface UpdatePayInAdvanceRequestBody {
7193
+ /**
7194
+ *
7195
+ * @type {string}
7196
+ * @memberof UpdatePayInAdvanceRequestBody
7197
+ */
7198
+ priceId: string;
7199
+ /**
7200
+ *
7201
+ * @type {number}
7202
+ * @memberof UpdatePayInAdvanceRequestBody
7203
+ */
7204
+ quantity: number;
7205
+ }
7206
+
4285
7207
  export declare enum UsagePeriod {
4286
7208
  ALL_TIME = "all_time",
4287
7209
  CURRENT_DAY = "current_day",
@@ -4291,6 +7213,27 @@ export declare enum UsagePeriod {
4291
7213
 
4292
7214
  export declare function useBillingDataSource(): BillingDataSource;
4293
7215
 
7216
+ /**
7217
+ * The catalog as the session's company sees it: what it can buy, and how it
7218
+ * stands against each plan and add-on. Without a `catalogId`, the catalog the
7219
+ * environment sells; an inline object literal is fine, the hook keys by value.
7220
+ */
7221
+ export declare function useCatalog(query?: CatalogQuery): ResourceHandle<Catalog>;
7222
+
7223
+ /**
7224
+ * A persisted checkout: the first `setSelections` opens it, each later one
7225
+ * replaces the cart and re-prices it, and `finalize` charges it. The server
7226
+ * has no notion of steps, and neither does this: a component sequences its
7227
+ * own and hands over the whole cart each time it changes. One checkout per
7228
+ * component that calls this; the session changing drops it.
7229
+ */
7230
+ export declare function useCheckout(options?: UseCheckoutOptions): CheckoutHandle;
7231
+
7232
+ export declare interface UseCheckoutOptions {
7233
+ /** Resume this checkout rather than opening one on the first write. */
7234
+ checkoutId?: string;
7235
+ }
7236
+
4294
7237
  /**
4295
7238
  * The company's plan and add-ons at their billed prices, its subscription,
4296
7239
  * any scheduled downgrade and any pending custom plan billing. `undefined`
@@ -4413,6 +7356,12 @@ export declare function useSchematicTranslate(): Translate | undefined;
4413
7356
  */
4414
7357
  export declare function useSetupIntent(): SetupIntentHandle;
4415
7358
 
7359
+ /**
7360
+ * The tax IDs on the company's billing customer, with the write that sets
7361
+ * one. `data` is empty when there are none; `undefined` means not loaded.
7362
+ */
7363
+ export declare function useTaxIds(): TaxIdsHandle;
7364
+
4416
7365
  /**
4417
7366
  * Cancels the company's subscription. Subscribes to no resource: read the
4418
7367
  * subscription's state from `useCompany`, which reloads once this lands.