@buildbase/sdk 0.0.24 → 0.0.26

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 (133) hide show
  1. package/README.md +82 -0
  2. package/dist/index.d.ts +26 -1
  3. package/dist/index.esm.js +5 -6
  4. package/dist/index.js +5 -6
  5. package/package.json +3 -2
  6. package/dist/index.esm.js.map +0 -1
  7. package/dist/index.js.map +0 -1
  8. package/dist/types/api/currency-utils.d.ts +0 -44
  9. package/dist/types/api/index.d.ts +0 -12
  10. package/dist/types/api/pricing-variant-utils.d.ts +0 -66
  11. package/dist/types/api/quota-utils.d.ts +0 -24
  12. package/dist/types/api/types.d.ts +0 -495
  13. package/dist/types/components/ErrorBoundary.d.ts +0 -81
  14. package/dist/types/components/beta/BetaForm.d.ts +0 -24
  15. package/dist/types/components/beta/api.d.ts +0 -48
  16. package/dist/types/components/beta/hooks.d.ts +0 -11
  17. package/dist/types/components/beta/schema.d.ts +0 -6
  18. package/dist/types/components/beta/types.d.ts +0 -8
  19. package/dist/types/components/dropdowns/country/countries.d.ts +0 -7
  20. package/dist/types/components/dropdowns/country/selectCountry.d.ts +0 -6
  21. package/dist/types/components/dropdowns/currency/currencies.d.ts +0 -6
  22. package/dist/types/components/dropdowns/currency/selectCurrency.d.ts +0 -6
  23. package/dist/types/components/dropdowns/language/languages.d.ts +0 -6
  24. package/dist/types/components/dropdowns/language/selectLanguage.d.ts +0 -6
  25. package/dist/types/components/dropdowns/timezone/selectTimeZone.d.ts +0 -6
  26. package/dist/types/components/dropdowns/timezone/timezones.d.ts +0 -8
  27. package/dist/types/components/features/index.d.ts +0 -130
  28. package/dist/types/components/pricing/PricingPage.d.ts +0 -49
  29. package/dist/types/components/pricing/index.d.ts +0 -2
  30. package/dist/types/components/quota/index.d.ts +0 -121
  31. package/dist/types/components/subscription/index.d.ts +0 -182
  32. package/dist/types/components/ui/alert-dialog.d.ts +0 -20
  33. package/dist/types/components/ui/avatar.d.ts +0 -6
  34. package/dist/types/components/ui/button.d.ts +0 -18
  35. package/dist/types/components/ui/command-select.d.ts +0 -13
  36. package/dist/types/components/ui/command.d.ts +0 -82
  37. package/dist/types/components/ui/dialog.d.ts +0 -19
  38. package/dist/types/components/ui/form.d.ts +0 -23
  39. package/dist/types/components/ui/input.d.ts +0 -5
  40. package/dist/types/components/ui/label.d.ts +0 -5
  41. package/dist/types/components/ui/popover.d.ts +0 -6
  42. package/dist/types/components/ui/radio-group.d.ts +0 -5
  43. package/dist/types/components/ui/scroll-area.d.ts +0 -5
  44. package/dist/types/components/ui/select.d.ts +0 -11
  45. package/dist/types/components/ui/separator.d.ts +0 -4
  46. package/dist/types/components/ui/skeleton.d.ts +0 -3
  47. package/dist/types/components/ui/switch.d.ts +0 -4
  48. package/dist/types/components/user/auth.d.ts +0 -76
  49. package/dist/types/components/user/role.d.ts +0 -84
  50. package/dist/types/contexts/AuthContext/AuthContext.d.ts +0 -9
  51. package/dist/types/contexts/AuthContext/actions.d.ts +0 -12
  52. package/dist/types/contexts/AuthContext/index.d.ts +0 -4
  53. package/dist/types/contexts/AuthContext/reducer.d.ts +0 -19
  54. package/dist/types/contexts/AuthContext/types.d.ts +0 -18
  55. package/dist/types/contexts/OSContext/OSContext.d.ts +0 -9
  56. package/dist/types/contexts/OSContext/actions.d.ts +0 -11
  57. package/dist/types/contexts/OSContext/index.d.ts +0 -4
  58. package/dist/types/contexts/OSContext/reducer.d.ts +0 -11
  59. package/dist/types/contexts/OSContext/types.d.ts +0 -16
  60. package/dist/types/contexts/QuotaUsageContext/QuotaUsageContext.d.ts +0 -22
  61. package/dist/types/contexts/QuotaUsageContext/index.d.ts +0 -2
  62. package/dist/types/contexts/QuotaUsageContext/quotaUsageInvalidation.d.ts +0 -21
  63. package/dist/types/contexts/QuotaUsageContext/types.d.ts +0 -14
  64. package/dist/types/contexts/SDKContext/SDKContextProvider.d.ts +0 -18
  65. package/dist/types/contexts/SDKContext/index.d.ts +0 -2
  66. package/dist/types/contexts/SDKContext/types.d.ts +0 -12
  67. package/dist/types/contexts/SubscriptionContext/SubscriptionContext.d.ts +0 -22
  68. package/dist/types/contexts/SubscriptionContext/index.d.ts +0 -2
  69. package/dist/types/contexts/SubscriptionContext/subscriptionInvalidation.d.ts +0 -21
  70. package/dist/types/contexts/SubscriptionContext/types.d.ts +0 -14
  71. package/dist/types/contexts/WorkspaceContext/WorkspaceContext.d.ts +0 -8
  72. package/dist/types/contexts/WorkspaceContext/actions.d.ts +0 -19
  73. package/dist/types/contexts/WorkspaceContext/index.d.ts +0 -4
  74. package/dist/types/contexts/WorkspaceContext/reducer.d.ts +0 -10
  75. package/dist/types/contexts/WorkspaceContext/types.d.ts +0 -52
  76. package/dist/types/contexts/index.d.ts +0 -14
  77. package/dist/types/contexts/shared/createContext.d.ts +0 -27
  78. package/dist/types/contexts/shared/types.d.ts +0 -21
  79. package/dist/types/contexts/shared/useAppDispatch.d.ts +0 -20
  80. package/dist/types/contexts/shared/useAppSelector.d.ts +0 -26
  81. package/dist/types/contexts/shared/useSelectWithEquality.d.ts +0 -10
  82. package/dist/types/contexts/shared/utils/reducerHelpers.d.ts +0 -11
  83. package/dist/types/contexts/shared/utils/storage.d.ts +0 -25
  84. package/dist/types/hooks/use-seat-status.d.ts +0 -42
  85. package/dist/types/hooks/use-trial-status.d.ts +0 -28
  86. package/dist/types/index.d.ts +0 -39
  87. package/dist/types/lib/api-base.d.ts +0 -49
  88. package/dist/types/lib/api-client.d.ts +0 -25
  89. package/dist/types/lib/api-utils.d.ts +0 -182
  90. package/dist/types/lib/error-handler.d.ts +0 -118
  91. package/dist/types/lib/logger.d.ts +0 -27
  92. package/dist/types/lib/useAsyncEffect.d.ts +0 -29
  93. package/dist/types/lib/utils.d.ts +0 -7
  94. package/dist/types/providers/ContextConfigProvider.d.ts +0 -15
  95. package/dist/types/providers/PortalContainer.d.ts +0 -9
  96. package/dist/types/providers/SaaSOSProvider.d.ts +0 -7
  97. package/dist/types/providers/auth/api.d.ts +0 -12
  98. package/dist/types/providers/auth/hooks.d.ts +0 -75
  99. package/dist/types/providers/auth/provider.d.ts +0 -13
  100. package/dist/types/providers/auth/types.d.ts +0 -62
  101. package/dist/types/providers/auth/utils.d.ts +0 -40
  102. package/dist/types/providers/constants.d.ts +0 -3
  103. package/dist/types/providers/events/EventEmitter.d.ts +0 -81
  104. package/dist/types/providers/events/index.d.ts +0 -2
  105. package/dist/types/providers/events/types.d.ts +0 -61
  106. package/dist/types/providers/os/api.d.ts +0 -11
  107. package/dist/types/providers/os/hooks.d.ts +0 -50
  108. package/dist/types/providers/os/types.d.ts +0 -19
  109. package/dist/types/providers/types.d.ts +0 -9
  110. package/dist/types/providers/user/api.d.ts +0 -16
  111. package/dist/types/providers/user/hooks.d.ts +0 -80
  112. package/dist/types/providers/user/provider.d.ts +0 -17
  113. package/dist/types/providers/workspace/WorkspaceSettingsProvider.d.ts +0 -9
  114. package/dist/types/providers/workspace/api.d.ts +0 -155
  115. package/dist/types/providers/workspace/hooks.d.ts +0 -161
  116. package/dist/types/providers/workspace/provider.d.ts +0 -8
  117. package/dist/types/providers/workspace/settings-manager.d.ts +0 -36
  118. package/dist/types/providers/workspace/subscription-hooks.d.ts +0 -741
  119. package/dist/types/providers/workspace/types.d.ts +0 -61
  120. package/dist/types/providers/workspace/ui/SettingsDanger.d.ts +0 -6
  121. package/dist/types/providers/workspace/ui/SettingsDialog.d.ts +0 -17
  122. package/dist/types/providers/workspace/ui/SettingsFeatures.d.ts +0 -5
  123. package/dist/types/providers/workspace/ui/SettingsGeneral.d.ts +0 -6
  124. package/dist/types/providers/workspace/ui/SettingsInvoices.d.ts +0 -12
  125. package/dist/types/providers/workspace/ui/SettingsProfile.d.ts +0 -6
  126. package/dist/types/providers/workspace/ui/SettingsSubscription.d.ts +0 -6
  127. package/dist/types/providers/workspace/ui/SettingsUsage.d.ts +0 -3
  128. package/dist/types/providers/workspace/ui/SettingsUsers.d.ts +0 -6
  129. package/dist/types/providers/workspace/ui/Sidebar.d.ts +0 -10
  130. package/dist/types/providers/workspace/ui/Skeleton.d.ts +0 -1
  131. package/dist/types/providers/workspace/ui/SubscriptionDialog.d.ts +0 -21
  132. package/dist/types/providers/workspace/ui/utils.d.ts +0 -2
  133. package/dist/types/providers/workspace/utils.d.ts +0 -28
