@schematichq/schematic-typescript-node 1.6.1 → 1.6.3

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 (82) hide show
  1. package/README.md +2 -0
  2. package/dist/api/resources/billing/client/requests/CreateInvoiceRequestBody.d.ts +1 -0
  3. package/dist/api/resources/credits/client/requests/AcquireCreditLeaseRequestBody.d.ts +1 -0
  4. package/dist/api/resources/credits/client/requests/ExtendCreditLeaseRequestBody.d.ts +3 -0
  5. package/dist/api/resources/entitlements/client/requests/CreateBillingLinkedPlanEntitlementRequestBody.d.ts +5 -1
  6. package/dist/api/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.d.ts +5 -1
  7. package/dist/api/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.d.ts +5 -1
  8. package/dist/api/resources/features/client/requests/CheckAndReserveFlagRequestBody.d.ts +4 -2
  9. package/dist/api/types/BillingArrearsCadence.d.ts +1 -0
  10. package/dist/api/types/BillingCreditGrantReason.d.ts +3 -0
  11. package/dist/api/types/BillingCreditResponseData.d.ts +1 -0
  12. package/dist/api/types/BillingPlanCreditGrantBillingMode.d.ts +5 -0
  13. package/dist/api/types/BillingPlanCreditGrantPriceTierResponseData.d.ts +10 -0
  14. package/dist/api/types/BillingPlanCreditGrantResponseData.d.ts +12 -0
  15. package/dist/api/types/ChangeSubscriptionInternalRequestBody.d.ts +2 -0
  16. package/dist/api/types/ChangeSubscriptionRequestBody.d.ts +2 -0
  17. package/dist/api/types/CompanyFeatureUsageExportMetadataVisibleColumnsItem.d.ts +1 -0
  18. package/dist/api/types/CompanyPlanCreditGrantView.d.ts +3 -0
  19. package/dist/api/types/CreateBillingPlanCreditGrantRequestBody.d.ts +11 -1
  20. package/dist/api/types/CreateEntitlementInBundleRequestBody.d.ts +5 -1
  21. package/dist/api/types/CreditEventLedgerResponseData.d.ts +2 -0
  22. package/dist/api/types/CreditGrantPriceTierRequestBody.d.ts +8 -0
  23. package/dist/api/types/CreditTransferReason.d.ts +7 -0
  24. package/dist/api/types/InvoiceRequestBody.d.ts +1 -0
  25. package/dist/api/types/InvoiceResponseData.d.ts +2 -0
  26. package/dist/api/types/ManagePlanRequest.d.ts +2 -0
  27. package/dist/api/types/PlanCreditGrantView.d.ts +3 -0
  28. package/dist/api/types/PlanEntitlementResponseData.d.ts +5 -1
  29. package/dist/api/types/PreviewSubscriptionFinanceResponseData.d.ts +2 -0
  30. package/dist/api/types/RulesengineComparableOperator.d.ts +11 -0
  31. package/dist/api/types/RulesengineCondition.d.ts +1 -1
  32. package/dist/api/types/UpcomingInvoiceResponseData.d.ts +2 -0
  33. package/dist/api/types/UpdateBillingPlanCreditGrantRequestBody.d.ts +11 -1
  34. package/dist/api/types/UsageBasedEntitlementRequestBody.d.ts +5 -1
  35. package/dist/api/types/UsageBasedEntitlementResponseData.d.ts +1 -1
  36. package/dist/api/types/index.d.ts +5 -0
  37. package/dist/cache/redis.d.ts +11 -0
  38. package/dist/credits/check.d.ts +10 -5
  39. package/dist/credits/index.d.ts +3 -3
  40. package/dist/credits/lease-manager.d.ts +74 -2
  41. package/dist/credits/lease-store.d.ts +27 -11
  42. package/dist/credits/redis-lease-store.d.ts +2 -2
  43. package/dist/credits/types.d.ts +1 -0
  44. package/dist/index.js +12 -10
  45. package/dist/serialization/resources/billing/client/requests/CreateInvoiceRequestBody.d.ts +1 -0
  46. package/dist/serialization/resources/credits/client/requests/ExtendCreditLeaseRequestBody.d.ts +1 -0
  47. package/dist/serialization/resources/entitlements/client/requests/CreateBillingLinkedPlanEntitlementRequestBody.d.ts +4 -0
  48. package/dist/serialization/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.d.ts +4 -0
  49. package/dist/serialization/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.d.ts +4 -0
  50. package/dist/serialization/resources/features/client/requests/CheckAndReserveFlagRequestBody.d.ts +1 -0
  51. package/dist/serialization/types/BillingArrearsCadence.d.ts +1 -1
  52. package/dist/serialization/types/BillingCreditGrantReason.d.ts +1 -1
  53. package/dist/serialization/types/BillingCreditResponseData.d.ts +2 -0
  54. package/dist/serialization/types/BillingPlanCreditGrantBillingMode.d.ts +7 -0
  55. package/dist/serialization/types/BillingPlanCreditGrantPriceTierResponseData.d.ts +12 -0
  56. package/dist/serialization/types/BillingPlanCreditGrantResponseData.d.ts +10 -0
  57. package/dist/serialization/types/ChangeSubscriptionInternalRequestBody.d.ts +1 -0
  58. package/dist/serialization/types/ChangeSubscriptionRequestBody.d.ts +1 -0
  59. package/dist/serialization/types/CompanyFeatureUsageExportMetadataVisibleColumnsItem.d.ts +1 -1
  60. package/dist/serialization/types/CompanyPlanCreditGrantView.d.ts +5 -0
  61. package/dist/serialization/types/CreateBillingPlanCreditGrantRequestBody.d.ts +8 -0
  62. package/dist/serialization/types/CreateEntitlementInBundleRequestBody.d.ts +4 -0
  63. package/dist/serialization/types/CreditEventLedgerResponseData.d.ts +3 -0
  64. package/dist/serialization/types/CreditGrantPriceTierRequestBody.d.ts +11 -0
  65. package/dist/serialization/types/CreditTransferReason.d.ts +7 -0
  66. package/dist/serialization/types/InvoiceRequestBody.d.ts +1 -0
  67. package/dist/serialization/types/InvoiceResponseData.d.ts +1 -0
  68. package/dist/serialization/types/ManagePlanRequest.d.ts +1 -0
  69. package/dist/serialization/types/PlanCreditGrantView.d.ts +5 -0
  70. package/dist/serialization/types/PlanEntitlementResponseData.d.ts +4 -0
  71. package/dist/serialization/types/PreviewSubscriptionFinanceResponseData.d.ts +1 -0
  72. package/dist/serialization/types/RulesengineComparableOperator.d.ts +7 -0
  73. package/dist/serialization/types/RulesengineCondition.d.ts +2 -2
  74. package/dist/serialization/types/UpcomingInvoiceResponseData.d.ts +1 -0
  75. package/dist/serialization/types/UpdateBillingPlanCreditGrantRequestBody.d.ts +8 -0
  76. package/dist/serialization/types/UsageBasedEntitlementRequestBody.d.ts +4 -0
  77. package/dist/serialization/types/index.d.ts +5 -0
  78. package/dist/wasm/rulesengine.d.ts +1 -0
  79. package/dist/wasm/rulesengine.js +34 -4
  80. package/dist/wasm/rulesengine_bg.wasm.d.ts +2 -0
  81. package/dist/wrapper.d.ts +50 -16
  82. package/package.json +3 -3
