@stripe/extensibility-sdk 0.23.0 → 0.24.1

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 (28) hide show
  1. package/dist/extensibility-sdk-alpha.d.ts +34 -37
  2. package/dist/extensibility-sdk-beta.d.ts +34 -37
  3. package/dist/extensibility-sdk-extensions-alpha.d.ts +39 -37
  4. package/dist/extensibility-sdk-extensions-beta.d.ts +39 -37
  5. package/dist/extensibility-sdk-extensions-internal.d.ts +39 -37
  6. package/dist/extensibility-sdk-extensions-public.d.ts +39 -37
  7. package/dist/extensibility-sdk-internal.d.ts +34 -37
  8. package/dist/extensibility-sdk-public.d.ts +34 -37
  9. package/dist/extensions/billing/bill/discount_calculation.d.ts +4 -5
  10. package/dist/extensions/billing/bill/discount_calculation.d.ts.map +1 -1
  11. package/dist/extensions/billing/customer_balance_application.d.ts +6 -6
  12. package/dist/extensions/billing/customer_balance_application.d.ts.map +1 -1
  13. package/dist/extensions/billing/invoice_collection_setting.d.ts +4 -4
  14. package/dist/extensions/billing/invoice_collection_setting.d.ts.map +1 -1
  15. package/dist/extensions/billing/prorations.d.ts +4 -4
  16. package/dist/extensions/billing/prorations.d.ts.map +1 -1
  17. package/dist/extensions/billing/recurring_billing_item_handling.d.ts +6 -6
  18. package/dist/extensions/billing/recurring_billing_item_handling.d.ts.map +1 -1
  19. package/dist/extensions/core/workflows/custom_action.d.ts +5 -6
  20. package/dist/extensions/core/workflows/custom_action.d.ts.map +1 -1
  21. package/dist/extensions/extend/workflows/custom_action.d.ts +5 -6
  22. package/dist/extensions/extend/workflows/custom_action.d.ts.map +1 -1
  23. package/dist/extensions/index.cjs +0 -2
  24. package/dist/extensions/index.d.ts +6 -2
  25. package/dist/extensions/index.d.ts.map +1 -1
  26. package/dist/extensions/index.js +1 -2
  27. package/dist/tsconfig.build.tsbuildinfo +1 -1
  28. package/package.json +3 -3
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @deprecated Import from `@stripe/extensibility-sdk` instead.
3
+ * @packageDocumentation
4
+ */
5
+
1
6
  /**
2
7
  * Opaque brand symbol used as a property key in SDK branded types.
3
8
  *
@@ -164,22 +169,21 @@ declare namespace CustomAction {
164
169
  * Executes the custom action at workflow runtime. Called when a workflow triggers this action, with the configured input values.
165
170
  * @public
166
171
  */
167
- type ExecuteFunction<Config extends Record<string, unknown>> = (request: ExecuteCustomActionRequest, config: Config, context: Context) => ExecuteCustomActionResponse | PromiseLike<ExecuteCustomActionResponse>;
172
+ type ExecuteFunction<Config> = (request: ExecuteCustomActionRequest, config: Config, context: Context) => ExecuteCustomActionResponse | PromiseLike<ExecuteCustomActionResponse>;
168
173
  /**
169
174
  * Returns the current form state for the action's configuration UI. Called at configuration time (not runtime) to power dynamic form behavior, including dropdown options, dynamic JSON schemas, field visibility, and validation.
170
175
  * @public
171
176
  */
172
- type GetFormStateFunction<Config extends Record<string, unknown>> = (request: GetFormStateRequest, config: Config, context: Context) => GetFormStateResponse | PromiseLike<GetFormStateResponse>;
177
+ type GetFormStateFunction<Config> = (request: GetFormStateRequest, config: Config, context: Context) => GetFormStateResponse | PromiseLike<GetFormStateResponse>;
173
178
  }
174
179
 
