@carlonicora/nextjs-jsonapi 5.5.0 → 5.6.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.
Files changed (152) hide show
  1. package/dist/{BlockNoteEditor-THBJH2UR.js → BlockNoteEditor-AE3ZTEEH.js} +19 -19
  2. package/dist/{BlockNoteEditor-THBJH2UR.js.map → BlockNoteEditor-AE3ZTEEH.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-GVQCKRMU.mjs → BlockNoteEditor-NEYG5L6W.mjs} +4 -4
  4. package/dist/{BlockNoteViewer-U6E3DS4F.mjs → BlockNoteViewer-3OUT5UFY.mjs} +2 -2
  5. package/dist/{BlockNoteViewer-VZOVKTFO.js → BlockNoteViewer-4CFKQM7U.js} +3 -3
  6. package/dist/{BlockNoteViewer-VZOVKTFO.js.map → BlockNoteViewer-4CFKQM7U.js.map} +1 -1
  7. package/dist/billing/index.d.mts +186 -25
  8. package/dist/billing/index.d.ts +186 -25
  9. package/dist/billing/index.js +1148 -587
  10. package/dist/billing/index.js.map +1 -1
  11. package/dist/billing/index.mjs +785 -224
  12. package/dist/billing/index.mjs.map +1 -1
  13. package/dist/{chunk-WPYT4UKJ.js → chunk-3I5AAJXV.js} +3 -3
  14. package/dist/{chunk-WPYT4UKJ.js.map → chunk-3I5AAJXV.js.map} +1 -1
  15. package/dist/{chunk-YDYVJM4I.js → chunk-53BAULDP.js} +4 -4
  16. package/dist/{chunk-YDYVJM4I.js.map → chunk-53BAULDP.js.map} +1 -1
  17. package/dist/{chunk-3CGROPF3.mjs → chunk-BTPUYUQ3.mjs} +2 -2
  18. package/dist/{chunk-VC5A3AUZ.mjs → chunk-EYA2F6AN.mjs} +696 -4
  19. package/dist/chunk-EYA2F6AN.mjs.map +1 -0
  20. package/dist/{chunk-G6UE6MEP.js → chunk-HKZAESS6.js} +896 -204
  21. package/dist/chunk-HKZAESS6.js.map +1 -0
  22. package/dist/{chunk-W7F5BDSV.mjs → chunk-KQHBONL4.mjs} +2 -2
  23. package/dist/{chunk-TY5FYP3G.js → chunk-LQ4DK4JF.js} +1919 -1056
  24. package/dist/chunk-LQ4DK4JF.js.map +1 -0
  25. package/dist/{chunk-S4YJ5WCW.js → chunk-RL3PL3KV.js} +8 -8
  26. package/dist/{chunk-S4YJ5WCW.js.map → chunk-RL3PL3KV.js.map} +1 -1
  27. package/dist/{chunk-X5WIUUNG.mjs → chunk-SFYPXCK4.mjs} +3237 -2374
  28. package/dist/chunk-SFYPXCK4.mjs.map +1 -0
  29. package/dist/{chunk-6SQYXUVP.mjs → chunk-Y7RR57EW.mjs} +2 -2
  30. package/dist/client/index.js +4 -4
  31. package/dist/client/index.mjs +3 -3
  32. package/dist/components/index.js +4 -4
  33. package/dist/components/index.mjs +3 -3
  34. package/dist/contexts/index.js +4 -4
  35. package/dist/contexts/index.mjs +3 -3
  36. package/dist/core/index.d.mts +242 -3
  37. package/dist/core/index.d.ts +242 -3
  38. package/dist/core/index.js +34 -2
  39. package/dist/core/index.js.map +1 -1
  40. package/dist/core/index.mjs +33 -1
  41. package/dist/email-automations/index.js +92 -92
  42. package/dist/email-automations/index.mjs +3 -3
  43. package/dist/features/analytics/index.js +121 -121
  44. package/dist/features/analytics/index.mjs +4 -4
  45. package/dist/features/analytics/server.js +4 -4
  46. package/dist/features/analytics/server.mjs +2 -2
  47. package/dist/features/blog/index.js +150 -150
  48. package/dist/features/blog/index.mjs +3 -3
  49. package/dist/features/blog/server.js +16 -16
  50. package/dist/features/blog/server.mjs +1 -1
  51. package/dist/features/help/index.js +37 -37
  52. package/dist/features/help/index.mjs +3 -3
  53. package/dist/features/tokenusage/index.js +124 -124
  54. package/dist/features/tokenusage/index.mjs +4 -4
  55. package/dist/{stripe-promotion-code.interface-C3qqh3mi.d.ts → format-options-BtX3o0Yu.d.ts} +104 -1
  56. package/dist/{stripe-promotion-code.interface-ClZ7DxS9.d.mts → format-options-D6c7FNDi.d.mts} +104 -1
  57. package/dist/index.d.mts +2 -2
  58. package/dist/index.d.ts +2 -2
  59. package/dist/index.js +35 -3
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.mjs +34 -2
  62. package/dist/server/index.js +3 -3
  63. package/dist/server/index.mjs +2 -2
  64. package/messages/en.json +125 -3
  65. package/messages/it.json +125 -3
  66. package/package.json +1 -1
  67. package/scripts/validate-messages.mjs +1 -0
  68. package/src/billing/index.ts +1 -0
  69. package/src/client/index.ts +4 -0
  70. package/src/core/index.ts +1 -0
  71. package/src/core/registry/ModuleRegistry.ts +3 -0
  72. package/src/features/billing/components/cards/InvoicesSummaryCard.tsx +3 -2
  73. package/src/features/billing/components/cards/SubscriptionSummaryCard.tsx +4 -3
  74. package/src/features/billing/components/containers/BillingDashboardContainer.tsx +22 -5
  75. package/src/features/billing/components/utils/__tests__/discount.spec.ts +59 -0
  76. package/src/features/billing/components/utils/__tests__/url.spec.ts +32 -0
  77. package/src/features/billing/components/utils/discount.ts +38 -0
  78. package/src/features/billing/components/utils/index.ts +2 -0
  79. package/src/features/billing/components/utils/url.ts +12 -0
  80. package/src/features/billing/contexts/CouponContext.tsx +211 -0
  81. package/src/features/billing/contexts/index.ts +1 -0
  82. package/src/features/billing/i18n-keys.ts +79 -0
  83. package/src/features/billing/stripe-coupon/components/containers/CouponContainer.tsx +38 -0
  84. package/src/features/billing/stripe-coupon/components/containers/index.ts +1 -0
  85. package/src/features/billing/stripe-coupon/components/details/CouponDetails.tsx +69 -0
  86. package/src/features/billing/stripe-coupon/components/details/index.ts +1 -0
  87. package/src/features/billing/stripe-coupon/components/forms/CouponCodeEditor.tsx +79 -0
  88. package/src/features/billing/stripe-coupon/components/forms/CouponCodeFields.tsx +192 -0
  89. package/src/features/billing/stripe-coupon/components/forms/CouponEditor.tsx +333 -0
  90. package/src/features/billing/stripe-coupon/components/forms/CouponRefresher.tsx +45 -0
  91. package/src/features/billing/stripe-coupon/components/forms/index.ts +6 -0
  92. package/src/features/billing/stripe-coupon/components/index.ts +5 -0
  93. package/src/features/billing/stripe-coupon/components/lists/CouponCodesList.tsx +61 -0
  94. package/src/features/billing/stripe-coupon/components/lists/CouponsList.tsx +67 -0
  95. package/src/features/billing/stripe-coupon/components/lists/index.ts +2 -0
  96. package/src/features/billing/stripe-coupon/components/widgets/CouponCodeActions.tsx +80 -0
  97. package/src/features/billing/stripe-coupon/components/widgets/index.ts +1 -0
  98. package/src/features/billing/stripe-coupon/data/__tests__/stripe-coupon-models.spec.ts +114 -0
  99. package/src/features/billing/stripe-coupon/data/index.ts +10 -0
  100. package/src/features/billing/stripe-coupon/data/stripe-coupon-code.fields.ts +8 -0
  101. package/src/features/billing/stripe-coupon/data/stripe-coupon-code.interface.ts +44 -0
  102. package/src/features/billing/stripe-coupon/data/stripe-coupon-code.service.ts +92 -0
  103. package/src/features/billing/stripe-coupon/data/stripe-coupon-code.ts +132 -0
  104. package/src/features/billing/stripe-coupon/data/stripe-coupon-offer.interface.ts +17 -0
  105. package/src/features/billing/stripe-coupon/data/stripe-coupon-offer.ts +70 -0
  106. package/src/features/billing/stripe-coupon/data/stripe-coupon.fields.ts +7 -0
  107. package/src/features/billing/stripe-coupon/data/stripe-coupon.interface.ts +51 -0
  108. package/src/features/billing/stripe-coupon/data/stripe-coupon.service.ts +93 -0
  109. package/src/features/billing/stripe-coupon/data/stripe-coupon.ts +165 -0
  110. package/src/features/billing/stripe-coupon/hooks/useStripeCouponCodeTableStructure.tsx +154 -0
  111. package/src/features/billing/stripe-coupon/hooks/useStripeCouponTableStructure.tsx +113 -0
  112. package/src/features/billing/stripe-coupon/index.ts +5 -0
  113. package/src/features/billing/stripe-coupon/stripe-coupon-code.module.ts +14 -0
  114. package/src/features/billing/stripe-coupon/stripe-coupon-offer.module.ts +10 -0
  115. package/src/features/billing/stripe-coupon/stripe-coupon.module.ts +18 -0
  116. package/src/features/billing/stripe-coupon/utils/__tests__/coupon-places.spec.ts +19 -0
  117. package/src/features/billing/stripe-coupon/utils/__tests__/to-promotion-code-result.spec.ts +41 -0
  118. package/src/features/billing/stripe-coupon/utils/coupon-places.ts +23 -0
  119. package/src/features/billing/stripe-coupon/utils/format-coupon-discount.ts +36 -0
  120. package/src/features/billing/stripe-coupon/utils/index.ts +3 -0
  121. package/src/features/billing/stripe-coupon/utils/to-promotion-code-result.ts +23 -0
  122. package/src/features/billing/stripe-customer/components/forms/PaymentMethodForm.tsx +24 -8
  123. package/src/features/billing/stripe-product/components/containers/ProductsListContainer.tsx +21 -6
  124. package/src/features/billing/stripe-promotion-code/components/PromoCodeInput.tsx +60 -19
  125. package/src/features/billing/stripe-promotion-code/data/stripe-promotion-code.interface.ts +2 -0
  126. package/src/features/billing/stripe-subscription/components/containers/SubscriptionsContainer.tsx +24 -5
  127. package/src/features/billing/stripe-subscription/components/lists/SubscriptionsList.tsx +21 -2
  128. package/src/features/billing/stripe-subscription/components/wizards/SubscriptionWizard.tsx +1 -1
  129. package/src/features/billing/stripe-subscription/components/wizards/WizardStepPaymentMethod.tsx +1 -1
  130. package/src/features/billing/stripe-subscription/components/wizards/WizardStepReview.tsx +60 -49
  131. package/src/features/billing/stripe-subscription/components/wizards/__tests__/review-card.spec.ts +34 -0
  132. package/src/features/billing/stripe-subscription/components/wizards/review-card.ts +24 -0
  133. package/src/features/billing/stripe-subscription/data/__tests__/stripe-subscription.discount.spec.ts +67 -0
  134. package/src/features/billing/stripe-subscription/data/stripe-subscription.interface.ts +14 -0
  135. package/src/features/billing/stripe-subscription/data/stripe-subscription.service.ts +39 -0
  136. package/src/features/billing/stripe-subscription/data/stripe-subscription.ts +21 -0
  137. package/src/features/billing/stripe-subscription/hooks/__tests__/wizard-payment.spec.ts +48 -0
  138. package/src/features/billing/stripe-subscription/hooks/__tests__/wizard-promotion.spec.ts +132 -0
  139. package/src/features/billing/stripe-subscription/hooks/useSubscriptionWizard.ts +138 -12
  140. package/src/features/billing/stripe-subscription/hooks/wizard-payment.ts +30 -0
  141. package/src/features/billing/stripe-subscription/hooks/wizard-promotion.ts +54 -0
  142. package/src/features/user/contexts/CurrentUserContext.tsx +25 -0
  143. package/src/features/user/contexts/__tests__/CurrentUserContext.spec.tsx +121 -2
  144. package/dist/chunk-G6UE6MEP.js.map +0 -1
  145. package/dist/chunk-TY5FYP3G.js.map +0 -1
  146. package/dist/chunk-VC5A3AUZ.mjs.map +0 -1
  147. package/dist/chunk-X5WIUUNG.mjs.map +0 -1
  148. /package/dist/{BlockNoteEditor-GVQCKRMU.mjs.map → BlockNoteEditor-NEYG5L6W.mjs.map} +0 -0
  149. /package/dist/{BlockNoteViewer-U6E3DS4F.mjs.map → BlockNoteViewer-3OUT5UFY.mjs.map} +0 -0
  150. /package/dist/{chunk-3CGROPF3.mjs.map → chunk-BTPUYUQ3.mjs.map} +0 -0
  151. /package/dist/{chunk-W7F5BDSV.mjs.map → chunk-KQHBONL4.mjs.map} +0 -0
  152. /package/dist/{chunk-6SQYXUVP.mjs.map → chunk-Y7RR57EW.mjs.map} +0 -0