package/README.md CHANGED
@@ -895,6 +895,8 @@ await client.identify(
895
895
 
896
896
  Or call `client.prewarm(evalCtx, creditTypeIds)` directly. Both are no-ops in server mode.
897
897
 
898
+ Pre-warming resolves the company the way the server does: it looks the keys up first, whatever they are named, and only when nothing matches does it read a value carrying Schematic's `comp_` prefix as the company id.
899
+
898
900
  ### Failure behavior
899
901
 
900
902
  A check that cannot be gated (API unreachable, Redis down, lease exhausted) fails closed by default. Override per check:
@@ -26,5 +26,6 @@ export interface CreateInvoiceRequestBody {
26
26
  status?: Schematic.InvoiceStatus;
27
27
  subscriptionExternalId?: string;
28
28
  subtotal: number;
29
+ total?: number;
29
30
  url?: string;
30
31
  }
@@ -9,6 +9,7 @@
9
9
  export interface AcquireCreditLeaseRequestBody {
10
10
  companyId: string;
11
11
  creditTypeId: string;
12
+ /** When the hold lapses if the lease is never released; defaults to five minutes from now and may be at most one hour out. The unspent hold is refunded on expiry */
12
13
  expiresAt?: Date;
13
14
  requestedAmount: number;
14
15
  }
@@ -6,5 +6,8 @@
6
6
  */
7
7
  export interface ExtendCreditLeaseRequestBody {
8
8
  additionalAmount: number;
9
+ /** Pushes the lease's expiry out; may be at most one hour from now. Leave unset to keep the expiry the lease already has */
9
10
  expiresAt?: Date;
11
+ /** A caller-chosen key for safe retries: a second request with the same key returns the lease as it stands instead of growing it again. Keys are unique per environment across every extend */
12
+ idempotencyKey?: string;
10
13
  }
@@ -24,7 +24,11 @@ export interface CreateBillingLinkedPlanEntitlementRequestBody {
24
24
  monthlyPriceTiers?: Schematic.CreatePriceTierRequestBody[];
25
25
  monthlyUnitPrice?: number;
26
26
  monthlyUnitPriceDecimal?: string;
27
+ /** How often overage charges are assessed and invoiced. Defaults to end_of_billing_period, where the billing provider aggregates usage over the subscription's own period and bills it at period end. Set to monthly or quarterly to have overage assessed each month or quarter and billed on its own invoice, which is the point of the setting on annual plans. A quarter charges each month's usage against that month's allowance. Only applies to overage price behavior. */
28
+ overageBillingCadence?: Schematic.BillingArrearsCadence;
27
29
  overageBillingProductId?: string;
30
+ /** Which boundary closes a monthly or quarterly overage window: the subscription's own recurrence (billing_period_start) or the calendar month (month_end). Quarterly windows run in three-month blocks from the billing period start, held to the subscription's own period, or in calendar quarters at month_end. Only applies when overage_billing_cadence is monthly or quarterly, and must match metric_period_month_reset so each window closes when the allowance resets: billing_period_start for billing_cycle, month_end for first_of_month. Defaults to the anchor that matches the reset. */
31
+ overageInvoiceAnchor?: Schematic.BillingArrearsAnchor;
28
32
  planId: string;
29
33
  planVersionId?: string;
30
34
  priceBehavior?: Schematic.EntitlementPriceBehavior;
@@ -36,7 +40,7 @@ export interface CreateBillingLinkedPlanEntitlementRequestBody {
36
40
  quarterlyUnitPriceDecimal?: string;
37
41
  softLimit?: number;
38
42
  tierMode?: Schematic.BillingTiersMode;
39
- /** The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. */
43
+ /** The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */
40
44
  usageQuantity?: number;
41
45
  valueBool?: boolean;
42
46
  valueCreditId?: string;
@@ -20,7 +20,11 @@ export interface CreatePlanEntitlementRequestBody {
20
20
  monthlyPriceTiers?: Schematic.CreatePriceTierRequestBody[];
21
21
  monthlyUnitPrice?: number;
22
22
  monthlyUnitPriceDecimal?: string;
23
+ /** How often overage charges are assessed and invoiced. Defaults to end_of_billing_period, where the billing provider aggregates usage over the subscription's own period and bills it at period end. Set to monthly or quarterly to have overage assessed each month or quarter and billed on its own invoice, which is the point of the setting on annual plans. A quarter charges each month's usage against that month's allowance. Only applies to overage price behavior. */
24
+ overageBillingCadence?: Schematic.BillingArrearsCadence;
23
25
  overageBillingProductId?: string;
26
+ /** Which boundary closes a monthly or quarterly overage window: the subscription's own recurrence (billing_period_start) or the calendar month (month_end). Quarterly windows run in three-month blocks from the billing period start, held to the subscription's own period, or in calendar quarters at month_end. Only applies when overage_billing_cadence is monthly or quarterly, and must match metric_period_month_reset so each window closes when the allowance resets: billing_period_start for billing_cycle, month_end for first_of_month. Defaults to the anchor that matches the reset. */
27
+ overageInvoiceAnchor?: Schematic.BillingArrearsAnchor;
24
28
  planId: string;
25
29
  planVersionId?: string;
26
30
  priceBehavior?: Schematic.EntitlementPriceBehavior;
@@ -32,7 +36,7 @@ export interface CreatePlanEntitlementRequestBody {
32
36
  quarterlyUnitPriceDecimal?: string;
33
37
  softLimit?: number;
34
38
  tierMode?: Schematic.BillingTiersMode;
35
- /** The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. */
39
+ /** The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */
36
40
  usageQuantity?: number;
37
41
  valueBool?: boolean;
38
42
  valueCreditId?: string;
@@ -17,7 +17,11 @@ export interface UpdatePlanEntitlementRequestBody {
17
17
  monthlyPriceTiers?: Schematic.CreatePriceTierRequestBody[];
18
18
  monthlyUnitPrice?: number;
19
19
  monthlyUnitPriceDecimal?: string;
20
+ /** How often overage charges are assessed and invoiced. Defaults to end_of_billing_period, where the billing provider aggregates usage over the subscription's own period and bills it at period end. Set to monthly or quarterly to have overage assessed each month or quarter and billed on its own invoice, which is the point of the setting on annual plans. A quarter charges each month's usage against that month's allowance. Only applies to overage price behavior. */
21
+ overageBillingCadence?: Schematic.BillingArrearsCadence;
20
22
  overageBillingProductId?: string;
23
+ /** Which boundary closes a monthly or quarterly overage window: the subscription's own recurrence (billing_period_start) or the calendar month (month_end). Quarterly windows run in three-month blocks from the billing period start, held to the subscription's own period, or in calendar quarters at month_end. Only applies when overage_billing_cadence is monthly or quarterly, and must match metric_period_month_reset so each window closes when the allowance resets: billing_period_start for billing_cycle, month_end for first_of_month. Defaults to the anchor that matches the reset. */
24
+ overageInvoiceAnchor?: Schematic.BillingArrearsAnchor;
21
25
  priceBehavior?: Schematic.EntitlementPriceBehavior;
22
26
  /** Use MonthlyPriceTiers or YearlyPriceTiers instead */
23
27
  priceTiers?: Schematic.CreatePriceTierRequestBody[];
@@ -27,7 +31,7 @@ export interface UpdatePlanEntitlementRequestBody {
27
31
  quarterlyUnitPriceDecimal?: string;
28
32
  softLimit?: number;
29
33
  tierMode?: Schematic.BillingTiersMode;
30
- /** The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. */
34
+ /** The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */
31
35
  usageQuantity?: number;
32
36
  valueBool?: boolean;
33
37
  valueCreditId?: string;
@@ -7,9 +7,11 @@ export interface CheckAndReserveFlagRequestBody {
7
7
  company?: Record<string, string>;
8
8
  /** When the hold lapses if no track event settles it; defaults to one minute from now and may be at most one hour out. The unspent hold is refunded on expiry */
9
9
  expiresAt?: Date;
10
- /** Hypothetical usage to evaluate the flag against. When credit_cost names the entitlement's credit, that cost is what gets held; otherwise the hold is quantity times the entitlement's consumption rate */
10
+ /** A caller-chosen key for safe retries: a second request with the same key returns the original reservation instead of taking another hold */
11
+ idempotencyKey?: string;
12
+ /** Hypothetical usage to evaluate the flag against. When credit_cost names the entitlement's credit, that cost is what gets held; otherwise the hold is the entitlement's consumption rate times quantity, or, when quantity is omitted, times the usage stated here */
11
13
  preflight?: Schematic.PreflightRequestBody;
12
- /** Units of the feature the operation will consume; defaults to 1. Sets the hold size together with the entitlement's consumption rate, and is echoed back on the reservation for the settling track event */
14
+ /** Units of the feature the operation will consume. Sets the hold size together with the entitlement's consumption rate, and is echoed back on the reservation for the settling track event. When it is omitted the units come from preflight.event_usage.quantity, if that event subtype is the entitlement's, else from preflight.usage, else 1 */
13
15
  quantity?: number;
14
16
  user?: Record<string, string>;
15
17
  }
@@ -1,5 +1,6 @@
1
1
  export declare const BillingArrearsCadence: {
2
2
  readonly EndOfBillingPeriod: "end_of_billing_period";
3
3
  readonly Monthly: "monthly";
4
+ readonly Quarterly: "quarterly";
4
5
  };
5
6
  export type BillingArrearsCadence = (typeof BillingArrearsCadence)[keyof typeof BillingArrearsCadence];
@@ -3,6 +3,9 @@ export declare const BillingCreditGrantReason: {
3
3
  readonly BillingCreditAutoTopup: "billing_credit_auto_topup";
4
4
  readonly Free: "free";
5
5
  readonly Plan: "plan";
6
+ readonly PostpaidForgiven: "postpaid_forgiven";
7
+ readonly PostpaidOverdraft: "postpaid_overdraft";
8
+ readonly PostpaidSettlement: "postpaid_settlement";
6
9
  readonly Purchased: "purchased";
7
10
  readonly Rollover: "rollover";
8
11
  };
@@ -10,6 +10,7 @@ export interface BillingCreditResponseData {
10
10
  description: string;
11
11
  icon?: string;
12
12
  id: string;
13
+ ledgerAuthority: Schematic.BillingCreditLedgerAuthority;
13
14
  name: string;
14
15
  pluralName?: string;
15
16
  price?: Schematic.BillingPriceResponseData;
@@ -0,0 +1,5 @@
1
+ export declare const BillingPlanCreditGrantBillingMode: {
2
+ readonly Granted: "granted";
3
+ readonly Billed: "billed";
4
+ };
5
+ export type BillingPlanCreditGrantBillingMode = (typeof BillingPlanCreditGrantBillingMode)[keyof typeof BillingPlanCreditGrantBillingMode];
@@ -0,0 +1,10 @@
1
+ export interface BillingPlanCreditGrantPriceTierResponseData {
2
+ /** Lower bound of the tier, in credits per invoice (inclusive). */
3
+ from: number;
4
+ /** Price per credit in this tier, in the plan currency's smallest unit. */
5
+ perUnitPrice?: number;
6
+ /** Price per credit in this tier as a decimal, for rates below one cent. */
7
+ perUnitPriceDecimal?: string;
8
+ /** Upper bound of the tier, in credits per invoice (inclusive). Null marks the final, unbounded tier. */
9
+ to?: number;
10
+ }
@@ -16,6 +16,8 @@ export interface BillingPlanCreditGrantResponseData {
16
16
  autoTopupSelfService: boolean;
17
17
  autoTopupThresholdCredits?: number;
18
18
  autoTopupThresholdPercent?: number;
19
+ /** Whether the credits are included in the plan price (granted) or billed as their own subscription line at a price per credit (billed). */
20
+ billingMode: Schematic.BillingPlanCreditGrantBillingMode;
19
21
  /** Deprecated: bundle availability is a per-bundle plan compatibility set now; use compatible_plan_ids on credit bundles instead. */
20
22
  canBuyBundles: boolean;
21
23
  /** Credits granted once per company on top of the per-license amount. Always 0 when scaling is fixed. */
@@ -49,6 +51,10 @@ export interface BillingPlanCreditGrantResponseData {
49
51
  postpaidRatePerUnit?: number;
50
52
  /** Decimal form of postpaid_rate_per_unit, for rates finer than one minor unit. */
51
53
  postpaidRatePerUnitDecimal?: string;
54
+ /** The Stripe price a billed grant bills through. Minted when the plan version is published. */
55
+ price?: Schematic.BillingPriceResponseData;
56
+ /** Tier table pricing the credits, cheapest bound first. Empty unless billing_mode is billed and the credits are priced on tiers. */
57
+ priceTiers: Schematic.BillingPlanCreditGrantPriceTierResponseData[];
52
58
  resetCadence?: Schematic.BillingPlanCreditGrantResetCadence;
53
59
  resetStart?: Schematic.BillingPlanCreditGrantResetStart;
54
60
  resetType?: Schematic.BillingPlanCreditGrantResetType;
@@ -56,5 +62,11 @@ export interface BillingPlanCreditGrantResponseData {
56
62
  rolloverPercentage: number;
57
63
  /** Whether the grant is a fixed amount per company, or issued once per license the company holds. */
58
64
  scaling: Schematic.PlanCreditGrantScaling;
65
+ /** How price_tiers apply: volume prices every credit at the rate of the tier the total lands in, graduated prices each tier's own credits at its own rate. Set only when price_tiers is non-empty. */
66
+ tierMode?: Schematic.BillingTiersMode;
67
+ /** Price per credit in the plan currency's smallest unit. Set only when billing_mode is billed and the credits are priced at one rate. */
68
+ unitPrice?: number;
69
+ /** Price per credit as a decimal in the plan currency's smallest unit. Set only when billing_mode is billed and the rate is below one cent. */
70
+ unitPriceDecimal?: string;
59
71
  updatedAt: Date;
60
72
  }
@@ -6,6 +6,8 @@ export interface ChangeSubscriptionInternalRequestBody {
6
6
  companyId: string;
7
7
  couponExternalId?: string;
8
8
  creditBundles: Schematic.UpdateCreditBundleRequestBody[];
9
+ /** ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem. */
10
+ currency?: string;
9
11
  customFieldValues: Schematic.CheckoutFieldValue[];
10
12
  newPlanId: string;
11
13
  newPriceId: string;
@@ -5,6 +5,8 @@ export interface ChangeSubscriptionRequestBody {
5
5
  billingEntityId?: string;
6
6
  couponExternalId?: string;
7
7
  creditBundles: Schematic.UpdateCreditBundleRequestBody[];
8
+ /** ISO 4217 currency this cart is being built in. Prices are still selected by id; this records the intent, and a cart that prices in another currency is reported as a problem. */
9
+ currency?: string;
8
10
  customFieldValues: Schematic.CheckoutFieldValue[];
9
11
  newPlanId: string;
10
12
  newPriceId: string;
@@ -3,5 +3,6 @@ export declare const CompanyFeatureUsageExportMetadataVisibleColumnsItem: {
3
3
  readonly Subscription: "subscription";
4
4
  readonly Users: "users";
5
5
  readonly LastSeenAt: "last_seen_at";
6
+ readonly CreatedAt: "created_at";
6
7
  };
7
8
  export type CompanyFeatureUsageExportMetadataVisibleColumnsItem = (typeof CompanyFeatureUsageExportMetadataVisibleColumnsItem)[keyof typeof CompanyFeatureUsageExportMetadataVisibleColumnsItem];
@@ -17,6 +17,8 @@ export interface CompanyPlanCreditGrantView {
17
17
  billingCreditPostpaidEnabled: boolean;
18
18
  billingCreditPostpaidRatePerUnit?: number;
19
19
  billingCreditPostpaidRatePerUnitDecimal?: string;
20
+ billingMode: Schematic.BillingPlanCreditGrantBillingMode;
21
+ billingProductPriceId?: string;
20
22
  companyAutoTopupAmount?: number;
21
23
  companyAutoTopupEnabled?: boolean;
22
24
  companyAutoTopupThresholdCredits?: number;
@@ -41,6 +43,7 @@ export interface CompanyPlanCreditGrantView {
41
43
  planVersionId?: string;
42
44
  /** Deprecated field, will be removed in the future. Use Credit.PluralName instead. */
43
45
  pluralName?: string;
46
+ price?: Schematic.BillingPriceView;
44
47
  resetCadence?: Schematic.BillingPlanCreditGrantResetCadence;
45
48
  resetStart?: Schematic.BillingPlanCreditGrantResetStart;
46
49
  resetType: Schematic.BillingPlanCreditGrantResetType;
@@ -3,7 +3,7 @@ export interface CreateBillingPlanCreditGrantRequestBody {
3
3
  applyToExisting?: boolean;
4
4
  /** Which boundary closes a monthly arrears window: the subscription's own recurrence (billing_period_start) or the calendar month (month_end). Only applies when arrears_cadence is monthly; defaults to billing_period_start. */
5
5
  arrearsAnchor?: Schematic.BillingArrearsAnchor;
6
- /** How often postpaid charges are closed and invoiced: end_of_billing_period (the default) or monthly. */
6
+ /** How often postpaid charges are closed and invoiced: end_of_billing_period (the default) or monthly. Quarterly is not available for postpaid charges. */
7
7
  arrearsCadence?: Schematic.BillingArrearsCadence;
8
8
  autoTopupAmount?: number;
9
9
  autoTopupAmountType?: Schematic.CreditAutoTopupAmountType;
@@ -15,6 +15,8 @@ export interface CreateBillingPlanCreditGrantRequestBody {
15
15
  autoTopupSelfService?: boolean;
16
16
  autoTopupThresholdCredits?: number;
17
17
  autoTopupThresholdPercent?: number;
18
+ /** Whether the credits are included in the plan price (granted) or billed as their own subscription line at a price per credit (billed). Billed is only available on custom plans. Defaults to granted. */
19
+ billingMode?: Schematic.BillingPlanCreditGrantBillingMode;
18
20
  /** Deprecated: use compatible_plan_ids on credit bundles instead. Still accepted; writes through to the credit's bundle compatibility. */
19
21
  canBuyBundles?: boolean;
20
22
  /** Credits granted once per company on top of the per-license amount. Only valid when scaling is per_license. Defaults to 0. */
@@ -36,6 +38,8 @@ export interface CreateBillingPlanCreditGrantRequestBody {
36
38
  postpaidRatePerUnit?: number;
37
39
  /** Decimal string form of postpaid_rate_per_unit, for rates finer than one minor unit (for example 0.0002). Takes precedence over postpaid_rate_per_unit when both are set, matching how the credit's own price_per_unit_decimal behaves. */
38
40
  postpaidRatePerUnitDecimal?: string;
41
+ /** Tier table pricing the credits on this grant, cheapest bound first, the last tier unbounded. Give this instead of unit_price to charge a rate that changes with the number of credits on the invoice. Requires tier_mode. */
42
+ priceTiers?: Schematic.CreditGrantPriceTierRequestBody[];
39
43
  resetCadence: Schematic.BillingPlanCreditGrantResetCadence;
40
44
  resetStart: Schematic.BillingPlanCreditGrantResetStart;
41
45
  resetType?: Schematic.BillingPlanCreditGrantResetType;
@@ -43,4 +47,10 @@ export interface CreateBillingPlanCreditGrantRequestBody {
43
47
  rolloverPercentage?: number;
44
48
  /** Whether the grant is a fixed amount per company, or issued once per license the company holds. Defaults to fixed. */
45
49
  scaling?: Schematic.PlanCreditGrantScaling;
50
+ /** How price_tiers apply: volume prices every credit at the rate of the tier the total lands in, graduated prices each tier's own credits at its own rate. Required with price_tiers. */
51
+ tierMode?: Schematic.BillingTiersMode;
52
+ /** Price per credit in the plan currency's smallest unit. Required when billing_mode is billed, unless unit_price_decimal or price_tiers is set. */
53
+ unitPrice?: number;
54
+ /** Price per credit as a decimal in the plan currency's smallest unit, for prices below one cent. */
55
+ unitPriceDecimal?: string;
46
56
  }
@@ -12,7 +12,11 @@ export interface CreateEntitlementInBundleRequestBody {
12
12
  monthlyPriceTiers?: Schematic.CreatePriceTierRequestBody[];
13
13
  monthlyUnitPrice?: number;
14
14
  monthlyUnitPriceDecimal?: string;
15
+ /** How often overage charges are assessed and invoiced. Defaults to end_of_billing_period, where the billing provider aggregates usage over the subscription's own period and bills it at period end. Set to monthly or quarterly to have overage assessed each month or quarter and billed on its own invoice, which is the point of the setting on annual plans. A quarter charges each month's usage against that month's allowance. Only applies to overage price behavior. */
16
+ overageBillingCadence?: Schematic.BillingArrearsCadence;
15
17
  overageBillingProductId?: string;
18
+ /** Which boundary closes a monthly or quarterly overage window: the subscription's own recurrence (billing_period_start) or the calendar month (month_end). Quarterly windows run in three-month blocks from the billing period start, held to the subscription's own period, or in calendar quarters at month_end. Only applies when overage_billing_cadence is monthly or quarterly, and must match metric_period_month_reset so each window closes when the allowance resets: billing_period_start for billing_cycle, month_end for first_of_month. Defaults to the anchor that matches the reset. */
19
+ overageInvoiceAnchor?: Schematic.BillingArrearsAnchor;
16
20
  planId: string;
17
21
  planVersionId?: string;
18
22
  priceBehavior?: Schematic.EntitlementPriceBehavior;
@@ -24,7 +28,7 @@ export interface CreateEntitlementInBundleRequestBody {
24
28
  quarterlyUnitPriceDecimal?: string;
25
29
  softLimit?: number;
26
30
  tierMode?: Schematic.BillingTiersMode;
27
- /** The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. */
31
+ /** The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */
28
32
  usageQuantity?: number;
29
33
  valueBool?: boolean;
30
34
  valueCreditId?: string;
@@ -29,7 +29,9 @@ export interface CreditEventLedgerResponseData {
29
29
  quantityRemainingAtZeroOut?: number;
30
30
  sourceId: number;
31
31
  toGrantId?: string;
32
+ transferReason?: Schematic.CreditTransferReason;
32
33
  usageEventId?: string;
33
34
  usageReason?: Schematic.CreditUsageReason;
35
+ userId?: string;
34
36
  zeroedOutReason?: Schematic.BillingCreditGrantZeroedOutReason;
35
37
  }
@@ -0,0 +1,8 @@
1
+ export interface CreditGrantPriceTierRequestBody {
2
+ /** Price per credit in this tier, in the plan currency's smallest unit. */
3
+ perUnitPrice?: number;
4
+ /** Price per credit in this tier as a decimal in the plan currency's smallest unit, for prices below one cent. */
5
+ perUnitPriceDecimal?: string;
6
+ /** Inclusive upper bound of this tier, counted in credits per invoice. Null marks the final, unbounded tier. */
7
+ upTo?: number;
8
+ }
@@ -0,0 +1,7 @@
1
+ export declare const CreditTransferReason: {
2
+ readonly OverdraftRecovery: "overdraft_recovery";
3
+ readonly PostpaidDebtMoved: "postpaid_debt_moved";
4
+ readonly PostpaidForgiven: "postpaid_forgiven";
5
+ readonly PostpaidPaid: "postpaid_paid";
6
+ };
7
+ export type CreditTransferReason = (typeof CreditTransferReason)[keyof typeof CreditTransferReason];
@@ -13,5 +13,6 @@ export interface InvoiceRequestBody {
13
13
  status?: Schematic.InvoiceStatus;
14
14
  subscriptionExternalId?: string;
15
15
  subtotal: number;
16
+ total?: number;
16
17
  url?: string;
17
18
  }
@@ -19,6 +19,8 @@ export interface InvoiceResponseData {
19
19
  status?: Schematic.InvoiceStatus;
20
20
  subscriptionExternalId?: string;
21
21
  subtotal: number;
22
+ /** Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it: rows synced before the column existed, or pushed without one. */
23
+ total?: number;
22
24
  updatedAt: Date;
23
25
  url?: string;
24
26
  }
@@ -19,6 +19,8 @@ export interface ManagePlanRequest {
19
19
  companyId: string;
20
20
  couponExternalId?: string;
21
21
  creditBundles: Schematic.UpdateCreditBundleRequestBody[];
22
+ /** ISO 4217 currency this change is being built in. Prices are still selected by id; this records the intent. */
23
+ currency?: string;
22
24
  customFieldValues: Schematic.CheckoutFieldValue[];
23
25
  /** Payment terms in days for an invoiced subscription. Defaults to 30. */
24
26
  daysUntilDue?: number;
@@ -17,6 +17,8 @@ export interface PlanCreditGrantView {
17
17
  billingCreditPostpaidEnabled: boolean;
18
18
  billingCreditPostpaidRatePerUnit?: number;
19
19
  billingCreditPostpaidRatePerUnitDecimal?: string;
20
+ billingMode: Schematic.BillingPlanCreditGrantBillingMode;
21
+ billingProductPriceId?: string;
20
22
  companyCreditAmount: number;
21
23
  createdAt: Date;
22
24
  credit?: Schematic.BillingCreditView;
@@ -38,6 +40,7 @@ export interface PlanCreditGrantView {
38
40
  planVersionId?: string;
39
41
  /** Deprecated field, will be removed in the future. Use Credit.PluralName instead. */
40
42
  pluralName?: string;
43
+ price?: Schematic.BillingPriceView;
41
44
  resetCadence?: Schematic.BillingPlanCreditGrantResetCadence;
42
45
  resetStart?: Schematic.BillingPlanCreditGrantResetStart;
43
46
  resetType: Schematic.BillingPlanCreditGrantResetType;
@@ -14,6 +14,10 @@ export interface PlanEntitlementResponseData {
14
14
  meteredYearlyPrice?: Schematic.BillingPriceView;
15
15
  metricPeriod?: Schematic.MetricPeriod;
16
16
  metricPeriodMonthReset?: Schematic.MetricPeriodMonthReset;
17
+ /** How often overage charges are assessed and invoiced. Null or end_of_billing_period means the billing provider aggregates usage over the subscription's own period and bills it at period end. Monthly and quarterly mean Schematic assesses the overage each month or quarter and bills it on its own invoice. Only applies to overage price behavior. */
18
+ overageBillingCadence?: Schematic.BillingArrearsCadence;
19
+ /** Which boundary closes a monthly or quarterly overage window: the subscription's own recurrence (billing_period_start) or the calendar month (month_end), which for a quarterly window means calendar quarters. Only meaningful when overage_billing_cadence is monthly or quarterly. */
20
+ overageInvoiceAnchor?: Schematic.BillingArrearsAnchor;
17
21
  plan?: Schematic.PlanResponseData;
18
22
  planId: string;
19
23
  priceBehavior?: Schematic.EntitlementPriceBehavior;
@@ -22,7 +26,7 @@ export interface PlanEntitlementResponseData {
22
26
  softLimit?: number;
23
27
  updatedAt: Date;
24
28
  usageBasedProduct?: Schematic.BillingProductResponseData;
25
- /** The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. */
29
+ /** The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */
26
30
  usageQuantity?: number;
27
31
  valueBool?: boolean;
28
32
  valueCredit?: Schematic.BillingCreditResponseData;
@@ -1,6 +1,8 @@
1
1
  import type * as Schematic from "../index";
2
2
  export interface PreviewSubscriptionFinanceResponseData {
3
3
  amountOff: number;
4
+ /** ISO 4217 currency every amount in this block is denominated in. */
5
+ currency: string;
4
6
  discountAmount: number;
5
7
  discounts: Schematic.PreviewSubscriptionDiscountResponseData[];
6
8
  dueNow: number;
@@ -0,0 +1,11 @@
1
+ export declare const RulesengineComparableOperator: {
2
+ readonly Eq: "eq";
3
+ readonly Gt: "gt";
4
+ readonly Gte: "gte";
5
+ readonly IsEmpty: "is_empty";
6
+ readonly Lt: "lt";
7
+ readonly Lte: "lte";
8
+ readonly NotEmpty: "not_empty";
9
+ readonly Ne: "ne";
10
+ };
11
+ export type RulesengineComparableOperator = (typeof RulesengineComparableOperator)[keyof typeof RulesengineComparableOperator];
@@ -11,7 +11,7 @@ export interface RulesengineCondition {
11
11
  metricPeriod?: Schematic.RulesengineMetricPeriod;
12
12
  metricPeriodMonthReset?: Schematic.RulesengineMetricPeriodMonthReset;
13
13
  metricValue?: number;
14
- operator: Schematic.ComparableOperator;
14
+ operator: Schematic.RulesengineComparableOperator;
15
15
  resourceIds: string[];
16
16
  traitDefinition?: Schematic.RulesengineTraitDefinition;
17
17
  traitValue: string;
@@ -18,6 +18,8 @@ export interface UpcomingInvoiceResponseData {
18
18
  status?: Schematic.InvoiceStatus;
19
19
  subscriptionExternalId?: string;
20
20
  subtotal: number;
21
+ /** Amount after discounts and tax, before applying the customer balance. Null when the provider has not reported it. */
22
+ total?: number;
21
23
  updatedAt: Date;
22
24
  url?: string;
23
25
  }
@@ -3,7 +3,7 @@ export interface UpdateBillingPlanCreditGrantRequestBody {
3
3
  applyToExisting?: boolean;
4
4
  /** Which boundary closes a monthly arrears window: the subscription's own recurrence (billing_period_start) or the calendar month (month_end). Only applies when arrears_cadence is monthly; defaults to billing_period_start. Send null to fall back to the default. */
5
5
  arrearsAnchor?: Schematic.BillingArrearsAnchor;
6
- /** How often postpaid charges are closed and invoiced: end_of_billing_period (the default) or monthly. Send null to fall back to the default. */
6
+ /** How often postpaid charges are closed and invoiced: end_of_billing_period (the default) or monthly. Quarterly is not available for postpaid charges. Send null to fall back to the default. */
7
7
  arrearsCadence?: Schematic.BillingArrearsCadence;
8
8
  autoTopupAmount?: number;
9
9
  autoTopupAmountType?: Schematic.CreditAutoTopupAmountType;
@@ -15,6 +15,8 @@ export interface UpdateBillingPlanCreditGrantRequestBody {
15
15
  autoTopupSelfService?: boolean;
16
16
  autoTopupThresholdCredits?: number;
17
17
  autoTopupThresholdPercent?: number;
18
+ /** Whether the credits are included in the plan price (granted) or billed as their own subscription line at a price per credit (billed). Billed is only available on custom plans. */
19
+ billingMode?: Schematic.BillingPlanCreditGrantBillingMode;
18
20
  /** Deprecated: use compatible_plan_ids on credit bundles instead. Still accepted; writes through to the credit's bundle compatibility. */
19
21
  canBuyBundles?: boolean;
20
22
  /** Credits granted once per company on top of the per-license amount. Only valid when the grant scales per license. */
@@ -33,6 +35,8 @@ export interface UpdateBillingPlanCreditGrantRequestBody {
33
35
  postpaidRatePerUnit?: number;
34
36
  /** Decimal string form of postpaid_rate_per_unit, for rates finer than one minor unit (for example 0.0002). Takes precedence over postpaid_rate_per_unit when both are set, matching how the credit's own price_per_unit_decimal behaves. Send null to clear it. */
35
37
  postpaidRatePerUnitDecimal?: string;
38
+ /** Tier table pricing the credits on this grant, cheapest bound first, the last tier unbounded. Sending it moves the grant off one rate per credit. Requires tier_mode. */
39
+ priceTiers?: Schematic.CreditGrantPriceTierRequestBody[];
36
40
  resetCadence: Schematic.BillingPlanCreditGrantResetCadence;
37
41
  resetStart: Schematic.BillingPlanCreditGrantResetStart;
38
42
  resetType?: Schematic.BillingPlanCreditGrantResetType;
@@ -40,4 +44,10 @@ export interface UpdateBillingPlanCreditGrantRequestBody {
40
44
  rolloverPercentage?: number;
41
45
  /** Whether the grant is a fixed amount per company, or issued once per license the company holds. Changing this re-issues the credits companies already hold for this grant. */
42
46
  scaling?: Schematic.PlanCreditGrantScaling;
47
+ /** How price_tiers apply: volume prices every credit at the rate of the tier the total lands in, graduated prices each tier's own credits at its own rate. Required with price_tiers. */
48
+ tierMode?: Schematic.BillingTiersMode;
49
+ /** Price per credit in the plan currency's smallest unit. Required when billing_mode is billed, unless unit_price_decimal or price_tiers is set. Sending it moves a tiered grant back to one rate per credit. */
50
+ unitPrice?: number;
51
+ /** Price per credit as a decimal in the plan currency's smallest unit, for prices below one cent. */
52
+ unitPriceDecimal?: string;
43
53
  }
@@ -8,7 +8,11 @@ export interface UsageBasedEntitlementRequestBody {
8
8
  monthlyPriceTiers?: Schematic.CreatePriceTierRequestBody[];
9
9
  monthlyUnitPrice?: number;
10
10
  monthlyUnitPriceDecimal?: string;
11
+ /** How often overage charges are assessed and invoiced. Defaults to end_of_billing_period, where the billing provider aggregates usage over the subscription's own period and bills it at period end. Set to monthly or quarterly to have overage assessed each month or quarter and billed on its own invoice, which is the point of the setting on annual plans. A quarter charges each month's usage against that month's allowance. Only applies to overage price behavior. */
12
+ overageBillingCadence?: Schematic.BillingArrearsCadence;
11
13
  overageBillingProductId?: string;
14
+ /** Which boundary closes a monthly or quarterly overage window: the subscription's own recurrence (billing_period_start) or the calendar month (month_end). Quarterly windows run in three-month blocks from the billing period start, held to the subscription's own period, or in calendar quarters at month_end. Only applies when overage_billing_cadence is monthly or quarterly, and must match metric_period_month_reset so each window closes when the allowance resets: billing_period_start for billing_cycle, month_end for first_of_month. Defaults to the anchor that matches the reset. */
15
+ overageInvoiceAnchor?: Schematic.BillingArrearsAnchor;
12
16
  priceBehavior?: Schematic.EntitlementPriceBehavior;
13
17
  /** Use MonthlyPriceTiers or YearlyPriceTiers instead */
14
18
  priceTiers?: Schematic.CreatePriceTierRequestBody[];
@@ -18,7 +22,7 @@ export interface UsageBasedEntitlementRequestBody {
18
22
  quarterlyUnitPriceDecimal?: string;
19
23
  softLimit?: number;
20
24
  tierMode?: Schematic.BillingTiersMode;
21
- /** The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. */
25
+ /** The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */
22
26
  usageQuantity?: number;
23
27
  yearlyMeteredPriceId?: string;
24
28
  yearlyPriceTiers?: Schematic.CreatePriceTierRequestBody[];
@@ -9,7 +9,7 @@ export interface UsageBasedEntitlementResponseData {
9
9
  monthlyUsageBasedPrice?: Schematic.BillingPriceView;
10
10
  priceBehavior?: Schematic.EntitlementPriceBehavior;
11
11
  quarterlyUsageBasedPrice?: Schematic.BillingPriceView;
12
- /** The committed unit quantity for this entitlement. For custom plans this is the quantity the company is contractually committed to; for standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. Note: this is not yet enforced/auto-provisioned as a true default — it is currently stored for downstream billing use. */
12
+ /** The committed unit quantity for this entitlement. For custom plans this is the minimum the company is contractually committed to: the company can buy more, and finalizing a new plan version sets the subscription quantity to the larger of this value and what the subscription already holds. For standard plans it is the quantity pre-filled when subscribing. Only applies to pay-in-advance entitlements. */
13
13
  usageQuantity?: number;
14
14
  valueBool?: boolean;
15
15
  valueNumeric?: number;
@@ -37,6 +37,8 @@ export * from "./BillingCustomerSubscription";
37
37
  export * from "./BillingCustomerWithSubscriptionsResponseData";
38
38
  export * from "./BillingLinkedResourceResponseData";
39
39
  export * from "./BillingMeterResponseData";
40
+ export * from "./BillingPlanCreditGrantBillingMode";
41
+ export * from "./BillingPlanCreditGrantPriceTierResponseData";
40
42
  export * from "./BillingPlanCreditGrantResetCadence";
41
43
  export * from "./BillingPlanCreditGrantResetStart";
42
44
  export * from "./BillingPlanCreditGrantResetType";
@@ -168,6 +170,7 @@ export * from "./CreditEventLedgerResponseData";
168
170
  export * from "./CreditEventType";
169
171
  export * from "./CreditGrantDetail";
170
172
  export * from "./CreditGrantExpiryRequestBody";
173
+ export * from "./CreditGrantPriceTierRequestBody";
171
174
  export * from "./CreditGrantSortOrder";
172
175
  export * from "./CreditLeaseResponseData";
173
176
  export * from "./CreditReservationResponseData";
@@ -181,6 +184,7 @@ export * from "./CreditsAutoTopupSuccess";
181
184
  export * from "./CreditsCreditPurchaseSuccess";
182
185
  export * from "./CreditsWebhookCompanySummary";
183
186
  export * from "./CreditsWebhookCreditSummary";
187
+ export * from "./CreditTransferReason";
184
188
  export * from "./CreditTransferResponseData";
185
189
  export * from "./CreditTransferView";
186
190
  export * from "./CreditTriggerConfig";
@@ -376,6 +380,7 @@ export * from "./RulesEngineSchemaVersion";
376
380
  export * from "./RulesengineCheckFlagResult";
377
381
  export * from "./RulesengineCompany";
378
382
  export * from "./RulesengineCompanyMetric";
383
+ export * from "./RulesengineComparableOperator";
379
384
  export * from "./RulesengineCondition";
380
385
  export * from "./RulesengineConditionGroup";
381
386
  export * from "./RulesengineConditionType";
@@ -39,6 +39,17 @@ export interface RedisClient {
39
39
  arguments: string[];
40
40
  }): Promise<unknown>;
41
41
  pExpireAt(key: string, timestamp: number): Promise<unknown>;
42
+ multi?(): RedisMulti;
43
+ }
44
+ /**
45
+ * The queued-command half of MULTI/EXEC, as node-redis v4 returns it from
46
+ * `multi()`. Only the commands the SDK queues are declared; every one of them
47
+ * is single-key, so the transaction is safe under Redis Cluster too.
48
+ */
49
+ export interface RedisMulti {
50
+ hSet(key: string, field: string | Record<string, string | number>, value?: string | number): RedisMulti;
51
+ pExpireAt(key: string, timestamp: number): RedisMulti;
52
+ exec(): Promise<unknown>;
42
53
  }
43
54
  export interface RedisOptions extends CacheOptions {
44
55
  /** Pre-created, connected redis client */