175
180
  /**
176
181
  * @example
177
182
  * ```ts
178
- * import type { Core } from '@stripe/extensibility-sdk/extensions';
179
- * import type { Context } from '@stripe/extensibility-sdk/extensions';
183
+ * import type { Core, Context } from '@stripe/extensibility-sdk';
180
184
  *
181
185
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
182
- * interface MyCustomActionConfig extends Record<string, unknown> {}
186
+ * interface MyCustomActionConfig {}
183
187
  *
184
188
  * export default class MyCustomAction implements Core.Workflows
185
189
  * .CustomAction<MyCustomActionConfig> {
@@ -210,7 +214,7 @@ declare namespace CustomAction {
210
214
  * ```
211
215
  * @public
212
216
  */
213
- declare interface CustomAction<Config extends Record<string, unknown>> {
217
+ declare interface CustomAction<Config> {
214
218
  execute: CustomAction.ExecuteFunction<Config>;
215
219
  getFormState?: CustomAction.GetFormStateFunction<Config>;
216
220
  }
@@ -299,22 +303,21 @@ declare namespace CustomAction_2 {
299
303
  * Executes the custom action at workflow runtime. Called when a workflow triggers this action, with the configured input values.
300
304
  * @public
301
305
  */
302
- type ExecuteFunction<Config extends Record<string, unknown>> = (request: ExecuteCustomActionRequest, config: Config, context: Context) => ExecuteCustomActionResponse | PromiseLike<ExecuteCustomActionResponse>;
306
+ type ExecuteFunction<Config> = (request: ExecuteCustomActionRequest, config: Config, context: Context) => ExecuteCustomActionResponse | PromiseLike<ExecuteCustomActionResponse>;
303
307
  /**
304
308
  * Returns the current form state for the action's configuration UI. Called at configuration time (not runtime) to power dynamic form behavior, including dropdown options, dynamic JSON schemas, field visibility, and validation.
305
309
  * @public
306
310
  */
307
- type GetFormStateFunction<Config extends Record<string, unknown>> = (request: GetFormStateRequest, config: Config, context: Context) => GetFormStateResponse | PromiseLike<GetFormStateResponse>;
311
+ type GetFormStateFunction<Config> = (request: GetFormStateRequest, config: Config, context: Context) => GetFormStateResponse | PromiseLike<GetFormStateResponse>;
308
312
  }
309
313
 
310
314
  /**
311
315
  * @example
312
316
  * ```ts
313
- * import type { Extend } from '@stripe/extensibility-sdk/extensions';
314
- * import type { Context } from '@stripe/extensibility-sdk/extensions';
317
+ * import type { Extend, Context } from '@stripe/extensibility-sdk';
315
318
  *
316
319
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
317
- * interface MyCustomActionConfig extends Record<string, unknown> {}
320
+ * interface MyCustomActionConfig {}
318
321
  *
319
322
  * export default class MyCustomAction implements Extend.Workflows
320
323
  * .CustomAction<MyCustomActionConfig> {
@@ -345,7 +348,7 @@ declare namespace CustomAction_2 {
345
348
  * ```
346
349
  * @public
347
350
  */
348
- declare interface CustomAction_2<Config extends Record<string, unknown>> {
351
+ declare interface CustomAction_2<Config> {
349
352
  execute: CustomAction_2.ExecuteFunction<Config>;
350
353
  getFormState?: CustomAction_2.GetFormStateFunction<Config>;
351
354
  }
@@ -395,21 +398,21 @@ declare namespace CustomerBalanceApplication {
395
398
  * Determines how much of the customer's balance to apply toward a bill total. The script receives the invoice total and current customer balance, then returns how much of that balance to apply.
396
399
  * @public
397
400
  */
398
- type ComputeAppliedCustomerBalanceFunction<Config extends Record<string, unknown>> = (request: CustomerBalanceApplicationInput, config: Config, context: Context) => CustomerBalanceApplicationResult;
401
+ type ComputeAppliedCustomerBalanceFunction<Config> = (request: CustomerBalanceApplicationInput, config: Config, context: Context) => CustomerBalanceApplicationResult;
399
402
  }
400
403
 
401
404
  /**
402
405
  * @example
403
406
  * ```ts
404
- * import type { Billing, Context } from '@stripe/extensibility-sdk/extensions';
407
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
405
408
  *
406
409
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
407
- * interface MyCustomerBalanceApplicationConfig extends Record<string, unknown> {}
410
+ * interface MyBalanceAppConfig {}
408
411
  *
409
- * export default class MyCustomerBalanceApplication implements Billing.CustomerBalanceApplication<MyCustomerBalanceApplicationConfig> {
412
+ * export default class MyBalanceApp implements Billing.CustomerBalanceApplication<MyBalanceAppConfig> {
410
413
  * computeAppliedCustomerBalance(
411
414
  * request: Billing.CustomerBalanceApplication.CustomerBalanceApplicationInput,
412
- * _config: MyCustomerBalanceApplicationConfig,
415
+ * _config: MyBalanceAppConfig,
413
416
  * _context: Context
414
417
  * ) {
415
418
  * // TODO: implement your customer balance logic here
@@ -423,7 +426,7 @@ declare namespace CustomerBalanceApplication {
423
426
  * ```
424
427
  * @public
425
428
  */
426
- declare interface CustomerBalanceApplication<Config extends Record<string, unknown>> {
429
+ declare interface CustomerBalanceApplication<Config> {
427
430
  computeAppliedCustomerBalance: CustomerBalanceApplication.ComputeAppliedCustomerBalanceFunction<Config>;
428
431
  }
429
432
 
@@ -827,17 +830,16 @@ declare namespace DiscountCalculation {
827
830
  * Computes discount amounts for a discountable item and returns a discount result.
828
831
  * @public
829
832
  */
830
- type ComputeDiscountsFunction<Config extends Record<string, unknown>> = (request: DiscountableItem, config: Config, context: Context) => DiscountResult;
833
+ type ComputeDiscountsFunction<Config> = (request: DiscountableItem, config: Config, context: Context) => DiscountResult;
831
834
  }
832
835
 
833
836
  /**
834
837
  * @example
835
838
  * ```ts
836
- * import type { Billing } from '@stripe/extensibility-sdk/extensions';
837
- * import type { Context } from '@stripe/extensibility-sdk/extensions';
839
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
838
840
  *
839
841
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
840
- * interface MyDiscountCalculationConfig extends Record<string, unknown> {}
842
+ * interface MyDiscountCalculationConfig {}
841
843
  *
842
844
  * export default class MyDiscountCalculation implements Billing.Bill
843
845
  * .DiscountCalculation<MyDiscountCalculationConfig> {
@@ -857,7 +859,7 @@ declare namespace DiscountCalculation {
857
859
  * ```
858
860
  * @public
859
861
  */
860
- declare interface DiscountCalculation<Config extends Record<string, unknown>> {
862
+ declare interface DiscountCalculation<Config> {
861
863
  computeDiscounts: DiscountCalculation.ComputeDiscountsFunction<Config>;
862
864
  }
863
865
 
@@ -949,16 +951,16 @@ declare namespace InvoiceCollectionSetting {
949
951
  * Overrides invoice collection settings before a draft invoice is created.
950
952
  * @public
951
953
  */
952
- type CollectionOverrideFunction<Config extends Record<string, unknown>> = (request: InvoiceCollectionRequest, config: Config, context: Context) => InvoiceCollectionResponse;
954
+ type CollectionOverrideFunction<Config> = (request: InvoiceCollectionRequest, config: Config, context: Context) => InvoiceCollectionResponse;
953
955
  }
954
956
 
955
957
  /**
956
958
  * @example
957
959
  * ```ts
958
- * import type { Billing, Context } from '@stripe/extensibility-sdk/extensions';
960
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
959
961
  *
960
962
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
961
- * interface MyInvoiceCollectionSettingConfig extends Record<string, unknown> {}
963
+ * interface MyInvoiceCollectionSettingConfig {}
962
964
  *
963
965
  * export default class MyInvoiceCollectionSetting implements Billing.InvoiceCollectionSetting<MyInvoiceCollectionSettingConfig> {
964
966
  * collectionOverride(
@@ -975,7 +977,7 @@ declare namespace InvoiceCollectionSetting {
975
977
  * ```
976
978
  * @public
977
979
  */
978
- declare interface InvoiceCollectionSetting<Config extends Record<string, unknown>> {
980
+ declare interface InvoiceCollectionSetting<Config> {
979
981
  collectionOverride: InvoiceCollectionSetting.CollectionOverrideFunction<Config>;
980
982
  }
981
983
 
@@ -1188,16 +1190,16 @@ declare namespace Prorations {
1188
1190
  * Calculates prorated amounts for subscription items when changes occur mid-billing period. The script receives the invoice items, then returns computed proration factors for each item.
1189
1191
  * @public
1190
1192
  */
1191
- type ProrateItemsFunction<Config extends Record<string, unknown>> = (request: ProrateItemsInput, config: Config, context: Context) => ProrateItemsResult;
1193
+ type ProrateItemsFunction<Config> = (request: ProrateItemsInput, config: Config, context: Context) => ProrateItemsResult;
1192
1194
  }
1193
1195
 
1194
1196
  /**
1195
1197
  * @example
1196
1198
  * ```ts
1197
- * import type { Billing, Context } from '@stripe/extensibility-sdk/extensions';
1199
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1198
1200
  *
1199
1201
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1200
- * interface MyProrationsConfig extends Record<string, unknown> {}
1202
+ * interface MyProrationsConfig {}
1201
1203
  *
1202
1204
  * export default class MyProrations implements Billing.Prorations<MyProrationsConfig> {
1203
1205
  * prorateItems(
@@ -1216,7 +1218,7 @@ declare namespace Prorations {
1216
1218
  * ```
1217
1219
  * @public
1218
1220
  */
1219
- declare interface Prorations<Config extends Record<string, unknown>> {
1221
+ declare interface Prorations<Config> {
1220
1222
  prorateItems: Prorations.ProrateItemsFunction<Config>;
1221
1223
  }
1222
1224
 
@@ -1455,26 +1457,26 @@ declare namespace RecurringBillingItemHandling {
1455
1457
  * Runs before invoice items are created. Decides whether each item should be created or skipped.
1456
1458
  * @public
1457
1459
  */
1458
- type BeforeItemCreationFunction<Config extends Record<string, unknown>> = (request: BeforeItemCreationInput, config: Config, context: Context) => BeforeItemCreationResult;
1460
+ type BeforeItemCreationFunction<Config> = (request: BeforeItemCreationInput, config: Config, context: Context) => BeforeItemCreationResult;
1459
1461
  /**
1460
1462
  * Runs before invoices are created. Decides which items to include on the invoice. Items not included are deferred as pending invoice items.
1461
1463
  * @public
1462
1464
  */
1463
- type FilterItemsFunction<Config extends Record<string, unknown>> = (request: FilterItemsInput, config: Config, context: Context) => FilterItemsResult;
1465
+ type FilterItemsFunction<Config> = (request: FilterItemsInput, config: Config, context: Context) => FilterItemsResult;
1464
1466
  /**
1465
1467
  * Runs before invoices are created. Decides how items are grouped across one or more invoices.
1466
1468
  * @public
1467
1469
  */
1468
- type GroupItemsFunction<Config extends Record<string, unknown>> = (request: GroupItemsInput, config: Config, context: Context) => GroupItemsResult;
1470
+ type GroupItemsFunction<Config> = (request: GroupItemsInput, config: Config, context: Context) => GroupItemsResult;
1469
1471
  }
1470
1472
 
1471
1473
  /**
1472
1474
  * @example
1473
1475
  * ```ts
1474
- * import type { Billing, Context } from '@stripe/extensibility-sdk/extensions';
1476
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1475
1477
  *
1476
1478
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1477
- * interface MyRecurringBillingItemHandlingConfig extends Record<string, unknown> {}
1479
+ * interface MyRecurringBillingItemHandlingConfig {}
1478
1480
  *
1479
1481
  * export default class MyRecurringBillingItemHandling implements Billing.RecurringBillingItemHandling<MyRecurringBillingItemHandlingConfig> {
1480
1482
  * beforeItemCreation(
@@ -1517,7 +1519,7 @@ declare namespace RecurringBillingItemHandling {
1517
1519
  * ```
1518
1520
  * @public
1519
1521
  */
1520
- declare interface RecurringBillingItemHandling<Config extends Record<string, unknown>> {
1522
+ declare interface RecurringBillingItemHandling<Config> {
1521
1523
  beforeItemCreation: RecurringBillingItemHandling.BeforeItemCreationFunction<Config>;
1522
1524
  filterItems: RecurringBillingItemHandling.FilterItemsFunction<Config>;
1523
1525
  groupItems: RecurringBillingItemHandling.GroupItemsFunction<Config>;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @deprecated Import from `@stripe/extensibility-sdk` instead.
3
+ * @packageDocumentation
4
+ */
5
+
1
6
  /**
2
7
  * Opaque brand symbol used as a property key in SDK branded types.
3
8
  *
@@ -164,22 +169,21 @@ declare namespace CustomAction {
164
169
  * Executes the custom action at workflow runtime. Called when a workflow triggers this action, with the configured input values.
165
170
  * @public
166
171
  */
167
- type ExecuteFunction<Config extends Record<string, unknown>> = (request: ExecuteCustomActionRequest, config: Config, context: Context) => ExecuteCustomActionResponse | PromiseLike<ExecuteCustomActionResponse>;
172
+ type ExecuteFunction<Config> = (request: ExecuteCustomActionRequest, config: Config, context: Context) => ExecuteCustomActionResponse | PromiseLike<ExecuteCustomActionResponse>;
168
173
  /**
169
174
  * Returns the current form state for the action's configuration UI. Called at configuration time (not runtime) to power dynamic form behavior, including dropdown options, dynamic JSON schemas, field visibility, and validation.
170
175
  * @public
171
176
  */
172
- type GetFormStateFunction<Config extends Record<string, unknown>> = (request: GetFormStateRequest, config: Config, context: Context) => GetFormStateResponse | PromiseLike<GetFormStateResponse>;
177
+ type GetFormStateFunction<Config> = (request: GetFormStateRequest, config: Config, context: Context) => GetFormStateResponse | PromiseLike<GetFormStateResponse>;
173
178
  }
174
179
 
175
180
  /**
176
181
  * @example
177
182
  * ```ts
178
- * import type { Core } from '@stripe/extensibility-sdk/extensions';
179
- * import type { Context } from '@stripe/extensibility-sdk/extensions';
183
+ * import type { Core, Context } from '@stripe/extensibility-sdk';
180
184
  *
181
185
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
182
- * interface MyCustomActionConfig extends Record<string, unknown> {}
186
+ * interface MyCustomActionConfig {}
183
187
  *
184
188
  * export default class MyCustomAction implements Core.Workflows
185
189
  * .CustomAction<MyCustomActionConfig> {
@@ -210,7 +214,7 @@ declare namespace CustomAction {
210
214
  * ```
211
215
  * @public
212
216
  */
213
- declare interface CustomAction<Config extends Record<string, unknown>> {
217
+ declare interface CustomAction<Config> {
214
218
  execute: CustomAction.ExecuteFunction<Config>;
215
219
  getFormState?: CustomAction.GetFormStateFunction<Config>;
216
220
  }
@@ -299,22 +303,21 @@ declare namespace CustomAction_2 {
299
303
  * Executes the custom action at workflow runtime. Called when a workflow triggers this action, with the configured input values.
300
304
  * @public
301
305
  */
302
- type ExecuteFunction<Config extends Record<string, unknown>> = (request: ExecuteCustomActionRequest, config: Config, context: Context) => ExecuteCustomActionResponse | PromiseLike<ExecuteCustomActionResponse>;
306
+ type ExecuteFunction<Config> = (request: ExecuteCustomActionRequest, config: Config, context: Context) => ExecuteCustomActionResponse | PromiseLike<ExecuteCustomActionResponse>;
303
307
  /**
304
308
  * Returns the current form state for the action's configuration UI. Called at configuration time (not runtime) to power dynamic form behavior, including dropdown options, dynamic JSON schemas, field visibility, and validation.
305
309
  * @public
306
310
  */
307
- type GetFormStateFunction<Config extends Record<string, unknown>> = (request: GetFormStateRequest, config: Config, context: Context) => GetFormStateResponse | PromiseLike<GetFormStateResponse>;
311
+ type GetFormStateFunction<Config> = (request: GetFormStateRequest, config: Config, context: Context) => GetFormStateResponse | PromiseLike<GetFormStateResponse>;
308
312
  }
309
313
 
310
314
  /**
311
315
  * @example
312
316
  * ```ts
313
- * import type { Extend } from '@stripe/extensibility-sdk/extensions';
314
- * import type { Context } from '@stripe/extensibility-sdk/extensions';
317
+ * import type { Extend, Context } from '@stripe/extensibility-sdk';
315
318
  *
316
319
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
317
- * interface MyCustomActionConfig extends Record<string, unknown> {}
320
+ * interface MyCustomActionConfig {}
318
321
  *
319
322
  * export default class MyCustomAction implements Extend.Workflows
320
323
  * .CustomAction<MyCustomActionConfig> {
@@ -345,7 +348,7 @@ declare namespace CustomAction_2 {
345
348
  * ```
346
349
  * @public
347
350
  */
348
- declare interface CustomAction_2<Config extends Record<string, unknown>> {
351
+ declare interface CustomAction_2<Config> {
349
352
  execute: CustomAction_2.ExecuteFunction<Config>;
350
353
  getFormState?: CustomAction_2.GetFormStateFunction<Config>;
351
354
  }
@@ -395,21 +398,21 @@ declare namespace CustomerBalanceApplication {
395
398
  * Determines how much of the customer's balance to apply toward a bill total. The script receives the invoice total and current customer balance, then returns how much of that balance to apply.
396
399
  * @public
397
400
  */
398
- type ComputeAppliedCustomerBalanceFunction<Config extends Record<string, unknown>> = (request: CustomerBalanceApplicationInput, config: Config, context: Context) => CustomerBalanceApplicationResult;
401
+ type ComputeAppliedCustomerBalanceFunction<Config> = (request: CustomerBalanceApplicationInput, config: Config, context: Context) => CustomerBalanceApplicationResult;
399
402
  }
400
403
 
401
404
  /**
402
405
  * @example
403
406
  * ```ts
404
- * import type { Billing, Context } from '@stripe/extensibility-sdk/extensions';
407
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
405
408
  *
406
409
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
407
- * interface MyCustomerBalanceApplicationConfig extends Record<string, unknown> {}
410
+ * interface MyBalanceAppConfig {}
408
411
  *
409
- * export default class MyCustomerBalanceApplication implements Billing.CustomerBalanceApplication<MyCustomerBalanceApplicationConfig> {
412
+ * export default class MyBalanceApp implements Billing.CustomerBalanceApplication<MyBalanceAppConfig> {
410
413
  * computeAppliedCustomerBalance(
411
414
  * request: Billing.CustomerBalanceApplication.CustomerBalanceApplicationInput,
412
- * _config: MyCustomerBalanceApplicationConfig,
415
+ * _config: MyBalanceAppConfig,
413
416
  * _context: Context
414
417
  * ) {
415
418
  * // TODO: implement your customer balance logic here
@@ -423,7 +426,7 @@ declare namespace CustomerBalanceApplication {
423
426
  * ```
424
427
  * @public
425
428
  */
426
- declare interface CustomerBalanceApplication<Config extends Record<string, unknown>> {
429
+ declare interface CustomerBalanceApplication<Config> {
427
430
  computeAppliedCustomerBalance: CustomerBalanceApplication.ComputeAppliedCustomerBalanceFunction<Config>;
428
431
  }
429
432
 
@@ -827,17 +830,16 @@ declare namespace DiscountCalculation {
827
830
  * Computes discount amounts for a discountable item and returns a discount result.
828
831
  * @public
829
832
  */
830
- type ComputeDiscountsFunction<Config extends Record<string, unknown>> = (request: DiscountableItem, config: Config, context: Context) => DiscountResult;
833
+ type ComputeDiscountsFunction<Config> = (request: DiscountableItem, config: Config, context: Context) => DiscountResult;
831
834
  }
832
835
 
833
836
  /**
834
837
  * @example
835
838
  * ```ts
836
- * import type { Billing } from '@stripe/extensibility-sdk/extensions';
837
- * import type { Context } from '@stripe/extensibility-sdk/extensions';
839
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
838
840
  *
839
841
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
840
- * interface MyDiscountCalculationConfig extends Record<string, unknown> {}
842
+ * interface MyDiscountCalculationConfig {}
841
843
  *
842
844
  * export default class MyDiscountCalculation implements Billing.Bill
843
845
  * .DiscountCalculation<MyDiscountCalculationConfig> {
@@ -857,7 +859,7 @@ declare namespace DiscountCalculation {
857
859
  * ```
858
860
  * @public
859
861
  */
860
- declare interface DiscountCalculation<Config extends Record<string, unknown>> {
862
+ declare interface DiscountCalculation<Config> {
861
863
  computeDiscounts: DiscountCalculation.ComputeDiscountsFunction<Config>;
862
864
  }
863
865
 
@@ -949,16 +951,16 @@ declare namespace InvoiceCollectionSetting {
949
951
  * Overrides invoice collection settings before a draft invoice is created.
950
952
  * @public
951
953
  */
952
- type CollectionOverrideFunction<Config extends Record<string, unknown>> = (request: InvoiceCollectionRequest, config: Config, context: Context) => InvoiceCollectionResponse;
954
+ type CollectionOverrideFunction<Config> = (request: InvoiceCollectionRequest, config: Config, context: Context) => InvoiceCollectionResponse;
953
955
  }
954
956
 
955
957
  /**
956
958
  * @example
957
959
  * ```ts
958
- * import type { Billing, Context } from '@stripe/extensibility-sdk/extensions';
960
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
959
961
  *
960
962
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
961
- * interface MyInvoiceCollectionSettingConfig extends Record<string, unknown> {}
963
+ * interface MyInvoiceCollectionSettingConfig {}
962
964
  *
963
965
  * export default class MyInvoiceCollectionSetting implements Billing.InvoiceCollectionSetting<MyInvoiceCollectionSettingConfig> {
964
966
  * collectionOverride(
@@ -975,7 +977,7 @@ declare namespace InvoiceCollectionSetting {
975
977
  * ```
976
978
  * @public
977
979
  */
978
- declare interface InvoiceCollectionSetting<Config extends Record<string, unknown>> {
980
+ declare interface InvoiceCollectionSetting<Config> {
979
981
  collectionOverride: InvoiceCollectionSetting.CollectionOverrideFunction<Config>;
980
982
  }
981
983
 
@@ -1188,16 +1190,16 @@ declare namespace Prorations {
1188
1190
  * Calculates prorated amounts for subscription items when changes occur mid-billing period. The script receives the invoice items, then returns computed proration factors for each item.
1189
1191
  * @public
1190
1192
  */
1191
- type ProrateItemsFunction<Config extends Record<string, unknown>> = (request: ProrateItemsInput, config: Config, context: Context) => ProrateItemsResult;
1193
+ type ProrateItemsFunction<Config> = (request: ProrateItemsInput, config: Config, context: Context) => ProrateItemsResult;
1192
1194
  }
1193
1195
 
1194
1196
  /**
1195
1197
  * @example
1196
1198
  * ```ts
1197
- * import type { Billing, Context } from '@stripe/extensibility-sdk/extensions';
1199
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1198
1200
  *
1199
1201
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1200
- * interface MyProrationsConfig extends Record<string, unknown> {}
1202
+ * interface MyProrationsConfig {}
1201
1203
  *
1202
1204
  * export default class MyProrations implements Billing.Prorations<MyProrationsConfig> {
1203
1205
  * prorateItems(
@@ -1216,7 +1218,7 @@ declare namespace Prorations {
1216
1218
  * ```
1217
1219
  * @public
1218
1220
  */
1219
- declare interface Prorations<Config extends Record<string, unknown>> {
1221
+ declare interface Prorations<Config> {
1220
1222
  prorateItems: Prorations.ProrateItemsFunction<Config>;
1221
1223
  }
1222
1224
 
@@ -1455,26 +1457,26 @@ declare namespace RecurringBillingItemHandling {
1455
1457
  * Runs before invoice items are created. Decides whether each item should be created or skipped.
1456
1458
  * @public
1457
1459
  */
1458
- type BeforeItemCreationFunction<Config extends Record<string, unknown>> = (request: BeforeItemCreationInput, config: Config, context: Context) => BeforeItemCreationResult;
1460
+ type BeforeItemCreationFunction<Config> = (request: BeforeItemCreationInput, config: Config, context: Context) => BeforeItemCreationResult;
1459
1461
  /**
1460
1462
  * Runs before invoices are created. Decides which items to include on the invoice. Items not included are deferred as pending invoice items.
1461
1463
  * @public
1462
1464
  */
1463
- type FilterItemsFunction<Config extends Record<string, unknown>> = (request: FilterItemsInput, config: Config, context: Context) => FilterItemsResult;
1465
+ type FilterItemsFunction<Config> = (request: FilterItemsInput, config: Config, context: Context) => FilterItemsResult;
1464
1466
  /**
1465
1467
  * Runs before invoices are created. Decides how items are grouped across one or more invoices.
1466
1468
  * @public
1467
1469
  */
1468
- type GroupItemsFunction<Config extends Record<string, unknown>> = (request: GroupItemsInput, config: Config, context: Context) => GroupItemsResult;
1470
+ type GroupItemsFunction<Config> = (request: GroupItemsInput, config: Config, context: Context) => GroupItemsResult;
1469
1471
  }
1470
1472
 
1471
1473
  /**
1472
1474
  * @example
1473
1475
  * ```ts
1474
- * import type { Billing, Context } from '@stripe/extensibility-sdk/extensions';
1476
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1475
1477
  *
1476
1478
  * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1477
- * interface MyRecurringBillingItemHandlingConfig extends Record<string, unknown> {}
1479
+ * interface MyRecurringBillingItemHandlingConfig {}
1478
1480
  *
1479
1481
  * export default class MyRecurringBillingItemHandling implements Billing.RecurringBillingItemHandling<MyRecurringBillingItemHandlingConfig> {
1480
1482
  * beforeItemCreation(
@@ -1517,7 +1519,7 @@ declare namespace RecurringBillingItemHandling {
1517
1519
  * ```
1518
1520
  * @public
1519
1521
  */
1520
- declare interface RecurringBillingItemHandling<Config extends Record<string, unknown>> {
1522
+ declare interface RecurringBillingItemHandling<Config> {
1521
1523
  beforeItemCreation: RecurringBillingItemHandling.BeforeItemCreationFunction<Config>;
1522
1524
  filterItems: RecurringBillingItemHandling.FilterItemsFunction<Config>;
1523
1525
  groupItems: RecurringBillingItemHandling.GroupItemsFunction<Config>;