package/README.md CHANGED
@@ -11,6 +11,7 @@ A React SDK for [BuildBase](https://www.buildbase.app/) that provides essential
11
11
  - [Role-Based Access Control](#-role-based-access-control)
12
12
  - [Feature Flags](#️-feature-flags)
13
13
  - [Subscription Gates](#-subscription-gates)
14
+ - [Trial Gates](#-trial-gates)
14
15
  - [User Management](#-user-management)
15
16
  - [Workspace Management](#-complete-workspace-management)
16
17
  - [Public Pricing (No Login)](#-public-pricing-no-login)
@@ -35,6 +36,9 @@ A React SDK for [BuildBase](https://www.buildbase.app/) that provides essential
35
36
  - **👥 Role-Based Access Control** - User roles and workspace-specific permissions
36
37
  - **🎯 Feature Flags** - Workspace-level and user-level feature toggles
37
38
  - **📋 Subscription Gates** - Show or hide UI based on current workspace subscription (plan)
39
+ - **⏳ Trial Gates** - `WhenTrialing`, `WhenNotTrialing`, `WhenTrialEnding` components + `useTrialStatus` hook
40
+ - **💺 Seat-Based Pricing** - Per-seat billing with included seats, billable seat tracking, and seat limit enforcement
41
+ - **💱 Multi-Currency** - Per-currency pricing variants with workspace billing currency lock
38
42
  - **📊 Quota Usage Tracking** - Record and monitor metered usage (API calls, storage, etc.) with real-time status
39
43
  - **📈 Usage Dashboard** - Built-in workspace settings page showing quota consumption, overage billing breakdowns, and billing period info
40
44
  - **👤 User Management** - User attributes and feature flags management
@@ -442,6 +446,74 @@ function SubscriptionStatus() {
442
446
  - When subscription is updated via SDK (e.g. `useUpdateSubscription`, cancel, resume) — refetch is triggered automatically.
443
447
  - When you call `refetch()` (e.g. after redirect from checkout).
444
448
 
449
+ ## ⏳ Trial Gates
450
+
451
+ Control UI based on trial state. Works with Stripe-native trials (both card-required and no-card).
452
+
453
+ ### Trial Gate Components
454
+
455
+ ```tsx
456
+ import { WhenTrialing, WhenNotTrialing, WhenTrialEnding } from '@buildbase/sdk';
457
+
458
+ function TrialExample() {
459
+ return (
460
+ <div>
461
+ {/* Show only during active trial */}
462
+ <WhenTrialing>
463
+ <TrialBanner />
464
+ </WhenTrialing>
465
+
466
+ {/* Show when NOT trialing (active, canceled, or no subscription) */}
467
+ <WhenNotTrialing>
468
+ <RegularContent />
469
+ </WhenNotTrialing>
470
+
471
+ {/* Show when trial ends within N days (default: 3) */}
472
+ <WhenTrialEnding daysThreshold={7}>
473
+ <UpgradeUrgentBanner />
474
+ </WhenTrialEnding>
475
+ </div>
476
+ );
477
+ }
478
+ ```
479
+
480
+ | Component | Renders when |
481
+ | ----------------- | -------------------------------------------------------- |
482
+ | `WhenTrialing` | Subscription status is `trialing` |
483
+ | `WhenNotTrialing` | Subscription status is NOT `trialing` |
484
+ | `WhenTrialEnding` | Trialing AND trial ends within `daysThreshold` days (default 3) |
485
+
486
+ All trial gates support `loadingComponent` and `fallbackComponent` props.
487
+
488
+ ### useTrialStatus
489
+
490
+ Hook that computes trial information from the subscription context:
491
+
492
+ ```tsx
493
+ import { useTrialStatus } from '@buildbase/sdk';
494
+
495
+ function TrialInfo() {
496
+ const { isTrialing, daysRemaining, trialEndsAt, isTrialEnding } = useTrialStatus();
497
+
498
+ if (!isTrialing) return null;
499
+
500
+ return (
501
+ <div>
502
+ <p>Trial ends in {daysRemaining} days</p>
503
+ {isTrialEnding && <p>Upgrade now to keep access!</p>}
504
+ </div>
505
+ );
506
+ }
507
+ ```
508
+
509
+ | Property | Type | Description |
510
+ | --------------- | -------------- | ------------------------------------------------ |
511
+ | `isTrialing` | `boolean` | Whether subscription is in trial |
512
+ | `daysRemaining` | `number` | Days left in trial (0 if not trialing or expired) |
513
+ | `trialEndsAt` | `Date \| null` | Trial end date |
514
+ | `trialStartedAt`| `Date \| null` | Trial start date |
515
+ | `isTrialEnding` | `boolean` | True when 3 or fewer days remaining |
516
+
445
517
  ## 👤 User Management
446
518
 
447
519
  ### User Attributes
@@ -1168,6 +1240,15 @@ All SDK API clients extend a shared base class and are exported from the package
1168
1240
  | `WorkspaceApi` | Workspaces, subscription, invoices, quota usage, users |
1169
1241
  | `SettingsApi` | Organization settings |
1170
1242
 
1243
+ ### Components
1244
+
1245
+ | Component | Purpose |
1246
+ | --- | --- |
1247
+ | `SubscriptionContextProvider` | Provides subscription data to children (included in SaaSOSProvider) |
1248
+ | `WhenSubscription`, `WhenNoSubscription`, `WhenSubscriptionToPlans` | Subscription gate components |
1249
+ | `WhenTrialing`, `WhenNotTrialing`, `WhenTrialEnding` | Trial gate components |
1250
+ | `WhenQuotaAvailable`, `WhenQuotaExhausted`, `WhenQuotaOverage` | Quota gate components |
1251
+
1171
1252
  ### Currency, pricing variant & quota utilities
1172
1253
 
1173
1254
  | Category | Exports |
@@ -1203,6 +1284,7 @@ Prefer these SDK hooks for state and operations instead of `useAppSelector`:
1203
1284
  | `useUserAttributes()` | User attributes and update/refresh |
1204
1285
  | `useUserFeatures()` | User feature flags |
1205
1286
  | `useSubscriptionContext()` | Subscription for current workspace (response, loading, refetch); use inside SubscriptionContextProvider |
1287
+ | `useTrialStatus()` | Trial state: `isTrialing`, `daysRemaining`, `trialEndsAt`, `isTrialEnding` |
1206
1288
  | Subscription hooks | `usePublicPlans`, `useSubscription`, `useSubscriptionManagement`, `usePlanGroup`, `usePlanGroupVersions`, `usePublicPlanGroupVersion`, `useCreateCheckoutSession`, `useUpdateSubscription`, `useCancelSubscription`, `useResumeSubscription`, `useInvoices`, `useInvoice` |
1207
1289
  | `useQuotaUsageContext()` | Quota usage for current workspace (quotas, loading, refetch); use inside QuotaUsageContextProvider |
1208
1290
  | Quota usage hooks | `useRecordUsage`, `useQuotaUsageStatus`, `useAllQuotaUsage`, `useUsageLogs` |
package/dist/index.d.ts CHANGED
@@ -1716,6 +1716,13 @@ declare class WorkspaceApi extends BaseApi {
1716
1716
  * Returns checkout session if payment is required, otherwise returns subscription update response
1717
1717
  */
1718
1718
  updateSubscription(workspaceId: string, request: ISubscriptionUpdateRequest): Promise<ISubscriptionUpdateResponse | ICheckoutSessionResponse>;
1719
+ /**
1720
+ * Create a Stripe Customer Portal session for managing payment methods, invoices, etc.
1721
+ * Returns the portal URL — redirect user to it.
1722
+ */
1723
+ createBillingPortalSession(workspaceId: string, returnUrl?: string): Promise<{
1724
+ url: string;
1725
+ }>;
1719
1726
  /**
1720
1727
  * List invoices for a workspace subscription
1721
1728
  * @param workspaceId - The workspace ID
@@ -2268,6 +2275,24 @@ declare const useInvoices: (workspaceId: string | null | undefined, limit?: numb
2268
2275
  error: string | null;
2269
2276
  refetch: () => Promise<void>;
2270
2277
  };
2278
+ /**
2279
+ * Hook to open the Stripe Customer Portal for managing payment methods, invoices, and subscription.
2280
+ *
2281
+ * @example
2282
+ * ```tsx
2283
+ * const { openBillingPortal, loading } = useBillingPortal(workspaceId);
2284
+ * <Button onClick={() => openBillingPortal()} disabled={loading}>
2285
+ * Manage Payment Method
2286
+ * </Button>
2287
+ * ```
2288
+ */
2289
+ declare const useBillingPortal: (workspaceId: string | null | undefined) => {
2290
+ openBillingPortal: (returnUrl?: string) => Promise<{
2291
+ url: string;
2292
+ }>;
2293
+ loading: boolean;
2294
+ error: string | null;
2295
+ };
2271
2296
  /**
2272
2297
  * Hook to get a single invoice by ID.
2273
2298
  * Automatically fetches when workspaceId or invoiceId changes.
@@ -2862,5 +2887,5 @@ interface FormatQuotaWithPriceOptions {
2862
2887
  */
2863
2888
  declare function formatQuotaWithPrice(value: QuotaDisplayValue, unitName: string, options?: FormatQuotaWithPriceOptions): string;
2864
2889
 
2865
- export { ApiVersion, AuthStatus, BaseApi, BetaForm, CURRENCY_DISPLAY, CURRENCY_FLAG, PLAN_CURRENCY_CODES, PLAN_CURRENCY_OPTIONS, PricingPage, QuotaUsageContextProvider, SaaSOSProvider, SettingsApi, SubscriptionContextProvider, UserApi, WhenAuthenticated, WhenNoSubscription, WhenNotTrialing, WhenQuotaAvailable, WhenQuotaExhausted, WhenQuotaOverage, WhenQuotaThreshold, WhenRoles, WhenSubscription, WhenSubscriptionToPlans, WhenTrialEnding, WhenTrialing, WhenUnauthenticated, WhenUserFeatureDisabled, WhenUserFeatureEnabled, WhenWorkspaceFeatureDisabled, WhenWorkspaceFeatureEnabled, WhenWorkspaceRoles, WorkspaceApi, WorkspaceSwitcher, calculateBillableSeats, calculateSeatOverageCents, calculateTotalSubscriptionCents, eventEmitter, formatCents, formatOverageRate, formatOverageRateWithLabel, formatQuotaIncludedOverage, formatQuotaWithPrice, getAvailableCurrenciesFromPlans, getBasePriceCents, getBillingIntervalAndCurrencyFromPriceId, getCurrencyFlag, getCurrencySymbol, getDisplayCurrency, getPerSeatPriceCents, getPricingVariant, getQuotaDisplayValue, getQuotaDisplayWithVariant, getQuotaOverageCents, getQuotaUnitLabelFromName, getSeatPricing, getStripePriceIdForInterval, invalidateQuotaUsage, invalidateSubscription, useAllQuotaUsage, useCancelSubscription, useCreateCheckoutSession, useInvoice, useInvoices, usePlanGroup, usePlanGroupVersions, usePublicPlanGroupVersion, usePublicPlans, useQuotaUsageContext, useQuotaUsageStatus, useRecordUsage, useResumeSubscription, useSaaSAuth, useSaaSOs, useSaaSSettings, useSaaSWorkspaces, useSeatStatus, useSubscription, useSubscriptionContext, useSubscriptionManagement, useTrialStatus, useUpdateSubscription, useUsageLogs, useUserAttributes, useUserFeatures };
2890
+ export { ApiVersion, AuthStatus, BaseApi, BetaForm, CURRENCY_DISPLAY, CURRENCY_FLAG, PLAN_CURRENCY_CODES, PLAN_CURRENCY_OPTIONS, PricingPage, QuotaUsageContextProvider, SaaSOSProvider, SettingsApi, SubscriptionContextProvider, UserApi, WhenAuthenticated, WhenNoSubscription, WhenNotTrialing, WhenQuotaAvailable, WhenQuotaExhausted, WhenQuotaOverage, WhenQuotaThreshold, WhenRoles, WhenSubscription, WhenSubscriptionToPlans, WhenTrialEnding, WhenTrialing, WhenUnauthenticated, WhenUserFeatureDisabled, WhenUserFeatureEnabled, WhenWorkspaceFeatureDisabled, WhenWorkspaceFeatureEnabled, WhenWorkspaceRoles, WorkspaceApi, WorkspaceSwitcher, calculateBillableSeats, calculateSeatOverageCents, calculateTotalSubscriptionCents, eventEmitter, formatCents, formatOverageRate, formatOverageRateWithLabel, formatQuotaIncludedOverage, formatQuotaWithPrice, getAvailableCurrenciesFromPlans, getBasePriceCents, getBillingIntervalAndCurrencyFromPriceId, getCurrencyFlag, getCurrencySymbol, getDisplayCurrency, getPerSeatPriceCents, getPricingVariant, getQuotaDisplayValue, getQuotaDisplayWithVariant, getQuotaOverageCents, getQuotaUnitLabelFromName, getSeatPricing, getStripePriceIdForInterval, invalidateQuotaUsage, invalidateSubscription, useAllQuotaUsage, useBillingPortal, useCancelSubscription, useCreateCheckoutSession, useInvoice, useInvoices, usePlanGroup, usePlanGroupVersions, usePublicPlanGroupVersion, usePublicPlans, useQuotaUsageContext, useQuotaUsageStatus, useRecordUsage, useResumeSubscription, useSaaSAuth, useSaaSOs, useSaaSSettings, useSaaSWorkspaces, useSeatStatus, useSubscription, useSubscriptionContext, useSubscriptionManagement, useTrialStatus, useUpdateSubscription, useUsageLogs, useUserAttributes, useUserFeatures };
2866
2891
  export type { BillingInterval, CheckoutResult, EventData, EventType, FormatQuotaWithPriceOptions, IAllQuotaUsageResponse, IBaseApiConfig, IBasePricing, ICheckoutSessionRequest, ICheckoutSessionResponse, IEventCallbacks, IInvoice, IInvoiceListResponse, IInvoiceResponse, IPlan, IPlanGroup, IPlanGroupInfo, IPlanGroupLatestVersion, IPlanGroupResponse, IPlanGroupVersion, IPlanGroupVersionWithPlans, IPlanGroupVersionsResponse, IPlanVersion, IPlanVersionSummary, IPlanVersionWithPlan, IPricingVariant, IPublicPlanItem, IPublicPlanItemCategory, IPublicPlanVersion, IPublicPlansResponse, IQuotaByInterval, IQuotaIntervalValue, IQuotaOveragePriceIdsByInterval, IQuotaOveragesByInterval, IQuotaUsageStatus, IQuotaUsageStatusResponse, IRecordUsageRequest, IRecordUsageResponse, IStripePricesByInterval, ISubscription, ISubscriptionItem, ISubscriptionResponse, ISubscriptionUpdateRequest, ISubscriptionUpdateResponse, IUsageLogEntry, IUsageLogsQuery, IUsageLogsResponse, InvoiceStatus, OnWorkspaceChangeParams, PlanVersionWithPricingVariants, PricingPageDetails, PricingPageProps, QuotaDisplayValue, QuotaDisplayWithOverage, QuotaUsageContextValue, SeatStatus, SubscriptionContextValue, TrialStatus, UserCreatedEventData, UserUpdatedEventData, WorkspaceChangedEventData, WorkspaceCreatedEventData, WorkspaceDeletedEventData, WorkspaceUpdatedEventData, WorkspaceUserAddedEventData, WorkspaceUserRemovedEventData, WorkspaceUserRoleChangedEventData };