@@ -26,8 +26,8 @@ export { a as AuthQuery } from '../auth.interface-DD4uQv2K.mjs';
26
26
  import { T as TwoFactorChallengeInterface, c as S3Interface, b as S3Input } from '../s3.service-D5zNCEW3.mjs';
27
27
  export { A as AuthService, C as CompanyService, a as ContentService, F as FeatureService, N as NotificationService, P as PushService, R as RoleService, S as S3Service, U as UserService } from '../s3.service-D5zNCEW3.mjs';
28
28
  import { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON, PublicKeyCredentialRequestOptionsJSON, AuthenticationResponseJSON } from '@simplewebauthn/browser';
29
- import { M as MeterInterface, o as MeterSummaryInterface, P as PaymentMethodInterface, S as StripeCustomerInterface, a as StripeInvoiceInterface, j as StripeSubscriptionInterface, I as InvoiceStatus, g as StripeProductInterface, d as StripePriceInterface, h as StripeProductInput, e as PriceRecurring, f as StripePriceInput, i as SubscriptionStatus, k as StripeSubscriptionInput, m as StripeSubscriptionCreateResponse, b as ProrationPreviewInterface, n as StripeUsageInterface, R as ReportUsageInput, U as UsageSummaryInterface, q as PromotionCodeValidationResult } from '../stripe-promotion-code.interface-ClZ7DxS9.mjs';
30
- export { c as ProrationLineItem, l as StripeSubscriptionCreateMeta, p as UsageRecordInterface } from '../stripe-promotion-code.interface-ClZ7DxS9.mjs';
29
+ import { M as MeterInterface, p as MeterSummaryInterface, P as PaymentMethodInterface, S as StripeCustomerInterface, a as StripeInvoiceInterface, k as StripeSubscriptionInterface, I as InvoiceStatus, g as StripeProductInterface, d as StripePriceInterface, h as StripeProductInput, e as PriceRecurring, f as StripePriceInput, i as SubscriptionStatus, j as StripeSubscriptionDiscount, l as StripeSubscriptionInput, n as StripeSubscriptionCreateResponse, b as ProrationPreviewInterface, o as StripeUsageInterface, R as ReportUsageInput, U as UsageSummaryInterface, r as PromotionCodeValidationResult, u as StripeCouponInterface, s as StripeCouponDiscountType, t as StripeCouponDurationType, x as StripeCouponCodeInterface, v as StripeCouponInput, w as StripeCouponRenameInput, y as StripeCouponCodeInput, z as StripeCouponCodeFlagsInput, A as BillingTranslator, B as BillingFormatOptions } from '../format-options-D6c7FNDi.mjs';
30
+ export { c as ProrationLineItem, m as StripeSubscriptionCreateMeta, q as UsageRecordInterface } from '../format-options-D6c7FNDi.mjs';
31
31
  import { M as ModuleInterface, F as FeatureInterface } from '../feature.interface-CXb1-vNq.mjs';
32
32
  import { C as ContentInterface, a as ContentInput, N as NotificationInterface, b as NotificationInput } from '../notification.interface-BB6GPpZY.mjs';
33
33
  import { a as EmailAutomationInterface, E as EmailAutomationInput, f as EmailAutomationTriggerInterface, e as EmailAutomationEnrollmentInterface, c as EmailAutomationStepInterface, b as EmailAutomationStepInput, d as EmailAutomationEnrollmentStatus } from '../email-automation-enrollment.fields-BZvF14qx.mjs';
@@ -286,6 +286,9 @@ interface FoundationModuleDefinitions {
286
286
  StripePrice: ModuleWithPermissions;
287
287
  StripeUsage: ModuleWithPermissions;
288
288
  StripePromotionCode: ModuleWithPermissions;
289
+ StripeCoupon: ModuleWithPermissions;
290
+ StripeCouponCode: ModuleWithPermissions;
291
+ StripeCouponOffer: ModuleWithPermissions;
289
292
  AiConnection: ModuleWithPermissions;
290
293
  OAuth: ModuleWithPermissions;
291
294
  Waitlist: ModuleWithPermissions;
@@ -1645,6 +1648,7 @@ declare class StripeSubscription extends AbstractApiData implements StripeSubscr
1645
1648
  private _trialStart?;
1646
1649
  private _trialEnd?;
1647
1650
  private _price?;
1651
+ private _discount?;
1648
1652
  get stripeSubscriptionId(): string;
1649
1653
  get status(): SubscriptionStatus;
1650
1654
  get currentPeriodStart(): Date;
@@ -1654,6 +1658,7 @@ declare class StripeSubscription extends AbstractApiData implements StripeSubscr
1654
1658
  get trialStart(): Date | undefined;
1655
1659
  get trialEnd(): Date | undefined;
1656
1660
  get price(): StripePriceInterface | undefined;
1661
+ get discount(): StripeSubscriptionDiscount | undefined;
1657
1662
  rehydrate(data: JsonApiHydratedDataInterface): this;
1658
1663
  createJsonApi(data: StripeSubscriptionInput): any;
1659
1664
  }
@@ -1684,6 +1689,14 @@ declare class StripeSubscriptionService extends AbstractService {
1684
1689
  * Change the plan of an existing subscription
1685
1690
  */
1686
1691
  static changePlan(params: StripeSubscriptionInput): Promise<StripeSubscriptionInterface>;
1692
+ /**
1693
+ * Change the plan of an existing subscription, with the payment meta.
1694
+ *
1695
+ * A trial upgrade charges at once; when the card asks for 3D Secure the API
1696
+ * answers with `meta.requiresAction` and the `clientSecret` to confirm in the
1697
+ * browser. Without that meta the change needs nothing more.
1698
+ */
1699
+ static changePlanWithMeta(params: StripeSubscriptionInput): Promise<StripeSubscriptionCreateResponse>;
1687
1700
  /**
1688
1701
  * Get a proration preview for a plan change
1689
1702
  */
@@ -1822,6 +1835,232 @@ declare class StripePromotionCode extends AbstractApiData implements PromotionCo
1822
1835
 
1823
1836
  declare const StripePromotionCodeModule: (factory: ModuleFactory) => ModuleWithPermissions;
1824
1837
 
1838
+ declare class StripeCoupon extends AbstractApiData implements StripeCouponInterface {
1839
+ private _stripeCouponId?;
1840
+ private _name?;
1841
+ private _discountType?;
1842
+ private _percentOff?;
1843
+ private _amountOff?;
1844
+ private _currency?;
1845
+ private _duration?;
1846
+ private _durationInMonths?;
1847
+ private _stripeProductIds;
1848
+ private _redeemBy?;
1849
+ private _maxRedemptions?;
1850
+ private _timesRedeemed;
1851
+ private _valid;
1852
+ private _codes;
1853
+ get stripeCouponId(): string;
1854
+ get name(): string;
1855
+ get discountType(): StripeCouponDiscountType;
1856
+ get percentOff(): number | undefined;
1857
+ get amountOff(): number | undefined;
1858
+ get currency(): string | undefined;
1859
+ get duration(): StripeCouponDurationType;
1860
+ get durationInMonths(): number | undefined;
1861
+ get stripeProductIds(): string[];
1862
+ get redeemBy(): Date | undefined;
1863
+ get maxRedemptions(): number | undefined;
1864
+ get timesRedeemed(): number;
1865
+ get valid(): boolean;
1866
+ get codes(): StripeCouponCodeInterface[];
1867
+ rehydrate(data: JsonApiHydratedDataInterface): this;
1868
+ createJsonApi(data: StripeCouponInput): any;
1869
+ /**
1870
+ * Rename is the only change Stripe allows on a coupon after creation.
1871
+ * Dedicated method so the service never needs a generic override.
1872
+ */
1873
+ createRenameJsonApi(data: StripeCouponRenameInput): any;
1874
+ /** Attributes of a code, shared by the coupon's first code and StripeCouponCode.createJsonApi. */
1875
+ static codeAttributes(code: Omit<StripeCouponCodeInput, "id" | "couponId">): Record<string, any>;
1876
+ }
1877
+
1878
+ declare enum StripeCouponFields {
1879
+ name = "name",
1880
+ discount = "discount",
1881
+ places = "places",
1882
+ codes = "codes",
1883
+ status = "status"
1884
+ }
1885
+
1886
+ /**
1887
+ * Admin billing service for managing coupons
1888
+ */
1889
+ declare class StripeCouponService extends AbstractService {
1890
+ /**
1891
+ * List all coupons with their codes (admin)
1892
+ */
1893
+ static listCoupons(params?: {
1894
+ next?: NextRef;
1895
+ prev?: PreviousRef;
1896
+ }): Promise<StripeCouponInterface[]>;
1897
+ /**
1898
+ * Get a specific coupon by ID (admin)
1899
+ */
1900
+ static getCoupon(params: {
1901
+ id: string;
1902
+ }): Promise<StripeCouponInterface>;
1903
+ /**
1904
+ * Create a coupon and its first code (admin)
1905
+ */
1906
+ static createCoupon(params: StripeCouponInput): Promise<StripeCouponInterface>;
1907
+ /**
1908
+ * Rename a coupon (admin). The only coupon field Stripe allows to change.
1909
+ */
1910
+ static renameCoupon(params: StripeCouponRenameInput): Promise<StripeCouponInterface>;
1911
+ /**
1912
+ * Re-read the coupon and its codes from Stripe and store the counts (admin)
1913
+ */
1914
+ static refreshCounts(params: {
1915
+ id: string;
1916
+ }): Promise<StripeCouponInterface>;
1917
+ }
1918
+
1919
+ declare class StripeCouponCode extends AbstractApiData implements StripeCouponCodeInterface {
1920
+ private _stripePromotionCodeId?;
1921
+ private _code;
1922
+ private _active;
1923
+ private _automatic;
1924
+ private _firstTimeTransaction;
1925
+ private _minimumAmount?;
1926
+ private _minimumAmountCurrency?;
1927
+ private _stripeCustomerId?;
1928
+ private _expiresAt?;
1929
+ private _maxRedemptions?;
1930
+ private _timesRedeemed;
1931
+ private _coupon?;
1932
+ get stripePromotionCodeId(): string;
1933
+ get code(): string;
1934
+ get active(): boolean;
1935
+ get automatic(): boolean;
1936
+ get firstTimeTransaction(): boolean;
1937
+ get minimumAmount(): number | undefined;
1938
+ get minimumAmountCurrency(): string | undefined;
1939
+ get stripeCustomerId(): string | undefined;
1940
+ get expiresAt(): Date | undefined;
1941
+ get maxRedemptions(): number | undefined;
1942
+ get timesRedeemed(): number;
1943
+ get coupon(): StripeCouponInterface | undefined;
1944
+ rehydrate(data: JsonApiHydratedDataInterface): this;
1945
+ createJsonApi(data: StripeCouponCodeInput): any;
1946
+ /**
1947
+ * PATCH body for the flags a code can still change after creation.
1948
+ * Only the flags that are set are sent, so switching one never touches the other.
1949
+ */
1950
+ createFlagsJsonApi(data: StripeCouponCodeFlagsInput): any;
1951
+ }
1952
+
1953
+ declare enum StripeCouponCodeFields {
1954
+ code = "code",
1955
+ places = "places",
1956
+ expiresAt = "expiresAt",
1957
+ automatic = "automatic",
1958
+ status = "status",
1959
+ actions = "actions"
1960
+ }
1961
+
1962
+ /**
1963
+ * Billing service for the customer-facing codes of a coupon
1964
+ */
1965
+ declare class StripeCouponCodeService extends AbstractService {
1966
+ /**
1967
+ * List the codes of a coupon (admin)
1968
+ */
1969
+ static listByCoupon(params: {
1970
+ couponId: string;
1971
+ next?: NextRef;
1972
+ prev?: PreviousRef;
1973
+ }): Promise<StripeCouponCodeInterface[]>;
1974
+ /**
1975
+ * Create a code on an existing coupon (admin)
1976
+ */
1977
+ static createCode(params: StripeCouponCodeInput): Promise<StripeCouponCodeInterface>;
1978
+ /**
1979
+ * Switch "Apply automatically" and / or deactivate / reactivate a code (admin)
1980
+ */
1981
+ static updateFlags(params: StripeCouponCodeFlagsInput): Promise<StripeCouponCodeInterface>;
1982
+ /**
1983
+ * The code the server would apply automatically for this price at a first
1984
+ * payment, or null when none applies (logged-in company administrator)
1985
+ */
1986
+ static findAutomatic(params: {
1987
+ priceId: string;
1988
+ }): Promise<StripeCouponCodeInterface | null>;
1989
+ }
1990
+
1991
+ interface StripeCouponOfferInterface extends ApiDataInterface {
1992
+ get discountType(): StripeCouponDiscountType;
1993
+ get percentOff(): number | undefined;
1994
+ get amountOff(): number | undefined;
1995
+ get currency(): string | undefined;
1996
+ get duration(): StripeCouponDurationType;
1997
+ get durationInMonths(): number | undefined;
1998
+ get placesLeft(): number;
1999
+ get placesTotal(): number;
2000
+ }
2001
+
2002
+ /** Read-only public resource: never created or updated from the frontend. */
2003
+ declare class StripeCouponOffer extends AbstractApiData implements StripeCouponOfferInterface {
2004
+ private _discountType?;
2005
+ private _percentOff?;
2006
+ private _amountOff?;
2007
+ private _currency?;
2008
+ private _duration?;
2009
+ private _durationInMonths?;
2010
+ private _placesLeft;
2011
+ private _placesTotal;
2012
+ get discountType(): StripeCouponDiscountType;
2013
+ get percentOff(): number | undefined;
2014
+ get amountOff(): number | undefined;
2015
+ get currency(): string | undefined;
2016
+ get duration(): StripeCouponDurationType;
2017
+ get durationInMonths(): number | undefined;
2018
+ get placesLeft(): number;
2019
+ get placesTotal(): number;
2020
+ rehydrate(data: JsonApiHydratedDataInterface): this;
2021
+ createJsonApi(_data?: any): any;
2022
+ }
2023
+
2024
+ /**
2025
+ * Places left on a code: the smaller of (coupon limit - coupon redeemed) and
2026
+ * (code limit - code redeemed), counting only the limits that are set, never
2027
+ * below zero. `null` = unlimited. Same rule as the backend `placesLeft`.
2028
+ */
2029
+ type Redeemable = {
2030
+ maxRedemptions?: number;
2031
+ timesRedeemed: number;
2032
+ };
2033
+ declare function couponPlacesLeft(code: Redeemable, coupon: Redeemable): number | null;
2034
+ /** The smaller of the set limits, or `null` when neither is set. */
2035
+ declare function couponPlacesTotal(code: Redeemable, coupon: Redeemable): number | null;
2036
+
2037
+ type CouponDiscountShape = {
2038
+ discountType: StripeCouponDiscountType;
2039
+ percentOff?: number;
2040
+ amountOff?: number;
2041
+ currency?: string;
2042
+ duration: StripeCouponDurationType;
2043
+ durationInMonths?: number;
2044
+ };
2045
+ /** "20% off forever", "€5.00 off for 3 months", "€5.00 off once". */
2046
+ declare function formatCouponDiscount(coupon: CouponDiscountShape, t: BillingTranslator, fmt?: BillingFormatOptions): string;
2047
+
2048
+ /**
2049
+ * The automatic code as the wizard's promotion-code state, exactly as if the
2050
+ * GM had typed and validated it.
2051
+ */
2052
+ declare function toPromotionCodeResult(code: StripeCouponCodeInterface): PromotionCodeValidationResult;
2053
+
2054
+ /** The coupon endpoint's non-resource segment that re-reads its counts from Stripe. */
2055
+ declare const STRIPE_COUPON_REFRESH_SEGMENT = "refresh";
2056
+ declare const StripeCouponModule: (factory: ModuleFactory) => ModuleWithPermissions;
2057
+
2058
+ /** The code endpoint's segment that returns the automatic code for a price. */
2059
+ declare const STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = "automatic";
2060
+ declare const StripeCouponCodeModule: (factory: ModuleFactory) => ModuleWithPermissions;
2061
+
2062
+ declare const StripeCouponOfferModule: (factory: ModuleFactory) => ModuleWithPermissions;
2063
+
1825
2064
  declare const CompanyModule: (factory: ModuleFactory) => ModuleWithPermissions;
1826
2065
 
1827
2066
  declare class Company extends AbstractApiData implements CompanyInterface {
@@ -3566,4 +3805,4 @@ declare class AuditLogService extends AbstractService {
3566
3805
 
3567
3806
  declare const AuditLogModule: (factory: ModuleFactory) => ModuleWithPermissions;
3568
3807
 
3569
- export { AbstractApiData, AbstractService, Action, ApiData, ApiDataInterface, ApiRequestDataTypeInterface, ApiResponseInterface, type AppModuleDefinitions, Assistant, AssistantAction, type AssistantActionInput, type AssistantActionInterface, AssistantActionModule, AssistantActionService, type AssistantActionStatus, AssistantInput, AssistantInterface, AssistantMessage, AssistantMessageInput, AssistantMessageInterface, AssistantMessageModule, AssistantMessageRole, AssistantMessageService, AssistantMessageType, AssistantModule, AssistantService, AuditLog, type AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthInput, AuthInterface, AuthModule, AuthorModule, BackupCodeVerify, type BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, type BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, BlogCategory, BlogCategoryInput, BlogCategoryInterface, BlogCategoryModule, BlogCategoryService, BlogCategoryTranslation, BlogCategoryTranslationInput, BlogCategoryTranslationInterface, BlogCategoryTranslationModule, BlogCategoryTranslationService, BlogPost, BlogPostInput, BlogPostInterface, BlogPostModule, BlogPostService, BlogPostTranslation, BlogPostTranslationInput, BlogPostTranslationInterface, BlogPostTranslationModule, BlogPostTranslationService, BlogSettings, type BlogSettingsInput, type BlogSettingsInterface, BlogSettingsModule, BlogSettingsService, CURRENT_USER_STORAGE_KEY, Chunk, type ChunkInput, ChunkInterface, ChunkModule, ChunkRelationshipMeta, ClientAbstractService, ClientHttpMethod, type ClientNextRef, type ClientPreviousRef, type ClientSelfRef, type ClientTotalRef, type CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, Content, ContentInput, ContentInterface, ContentModule, DataClassRegistry as DataClass, DataClassRegistry, type DiffBlock, type DiffResult, EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE, ENV, EmailAutomation, EmailAutomationEnrollment, EmailAutomationEnrollmentInterface, EmailAutomationEnrollmentModule, EmailAutomationEnrollmentService, EmailAutomationEnrollmentStatus, EmailAutomationInput, EmailAutomationInterface, EmailAutomationModule, EmailAutomationService, EmailAutomationStep, EmailAutomationStepInput, EmailAutomationStepInterface, EmailAutomationStepModule, EmailAutomationStepService, EmailAutomationTrigger, EmailAutomationTriggerInterface, EmailAutomationTriggerModule, EndpointCreator, type EndpointQuery, EntityAiStatus, type EntityObject, Feature, FeatureInterface, FeatureModule, FieldSelector, type FormatOption, type FoundationModuleDefinitions, HandbookPage, HandbookPageFields, type HandbookPageInput, HandbookPageInterface, HandbookPageModule, HandbookPageService, HandbookSection, type HandbookSectionInput, HandbookSectionInterface, HandbookSectionModule, HandbookSectionService, HandbookThread, type HandbookThreadInput, type HandbookThreadInterface, HandbookThreadMessage, type HandbookThreadMessageInput, type HandbookThreadMessageInterface, HandbookThreadMessageModule, HandbookThreadMessageService, HandbookThreadModule, HandbookThreadService, HowTo, HowToFields, HowToInput, HowToInterface, HowToModule, HowToService, type InviteValidation, InvoiceStatus, JsonApiDataFactory, JsonApiHydratedDataInterface, MOBILE_BREAKPOINT, type MessageTree, MeterInterface, MeterSummaryInterface, Module, type ModuleDefinitions, ModuleFactory, ModuleInterface, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, ModuleWithPermissions, Modules, NextRef, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, OAuthClient, OAuthClientCreateRequest, OAuthClientCreateResponse, OAuthClientInput, OAuthClientInterface, OAuthConsentInfo, OAuthConsentRequest, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, type PasskeyAuthenticationOptionsInput, type PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyInterface, PasskeyModule, PasskeyRegistrationOptions, type PasskeyRegistrationOptionsInput, type PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, type PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, type PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, type PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PaymentMethodInterface, PermissionMappingModule, PermissionModule, PermissionUser, PreviousRef, PriceRecurring, PromotionCodeValidationResult, ProrationPreviewInterface, Push, type PushInput, type PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, ReportUsageInput, Role, RoleInput, RoleInterface, RoleModule, S3, S3Input, S3Interface, S3Module, type SearchResultInterface, StripeCustomer, StripeCustomerInterface, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceInterface, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceFields, StripePriceInput, StripePriceInterface, StripePriceModule, StripePriceService, StripeProduct, StripeProductFields, StripeProductInput, StripeProductInterface, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionCreateResponse, StripeSubscriptionInput, StripeSubscriptionInterface, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageInterface, StripeUsageModule, StripeUsageService, SubscriptionStatus, TableOptions, type ToastOptions, TotpAuthenticator, TotpAuthenticatorInterface, TotpAuthenticatorModule, TotpSetup, type TotpSetupInput, type TotpSetupInterface, TotpSetupModule, TotpVerify, type TotpVerifyInput, TotpVerifyLogin, type TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, type TwoFactorChallengeInput, TwoFactorChallengeInterface, TwoFactorChallengeModule, TwoFactorEnable, type TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, type TwoFactorStatusInterface, TwoFactorStatusModule, UsageSummaryInterface, User, UserInput, UserInterface, UserModule, type UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistFields, type WaitlistInput, type WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, type WaitlistStatsInterface, WaitlistStatsModule, type WaitlistStatus, type WordDiff, checkPermissions, checkPermissionsFromServer, clearLastApiMeta, clearLastApiTotal, cn, composeRefs, dateFormatLocale, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getLastApiMeta, getLastApiTotal, getTableComponents, getTableOptions, getValueFromPath, handbookPageContent, handbookPageSummary, handbookPageTitle, handbookSectionSummary, handbookSectionTitle, hasBootstrapper, isRemoteImageSrc, mergeMessages, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva };
3808
+ export { AbstractApiData, AbstractService, Action, ApiData, ApiDataInterface, ApiRequestDataTypeInterface, ApiResponseInterface, type AppModuleDefinitions, Assistant, AssistantAction, type AssistantActionInput, type AssistantActionInterface, AssistantActionModule, AssistantActionService, type AssistantActionStatus, AssistantInput, AssistantInterface, AssistantMessage, AssistantMessageInput, AssistantMessageInterface, AssistantMessageModule, AssistantMessageRole, AssistantMessageService, AssistantMessageType, AssistantModule, AssistantService, AuditLog, type AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthInput, AuthInterface, AuthModule, AuthorModule, BackupCodeVerify, type BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, type BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, BlogCategory, BlogCategoryInput, BlogCategoryInterface, BlogCategoryModule, BlogCategoryService, BlogCategoryTranslation, BlogCategoryTranslationInput, BlogCategoryTranslationInterface, BlogCategoryTranslationModule, BlogCategoryTranslationService, BlogPost, BlogPostInput, BlogPostInterface, BlogPostModule, BlogPostService, BlogPostTranslation, BlogPostTranslationInput, BlogPostTranslationInterface, BlogPostTranslationModule, BlogPostTranslationService, BlogSettings, type BlogSettingsInput, type BlogSettingsInterface, BlogSettingsModule, BlogSettingsService, CURRENT_USER_STORAGE_KEY, Chunk, type ChunkInput, ChunkInterface, ChunkModule, ChunkRelationshipMeta, ClientAbstractService, ClientHttpMethod, type ClientNextRef, type ClientPreviousRef, type ClientSelfRef, type ClientTotalRef, type CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, Content, ContentInput, ContentInterface, ContentModule, type CouponDiscountShape, DataClassRegistry as DataClass, DataClassRegistry, type DiffBlock, type DiffResult, EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE, ENV, EmailAutomation, EmailAutomationEnrollment, EmailAutomationEnrollmentInterface, EmailAutomationEnrollmentModule, EmailAutomationEnrollmentService, EmailAutomationEnrollmentStatus, EmailAutomationInput, EmailAutomationInterface, EmailAutomationModule, EmailAutomationService, EmailAutomationStep, EmailAutomationStepInput, EmailAutomationStepInterface, EmailAutomationStepModule, EmailAutomationStepService, EmailAutomationTrigger, EmailAutomationTriggerInterface, EmailAutomationTriggerModule, EndpointCreator, type EndpointQuery, EntityAiStatus, type EntityObject, Feature, FeatureInterface, FeatureModule, FieldSelector, type FormatOption, type FoundationModuleDefinitions, HandbookPage, HandbookPageFields, type HandbookPageInput, HandbookPageInterface, HandbookPageModule, HandbookPageService, HandbookSection, type HandbookSectionInput, HandbookSectionInterface, HandbookSectionModule, HandbookSectionService, HandbookThread, type HandbookThreadInput, type HandbookThreadInterface, HandbookThreadMessage, type HandbookThreadMessageInput, type HandbookThreadMessageInterface, HandbookThreadMessageModule, HandbookThreadMessageService, HandbookThreadModule, HandbookThreadService, HowTo, HowToFields, HowToInput, HowToInterface, HowToModule, HowToService, type InviteValidation, InvoiceStatus, JsonApiDataFactory, JsonApiHydratedDataInterface, MOBILE_BREAKPOINT, type MessageTree, MeterInterface, MeterSummaryInterface, Module, type ModuleDefinitions, ModuleFactory, ModuleInterface, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, ModuleWithPermissions, Modules, NextRef, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, OAuthClient, OAuthClientCreateRequest, OAuthClientCreateResponse, OAuthClientInput, OAuthClientInterface, OAuthConsentInfo, OAuthConsentRequest, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, type PasskeyAuthenticationOptionsInput, type PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyInterface, PasskeyModule, PasskeyRegistrationOptions, type PasskeyRegistrationOptionsInput, type PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, type PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, type PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, type PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PaymentMethodInterface, PermissionMappingModule, PermissionModule, PermissionUser, PreviousRef, PriceRecurring, PromotionCodeValidationResult, ProrationPreviewInterface, Push, type PushInput, type PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, ReportUsageInput, Role, RoleInput, RoleInterface, RoleModule, S3, S3Input, S3Interface, S3Module, STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT, STRIPE_COUPON_REFRESH_SEGMENT, type SearchResultInterface, StripeCoupon, StripeCouponCode, StripeCouponCodeFields, StripeCouponCodeFlagsInput, StripeCouponCodeInput, StripeCouponCodeInterface, StripeCouponCodeModule, StripeCouponCodeService, StripeCouponDiscountType, StripeCouponDurationType, StripeCouponFields, StripeCouponInput, StripeCouponInterface, StripeCouponModule, StripeCouponOffer, type StripeCouponOfferInterface, StripeCouponOfferModule, StripeCouponRenameInput, StripeCouponService, StripeCustomer, StripeCustomerInterface, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceInterface, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceFields, StripePriceInput, StripePriceInterface, StripePriceModule, StripePriceService, StripeProduct, StripeProductFields, StripeProductInput, StripeProductInterface, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionCreateResponse, StripeSubscriptionDiscount, StripeSubscriptionInput, StripeSubscriptionInterface, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageInterface, StripeUsageModule, StripeUsageService, SubscriptionStatus, TableOptions, type ToastOptions, TotpAuthenticator, TotpAuthenticatorInterface, TotpAuthenticatorModule, TotpSetup, type TotpSetupInput, type TotpSetupInterface, TotpSetupModule, TotpVerify, type TotpVerifyInput, TotpVerifyLogin, type TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, type TwoFactorChallengeInput, TwoFactorChallengeInterface, TwoFactorChallengeModule, TwoFactorEnable, type TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, type TwoFactorStatusInterface, TwoFactorStatusModule, UsageSummaryInterface, User, UserInput, UserInterface, UserModule, type UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistFields, type WaitlistInput, type WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, type WaitlistStatsInterface, WaitlistStatsModule, type WaitlistStatus, type WordDiff, checkPermissions, checkPermissionsFromServer, clearLastApiMeta, clearLastApiTotal, cn, composeRefs, couponPlacesLeft, couponPlacesTotal, dateFormatLocale, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatCouponDiscount, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getLastApiMeta, getLastApiTotal, getTableComponents, getTableOptions, getValueFromPath, handbookPageContent, handbookPageSummary, handbookPageTitle, handbookSectionSummary, handbookSectionTitle, hasBootstrapper, isRemoteImageSrc, mergeMessages, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, toPromotionCodeResult, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva };
@@ -26,8 +26,8 @@ export { a as AuthQuery } from '../auth.interface-CSzJ1oP1.js';
26
26
  import { T as TwoFactorChallengeInterface, c as S3Interface, b as S3Input } from '../s3.service-Bz_K-tjz.js';
27
27
  export { A as AuthService, C as CompanyService, a as ContentService, F as FeatureService, N as NotificationService, P as PushService, R as RoleService, S as S3Service, U as UserService } from '../s3.service-Bz_K-tjz.js';
28
28
  import { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON, PublicKeyCredentialRequestOptionsJSON, AuthenticationResponseJSON } from '@simplewebauthn/browser';
29
- import { M as MeterInterface, o as MeterSummaryInterface, P as PaymentMethodInterface, S as StripeCustomerInterface, a as StripeInvoiceInterface, j as StripeSubscriptionInterface, I as InvoiceStatus, g as StripeProductInterface, d as StripePriceInterface, h as StripeProductInput, e as PriceRecurring, f as StripePriceInput, i as SubscriptionStatus, k as StripeSubscriptionInput, m as StripeSubscriptionCreateResponse, b as ProrationPreviewInterface, n as StripeUsageInterface, R as ReportUsageInput, U as UsageSummaryInterface, q as PromotionCodeValidationResult } from '../stripe-promotion-code.interface-C3qqh3mi.js';
30
- export { c as ProrationLineItem, l as StripeSubscriptionCreateMeta, p as UsageRecordInterface } from '../stripe-promotion-code.interface-C3qqh3mi.js';
29
+ import { M as MeterInterface, p as MeterSummaryInterface, P as PaymentMethodInterface, S as StripeCustomerInterface, a as StripeInvoiceInterface, k as StripeSubscriptionInterface, I as InvoiceStatus, g as StripeProductInterface, d as StripePriceInterface, h as StripeProductInput, e as PriceRecurring, f as StripePriceInput, i as SubscriptionStatus, j as StripeSubscriptionDiscount, l as StripeSubscriptionInput, n as StripeSubscriptionCreateResponse, b as ProrationPreviewInterface, o as StripeUsageInterface, R as ReportUsageInput, U as UsageSummaryInterface, r as PromotionCodeValidationResult, u as StripeCouponInterface, s as StripeCouponDiscountType, t as StripeCouponDurationType, x as StripeCouponCodeInterface, v as StripeCouponInput, w as StripeCouponRenameInput, y as StripeCouponCodeInput, z as StripeCouponCodeFlagsInput, A as BillingTranslator, B as BillingFormatOptions } from '../format-options-BtX3o0Yu.js';
30
+ export { c as ProrationLineItem, m as StripeSubscriptionCreateMeta, q as UsageRecordInterface } from '../format-options-BtX3o0Yu.js';
31
31
  import { M as ModuleInterface, F as FeatureInterface } from '../feature.interface-BO25VLlx.js';
32
32
  import { C as ContentInterface, a as ContentInput, N as NotificationInterface, b as NotificationInput } from '../notification.interface-CmAGrijJ.js';
33
33
  import { a as EmailAutomationInterface, E as EmailAutomationInput, f as EmailAutomationTriggerInterface, e as EmailAutomationEnrollmentInterface, c as EmailAutomationStepInterface, b as EmailAutomationStepInput, d as EmailAutomationEnrollmentStatus } from '../email-automation-enrollment.fields-Cp3VMzFq.js';
@@ -286,6 +286,9 @@ interface FoundationModuleDefinitions {
286
286
  StripePrice: ModuleWithPermissions;
287
287
  StripeUsage: ModuleWithPermissions;
288
288
  StripePromotionCode: ModuleWithPermissions;
289
+ StripeCoupon: ModuleWithPermissions;
290
+ StripeCouponCode: ModuleWithPermissions;
291
+ StripeCouponOffer: ModuleWithPermissions;
289
292
  AiConnection: ModuleWithPermissions;
290
293
  OAuth: ModuleWithPermissions;
291
294
  Waitlist: ModuleWithPermissions;
@@ -1645,6 +1648,7 @@ declare class StripeSubscription extends AbstractApiData implements StripeSubscr
1645
1648
  private _trialStart?;
1646
1649
  private _trialEnd?;
1647
1650
  private _price?;
1651
+ private _discount?;
1648
1652
  get stripeSubscriptionId(): string;
1649
1653
  get status(): SubscriptionStatus;
1650
1654
  get currentPeriodStart(): Date;
@@ -1654,6 +1658,7 @@ declare class StripeSubscription extends AbstractApiData implements StripeSubscr
1654
1658
  get trialStart(): Date | undefined;
1655
1659
  get trialEnd(): Date | undefined;
1656
1660
  get price(): StripePriceInterface | undefined;
1661
+ get discount(): StripeSubscriptionDiscount | undefined;
1657
1662
  rehydrate(data: JsonApiHydratedDataInterface): this;
1658
1663
  createJsonApi(data: StripeSubscriptionInput): any;
1659
1664
  }
@@ -1684,6 +1689,14 @@ declare class StripeSubscriptionService extends AbstractService {
1684
1689
  * Change the plan of an existing subscription
1685
1690
  */
1686
1691
  static changePlan(params: StripeSubscriptionInput): Promise<StripeSubscriptionInterface>;
1692
+ /**
1693
+ * Change the plan of an existing subscription, with the payment meta.
1694
+ *
1695
+ * A trial upgrade charges at once; when the card asks for 3D Secure the API
1696
+ * answers with `meta.requiresAction` and the `clientSecret` to confirm in the
1697
+ * browser. Without that meta the change needs nothing more.
1698
+ */
1699
+ static changePlanWithMeta(params: StripeSubscriptionInput): Promise<StripeSubscriptionCreateResponse>;
1687
1700
  /**
1688
1701
  * Get a proration preview for a plan change
1689
1702
  */
@@ -1822,6 +1835,232 @@ declare class StripePromotionCode extends AbstractApiData implements PromotionCo
1822
1835
 
1823
1836
  declare const StripePromotionCodeModule: (factory: ModuleFactory) => ModuleWithPermissions;
1824
1837
 
1838
+ declare class StripeCoupon extends AbstractApiData implements StripeCouponInterface {
1839
+ private _stripeCouponId?;
1840
+ private _name?;
1841
+ private _discountType?;
1842
+ private _percentOff?;
1843
+ private _amountOff?;
1844
+ private _currency?;
1845
+ private _duration?;
1846
+ private _durationInMonths?;
1847
+ private _stripeProductIds;
1848
+ private _redeemBy?;
1849
+ private _maxRedemptions?;
1850
+ private _timesRedeemed;
1851
+ private _valid;
1852
+ private _codes;
1853
+ get stripeCouponId(): string;
1854
+ get name(): string;
1855
+ get discountType(): StripeCouponDiscountType;
1856
+ get percentOff(): number | undefined;
1857
+ get amountOff(): number | undefined;
1858
+ get currency(): string | undefined;
1859
+ get duration(): StripeCouponDurationType;
1860
+ get durationInMonths(): number | undefined;
1861
+ get stripeProductIds(): string[];
1862
+ get redeemBy(): Date | undefined;
1863
+ get maxRedemptions(): number | undefined;
1864
+ get timesRedeemed(): number;
1865
+ get valid(): boolean;
1866
+ get codes(): StripeCouponCodeInterface[];
1867
+ rehydrate(data: JsonApiHydratedDataInterface): this;
1868
+ createJsonApi(data: StripeCouponInput): any;
1869
+ /**
1870
+ * Rename is the only change Stripe allows on a coupon after creation.
1871
+ * Dedicated method so the service never needs a generic override.
1872
+ */
1873
+ createRenameJsonApi(data: StripeCouponRenameInput): any;
1874
+ /** Attributes of a code, shared by the coupon's first code and StripeCouponCode.createJsonApi. */
1875
+ static codeAttributes(code: Omit<StripeCouponCodeInput, "id" | "couponId">): Record<string, any>;
1876
+ }
1877
+
1878
+ declare enum StripeCouponFields {
1879
+ name = "name",
1880
+ discount = "discount",
1881
+ places = "places",
1882
+ codes = "codes",
1883
+ status = "status"
1884
+ }
1885
+
1886
+ /**
1887
+ * Admin billing service for managing coupons
1888
+ */
1889
+ declare class StripeCouponService extends AbstractService {
1890
+ /**
1891
+ * List all coupons with their codes (admin)
1892
+ */
1893
+ static listCoupons(params?: {
1894
+ next?: NextRef;
1895
+ prev?: PreviousRef;
1896
+ }): Promise<StripeCouponInterface[]>;
1897
+ /**
1898
+ * Get a specific coupon by ID (admin)
1899
+ */
1900
+ static getCoupon(params: {
1901
+ id: string;
1902
+ }): Promise<StripeCouponInterface>;
1903
+ /**
1904
+ * Create a coupon and its first code (admin)
1905
+ */
1906
+ static createCoupon(params: StripeCouponInput): Promise<StripeCouponInterface>;
1907
+ /**
1908
+ * Rename a coupon (admin). The only coupon field Stripe allows to change.
1909
+ */
1910
+ static renameCoupon(params: StripeCouponRenameInput): Promise<StripeCouponInterface>;
1911
+ /**
1912
+ * Re-read the coupon and its codes from Stripe and store the counts (admin)
1913
+ */
1914
+ static refreshCounts(params: {
1915
+ id: string;
1916
+ }): Promise<StripeCouponInterface>;
1917
+ }
1918
+
1919
+ declare class StripeCouponCode extends AbstractApiData implements StripeCouponCodeInterface {
1920
+ private _stripePromotionCodeId?;
1921
+ private _code;
1922
+ private _active;
1923
+ private _automatic;
1924
+ private _firstTimeTransaction;
1925
+ private _minimumAmount?;
1926
+ private _minimumAmountCurrency?;
1927
+ private _stripeCustomerId?;
1928
+ private _expiresAt?;
1929
+ private _maxRedemptions?;
1930
+ private _timesRedeemed;
1931
+ private _coupon?;
1932
+ get stripePromotionCodeId(): string;
1933
+ get code(): string;
1934
+ get active(): boolean;
1935
+ get automatic(): boolean;
1936
+ get firstTimeTransaction(): boolean;
1937
+ get minimumAmount(): number | undefined;
1938
+ get minimumAmountCurrency(): string | undefined;
1939
+ get stripeCustomerId(): string | undefined;
1940
+ get expiresAt(): Date | undefined;
1941
+ get maxRedemptions(): number | undefined;
1942
+ get timesRedeemed(): number;
1943
+ get coupon(): StripeCouponInterface | undefined;
1944
+ rehydrate(data: JsonApiHydratedDataInterface): this;
1945
+ createJsonApi(data: StripeCouponCodeInput): any;
1946
+ /**
1947
+ * PATCH body for the flags a code can still change after creation.
1948
+ * Only the flags that are set are sent, so switching one never touches the other.
1949
+ */
1950
+ createFlagsJsonApi(data: StripeCouponCodeFlagsInput): any;
1951
+ }
1952
+
1953
+ declare enum StripeCouponCodeFields {
1954
+ code = "code",
1955
+ places = "places",
1956
+ expiresAt = "expiresAt",
1957
+ automatic = "automatic",
1958
+ status = "status",
1959
+ actions = "actions"
1960
+ }
1961
+
1962
+ /**
1963
+ * Billing service for the customer-facing codes of a coupon
1964
+ */
1965
+ declare class StripeCouponCodeService extends AbstractService {
1966
+ /**
1967
+ * List the codes of a coupon (admin)
1968
+ */
1969
+ static listByCoupon(params: {
1970
+ couponId: string;
1971
+ next?: NextRef;
1972
+ prev?: PreviousRef;
1973
+ }): Promise<StripeCouponCodeInterface[]>;
1974
+ /**
1975
+ * Create a code on an existing coupon (admin)
1976
+ */
1977
+ static createCode(params: StripeCouponCodeInput): Promise<StripeCouponCodeInterface>;
1978
+ /**
1979
+ * Switch "Apply automatically" and / or deactivate / reactivate a code (admin)
1980
+ */
1981
+ static updateFlags(params: StripeCouponCodeFlagsInput): Promise<StripeCouponCodeInterface>;
1982
+ /**
1983
+ * The code the server would apply automatically for this price at a first
1984
+ * payment, or null when none applies (logged-in company administrator)
1985
+ */
1986
+ static findAutomatic(params: {
1987
+ priceId: string;
1988
+ }): Promise<StripeCouponCodeInterface | null>;
1989
+ }
1990
+
1991
+ interface StripeCouponOfferInterface extends ApiDataInterface {
1992
+ get discountType(): StripeCouponDiscountType;
1993
+ get percentOff(): number | undefined;
1994
+ get amountOff(): number | undefined;
1995
+ get currency(): string | undefined;
1996
+ get duration(): StripeCouponDurationType;
1997
+ get durationInMonths(): number | undefined;
1998
+ get placesLeft(): number;
1999
+ get placesTotal(): number;
2000
+ }
2001
+
2002
+ /** Read-only public resource: never created or updated from the frontend. */
2003
+ declare class StripeCouponOffer extends AbstractApiData implements StripeCouponOfferInterface {
2004
+ private _discountType?;
2005
+ private _percentOff?;
2006
+ private _amountOff?;
2007
+ private _currency?;
2008
+ private _duration?;
2009
+ private _durationInMonths?;
2010
+ private _placesLeft;
2011
+ private _placesTotal;
2012
+ get discountType(): StripeCouponDiscountType;
2013
+ get percentOff(): number | undefined;
2014
+ get amountOff(): number | undefined;
2015
+ get currency(): string | undefined;
2016
+ get duration(): StripeCouponDurationType;
2017
+ get durationInMonths(): number | undefined;
2018
+ get placesLeft(): number;
2019
+ get placesTotal(): number;
2020
+ rehydrate(data: JsonApiHydratedDataInterface): this;
2021
+ createJsonApi(_data?: any): any;
2022
+ }
2023
+
2024
+ /**
2025
+ * Places left on a code: the smaller of (coupon limit - coupon redeemed) and
2026
+ * (code limit - code redeemed), counting only the limits that are set, never
2027
+ * below zero. `null` = unlimited. Same rule as the backend `placesLeft`.
2028
+ */
2029
+ type Redeemable = {
2030
+ maxRedemptions?: number;
2031
+ timesRedeemed: number;
2032
+ };
2033
+ declare function couponPlacesLeft(code: Redeemable, coupon: Redeemable): number | null;
2034
+ /** The smaller of the set limits, or `null` when neither is set. */
2035
+ declare function couponPlacesTotal(code: Redeemable, coupon: Redeemable): number | null;
2036
+
2037
+ type CouponDiscountShape = {
2038
+ discountType: StripeCouponDiscountType;
2039
+ percentOff?: number;
2040
+ amountOff?: number;
2041
+ currency?: string;
2042
+ duration: StripeCouponDurationType;
2043
+ durationInMonths?: number;
2044
+ };
2045
+ /** "20% off forever", "€5.00 off for 3 months", "€5.00 off once". */
2046
+ declare function formatCouponDiscount(coupon: CouponDiscountShape, t: BillingTranslator, fmt?: BillingFormatOptions): string;
2047
+
2048
+ /**
2049
+ * The automatic code as the wizard's promotion-code state, exactly as if the
2050
+ * GM had typed and validated it.
2051
+ */
2052
+ declare function toPromotionCodeResult(code: StripeCouponCodeInterface): PromotionCodeValidationResult;
2053
+
2054
+ /** The coupon endpoint's non-resource segment that re-reads its counts from Stripe. */
2055
+ declare const STRIPE_COUPON_REFRESH_SEGMENT = "refresh";
2056
+ declare const StripeCouponModule: (factory: ModuleFactory) => ModuleWithPermissions;
2057
+
2058
+ /** The code endpoint's segment that returns the automatic code for a price. */
2059
+ declare const STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = "automatic";
2060
+ declare const StripeCouponCodeModule: (factory: ModuleFactory) => ModuleWithPermissions;
2061
+
2062
+ declare const StripeCouponOfferModule: (factory: ModuleFactory) => ModuleWithPermissions;
2063
+
1825
2064
  declare const CompanyModule: (factory: ModuleFactory) => ModuleWithPermissions;
1826
2065
 
1827
2066
  declare class Company extends AbstractApiData implements CompanyInterface {
@@ -3566,4 +3805,4 @@ declare class AuditLogService extends AbstractService {
3566
3805
 
3567
3806
  declare const AuditLogModule: (factory: ModuleFactory) => ModuleWithPermissions;
3568
3807
 
3569
- export { AbstractApiData, AbstractService, Action, ApiData, ApiDataInterface, ApiRequestDataTypeInterface, ApiResponseInterface, type AppModuleDefinitions, Assistant, AssistantAction, type AssistantActionInput, type AssistantActionInterface, AssistantActionModule, AssistantActionService, type AssistantActionStatus, AssistantInput, AssistantInterface, AssistantMessage, AssistantMessageInput, AssistantMessageInterface, AssistantMessageModule, AssistantMessageRole, AssistantMessageService, AssistantMessageType, AssistantModule, AssistantService, AuditLog, type AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthInput, AuthInterface, AuthModule, AuthorModule, BackupCodeVerify, type BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, type BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, BlogCategory, BlogCategoryInput, BlogCategoryInterface, BlogCategoryModule, BlogCategoryService, BlogCategoryTranslation, BlogCategoryTranslationInput, BlogCategoryTranslationInterface, BlogCategoryTranslationModule, BlogCategoryTranslationService, BlogPost, BlogPostInput, BlogPostInterface, BlogPostModule, BlogPostService, BlogPostTranslation, BlogPostTranslationInput, BlogPostTranslationInterface, BlogPostTranslationModule, BlogPostTranslationService, BlogSettings, type BlogSettingsInput, type BlogSettingsInterface, BlogSettingsModule, BlogSettingsService, CURRENT_USER_STORAGE_KEY, Chunk, type ChunkInput, ChunkInterface, ChunkModule, ChunkRelationshipMeta, ClientAbstractService, ClientHttpMethod, type ClientNextRef, type ClientPreviousRef, type ClientSelfRef, type ClientTotalRef, type CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, Content, ContentInput, ContentInterface, ContentModule, DataClassRegistry as DataClass, DataClassRegistry, type DiffBlock, type DiffResult, EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE, ENV, EmailAutomation, EmailAutomationEnrollment, EmailAutomationEnrollmentInterface, EmailAutomationEnrollmentModule, EmailAutomationEnrollmentService, EmailAutomationEnrollmentStatus, EmailAutomationInput, EmailAutomationInterface, EmailAutomationModule, EmailAutomationService, EmailAutomationStep, EmailAutomationStepInput, EmailAutomationStepInterface, EmailAutomationStepModule, EmailAutomationStepService, EmailAutomationTrigger, EmailAutomationTriggerInterface, EmailAutomationTriggerModule, EndpointCreator, type EndpointQuery, EntityAiStatus, type EntityObject, Feature, FeatureInterface, FeatureModule, FieldSelector, type FormatOption, type FoundationModuleDefinitions, HandbookPage, HandbookPageFields, type HandbookPageInput, HandbookPageInterface, HandbookPageModule, HandbookPageService, HandbookSection, type HandbookSectionInput, HandbookSectionInterface, HandbookSectionModule, HandbookSectionService, HandbookThread, type HandbookThreadInput, type HandbookThreadInterface, HandbookThreadMessage, type HandbookThreadMessageInput, type HandbookThreadMessageInterface, HandbookThreadMessageModule, HandbookThreadMessageService, HandbookThreadModule, HandbookThreadService, HowTo, HowToFields, HowToInput, HowToInterface, HowToModule, HowToService, type InviteValidation, InvoiceStatus, JsonApiDataFactory, JsonApiHydratedDataInterface, MOBILE_BREAKPOINT, type MessageTree, MeterInterface, MeterSummaryInterface, Module, type ModuleDefinitions, ModuleFactory, ModuleInterface, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, ModuleWithPermissions, Modules, NextRef, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, OAuthClient, OAuthClientCreateRequest, OAuthClientCreateResponse, OAuthClientInput, OAuthClientInterface, OAuthConsentInfo, OAuthConsentRequest, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, type PasskeyAuthenticationOptionsInput, type PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyInterface, PasskeyModule, PasskeyRegistrationOptions, type PasskeyRegistrationOptionsInput, type PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, type PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, type PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, type PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PaymentMethodInterface, PermissionMappingModule, PermissionModule, PermissionUser, PreviousRef, PriceRecurring, PromotionCodeValidationResult, ProrationPreviewInterface, Push, type PushInput, type PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, ReportUsageInput, Role, RoleInput, RoleInterface, RoleModule, S3, S3Input, S3Interface, S3Module, type SearchResultInterface, StripeCustomer, StripeCustomerInterface, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceInterface, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceFields, StripePriceInput, StripePriceInterface, StripePriceModule, StripePriceService, StripeProduct, StripeProductFields, StripeProductInput, StripeProductInterface, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionCreateResponse, StripeSubscriptionInput, StripeSubscriptionInterface, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageInterface, StripeUsageModule, StripeUsageService, SubscriptionStatus, TableOptions, type ToastOptions, TotpAuthenticator, TotpAuthenticatorInterface, TotpAuthenticatorModule, TotpSetup, type TotpSetupInput, type TotpSetupInterface, TotpSetupModule, TotpVerify, type TotpVerifyInput, TotpVerifyLogin, type TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, type TwoFactorChallengeInput, TwoFactorChallengeInterface, TwoFactorChallengeModule, TwoFactorEnable, type TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, type TwoFactorStatusInterface, TwoFactorStatusModule, UsageSummaryInterface, User, UserInput, UserInterface, UserModule, type UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistFields, type WaitlistInput, type WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, type WaitlistStatsInterface, WaitlistStatsModule, type WaitlistStatus, type WordDiff, checkPermissions, checkPermissionsFromServer, clearLastApiMeta, clearLastApiTotal, cn, composeRefs, dateFormatLocale, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getLastApiMeta, getLastApiTotal, getTableComponents, getTableOptions, getValueFromPath, handbookPageContent, handbookPageSummary, handbookPageTitle, handbookSectionSummary, handbookSectionTitle, hasBootstrapper, isRemoteImageSrc, mergeMessages, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva };
3808
+ export { AbstractApiData, AbstractService, Action, ApiData, ApiDataInterface, ApiRequestDataTypeInterface, ApiResponseInterface, type AppModuleDefinitions, Assistant, AssistantAction, type AssistantActionInput, type AssistantActionInterface, AssistantActionModule, AssistantActionService, type AssistantActionStatus, AssistantInput, AssistantInterface, AssistantMessage, AssistantMessageInput, AssistantMessageInterface, AssistantMessageModule, AssistantMessageRole, AssistantMessageService, AssistantMessageType, AssistantModule, AssistantService, AuditLog, type AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthInput, AuthInterface, AuthModule, AuthorModule, BackupCodeVerify, type BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, type BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, BlogCategory, BlogCategoryInput, BlogCategoryInterface, BlogCategoryModule, BlogCategoryService, BlogCategoryTranslation, BlogCategoryTranslationInput, BlogCategoryTranslationInterface, BlogCategoryTranslationModule, BlogCategoryTranslationService, BlogPost, BlogPostInput, BlogPostInterface, BlogPostModule, BlogPostService, BlogPostTranslation, BlogPostTranslationInput, BlogPostTranslationInterface, BlogPostTranslationModule, BlogPostTranslationService, BlogSettings, type BlogSettingsInput, type BlogSettingsInterface, BlogSettingsModule, BlogSettingsService, CURRENT_USER_STORAGE_KEY, Chunk, type ChunkInput, ChunkInterface, ChunkModule, ChunkRelationshipMeta, ClientAbstractService, ClientHttpMethod, type ClientNextRef, type ClientPreviousRef, type ClientSelfRef, type ClientTotalRef, type CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyInput, CompanyInterface, CompanyModule, Content, ContentInput, ContentInterface, ContentModule, type CouponDiscountShape, DataClassRegistry as DataClass, DataClassRegistry, type DiffBlock, type DiffResult, EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE, ENV, EmailAutomation, EmailAutomationEnrollment, EmailAutomationEnrollmentInterface, EmailAutomationEnrollmentModule, EmailAutomationEnrollmentService, EmailAutomationEnrollmentStatus, EmailAutomationInput, EmailAutomationInterface, EmailAutomationModule, EmailAutomationService, EmailAutomationStep, EmailAutomationStepInput, EmailAutomationStepInterface, EmailAutomationStepModule, EmailAutomationStepService, EmailAutomationTrigger, EmailAutomationTriggerInterface, EmailAutomationTriggerModule, EndpointCreator, type EndpointQuery, EntityAiStatus, type EntityObject, Feature, FeatureInterface, FeatureModule, FieldSelector, type FormatOption, type FoundationModuleDefinitions, HandbookPage, HandbookPageFields, type HandbookPageInput, HandbookPageInterface, HandbookPageModule, HandbookPageService, HandbookSection, type HandbookSectionInput, HandbookSectionInterface, HandbookSectionModule, HandbookSectionService, HandbookThread, type HandbookThreadInput, type HandbookThreadInterface, HandbookThreadMessage, type HandbookThreadMessageInput, type HandbookThreadMessageInterface, HandbookThreadMessageModule, HandbookThreadMessageService, HandbookThreadModule, HandbookThreadService, HowTo, HowToFields, HowToInput, HowToInterface, HowToModule, HowToService, type InviteValidation, InvoiceStatus, JsonApiDataFactory, JsonApiHydratedDataInterface, MOBILE_BREAKPOINT, type MessageTree, MeterInterface, MeterSummaryInterface, Module, type ModuleDefinitions, ModuleFactory, ModuleInterface, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, ModuleWithPermissions, Modules, NextRef, Notification, NotificationFields, NotificationInput, NotificationInterface, NotificationModule, OAuthClient, OAuthClientCreateRequest, OAuthClientCreateResponse, OAuthClientInput, OAuthClientInterface, OAuthConsentInfo, OAuthConsentRequest, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, type PasskeyAuthenticationOptionsInput, type PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyInterface, PasskeyModule, PasskeyRegistrationOptions, type PasskeyRegistrationOptionsInput, type PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, type PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, type PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, type PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PaymentMethodInterface, PermissionMappingModule, PermissionModule, PermissionUser, PreviousRef, PriceRecurring, PromotionCodeValidationResult, ProrationPreviewInterface, Push, type PushInput, type PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, ReportUsageInput, Role, RoleInput, RoleInterface, RoleModule, S3, S3Input, S3Interface, S3Module, STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT, STRIPE_COUPON_REFRESH_SEGMENT, type SearchResultInterface, StripeCoupon, StripeCouponCode, StripeCouponCodeFields, StripeCouponCodeFlagsInput, StripeCouponCodeInput, StripeCouponCodeInterface, StripeCouponCodeModule, StripeCouponCodeService, StripeCouponDiscountType, StripeCouponDurationType, StripeCouponFields, StripeCouponInput, StripeCouponInterface, StripeCouponModule, StripeCouponOffer, type StripeCouponOfferInterface, StripeCouponOfferModule, StripeCouponRenameInput, StripeCouponService, StripeCustomer, StripeCustomerInterface, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceInterface, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceFields, StripePriceInput, StripePriceInterface, StripePriceModule, StripePriceService, StripeProduct, StripeProductFields, StripeProductInput, StripeProductInterface, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionCreateResponse, StripeSubscriptionDiscount, StripeSubscriptionInput, StripeSubscriptionInterface, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageInterface, StripeUsageModule, StripeUsageService, SubscriptionStatus, TableOptions, type ToastOptions, TotpAuthenticator, TotpAuthenticatorInterface, TotpAuthenticatorModule, TotpSetup, type TotpSetupInput, type TotpSetupInterface, TotpSetupModule, TotpVerify, type TotpVerifyInput, TotpVerifyLogin, type TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, type TwoFactorChallengeInput, TwoFactorChallengeInterface, TwoFactorChallengeModule, TwoFactorEnable, type TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, type TwoFactorStatusInterface, TwoFactorStatusModule, UsageSummaryInterface, User, UserInput, UserInterface, UserModule, type UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistFields, type WaitlistInput, type WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, type WaitlistStatsInterface, WaitlistStatsModule, type WaitlistStatus, type WordDiff, checkPermissions, checkPermissionsFromServer, clearLastApiMeta, clearLastApiTotal, cn, composeRefs, couponPlacesLeft, couponPlacesTotal, dateFormatLocale, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatCouponDiscount, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getLastApiMeta, getLastApiTotal, getTableComponents, getTableOptions, getValueFromPath, handbookPageContent, handbookPageSummary, handbookPageTitle, handbookSectionSummary, handbookSectionTitle, hasBootstrapper, isRemoteImageSrc, mergeMessages, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, toPromotionCodeResult, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva };