@stripe/extensibility-sdk 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1054,13 +1054,13 @@ declare namespace InvoiceCollectionOptions {
1054
1054
  } | {
1055
1055
  otherPayer: string;
1056
1056
  payer: 'other';
1057
- }) & ({
1057
+ } | { payer?: never }) & ({
1058
1058
  invoiceParentType: 'other';
1059
1059
  otherInvoiceParentType: string;
1060
1060
  } | {
1061
1061
  invoiceParentType: 'subscription';
1062
1062
  subscription: SubscriptionParent;
1063
- } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' }) & { collectionOptions: CollectionOptions };
1063
+ } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' } | { invoiceParentType?: never }) & { collectionOptions: CollectionOptions };
1064
1064
  /** @public */
1065
1065
  interface Customer {
1066
1066
  id: string;
@@ -1124,7 +1124,29 @@ declare namespace InvoiceCollectionOptions {
1124
1124
  type OverrideOptionsFunction<Config> = (request: InvoiceCollectionOptionsInput, config: Config, context: Context) => InvoiceCollectionOptionsResult;
1125
1125
  }
1126
1126
 
1127
- /** @public */
1127
+ /**
1128
+ * @example
1129
+ * ```ts
1130
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1131
+ *
1132
+ * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1133
+ * interface MyInvoiceCollectionOptionsConfig {}
1134
+ *
1135
+ * export default class MyInvoiceCollectionOptions implements Billing.InvoiceCollectionOptions<MyInvoiceCollectionOptionsConfig> {
1136
+ * overrideOptions(
1137
+ * _request: Billing.InvoiceCollectionOptions.InvoiceCollectionOptionsInput,
1138
+ * _config: MyInvoiceCollectionOptionsConfig,
1139
+ * _context: Context
1140
+ * ) {
1141
+ * // TODO: implement your collection setting logic here
1142
+ *
1143
+ * return {};
1144
+ * }
1145
+ * }
1146
+ *
1147
+ * ```
1148
+ * @public
1149
+ */
1128
1150
  declare interface InvoiceCollectionOptions<Config> {
1129
1151
  overrideOptions: InvoiceCollectionOptions.OverrideOptionsFunction<Config>;
1130
1152
  }
@@ -1264,7 +1286,7 @@ declare namespace Prorations {
1264
1286
  } | {
1265
1287
  priceKind: 'rateCardRate';
1266
1288
  rateCardRate: RateCardRate;
1267
- }) & {
1289
+ } | { priceKind?: never }) & {
1268
1290
  correspondingDebit?: PreviousDebit;
1269
1291
  currentProrationFactor: Decimal;
1270
1292
  isProration: boolean;
@@ -1480,7 +1502,7 @@ declare namespace RecurringBillingItemHandling {
1480
1502
  } | {
1481
1503
  creditedItems: 'other';
1482
1504
  otherCreditedItems: string;
1483
- }) & ({
1505
+ } | { creditedItems?: never }) & ({
1484
1506
  customPricingUnitOverageRate: CustomPricingUnitOverageRate;
1485
1507
  priceKind: 'customPricingUnitOverageRate';
1486
1508
  } | {
@@ -1495,7 +1517,7 @@ declare namespace RecurringBillingItemHandling {
1495
1517
  } | {
1496
1518
  priceKind: 'rateCardRate';
1497
1519
  rateCardRate: RateCardRate;
1498
- }) & {
1520
+ } | { priceKind?: never }) & {
1499
1521
  isProration: boolean;
1500
1522
  key: string;
1501
1523
  prorationFactor: Decimal;
@@ -1650,7 +1672,7 @@ declare namespace RecurringBillingItemHandling {
1650
1672
  type ItemWithCreationStrategy = ({
1651
1673
  creationStrategy: 'other';
1652
1674
  otherCreationStrategy: string;
1653
- } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' }) & { key: string };
1675
+ } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' } | { creationStrategy?: never }) & { key: string };
1654
1676
  /** @public */
1655
1677
  type Invoice = Record<string, never>;
1656
1678
  /** @public */
@@ -1054,13 +1054,13 @@ declare namespace InvoiceCollectionOptions {
1054
1054
  } | {
1055
1055
  otherPayer: string;
1056
1056
  payer: 'other';
1057
- }) & ({
1057
+ } | { payer?: never }) & ({
1058
1058
  invoiceParentType: 'other';
1059
1059
  otherInvoiceParentType: string;
1060
1060
  } | {
1061
1061
  invoiceParentType: 'subscription';
1062
1062
  subscription: SubscriptionParent;
1063
- } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' }) & { collectionOptions: CollectionOptions };
1063
+ } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' } | { invoiceParentType?: never }) & { collectionOptions: CollectionOptions };
1064
1064
  /** @public */
1065
1065
  interface Customer {
1066
1066
  id: string;
@@ -1124,7 +1124,29 @@ declare namespace InvoiceCollectionOptions {
1124
1124
  type OverrideOptionsFunction<Config> = (request: InvoiceCollectionOptionsInput, config: Config, context: Context) => InvoiceCollectionOptionsResult;
1125
1125
  }
1126
1126
 
1127
- /** @public */
1127
+ /**
1128
+ * @example
1129
+ * ```ts
1130
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1131
+ *
1132
+ * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1133
+ * interface MyInvoiceCollectionOptionsConfig {}
1134
+ *
1135
+ * export default class MyInvoiceCollectionOptions implements Billing.InvoiceCollectionOptions<MyInvoiceCollectionOptionsConfig> {
1136
+ * overrideOptions(
1137
+ * _request: Billing.InvoiceCollectionOptions.InvoiceCollectionOptionsInput,
1138
+ * _config: MyInvoiceCollectionOptionsConfig,
1139
+ * _context: Context
1140
+ * ) {
1141
+ * // TODO: implement your collection setting logic here
1142
+ *
1143
+ * return {};
1144
+ * }
1145
+ * }
1146
+ *
1147
+ * ```
1148
+ * @public
1149
+ */
1128
1150
  declare interface InvoiceCollectionOptions<Config> {
1129
1151
  overrideOptions: InvoiceCollectionOptions.OverrideOptionsFunction<Config>;
1130
1152
  }
@@ -1264,7 +1286,7 @@ declare namespace Prorations {
1264
1286
  } | {
1265
1287
  priceKind: 'rateCardRate';
1266
1288
  rateCardRate: RateCardRate;
1267
- }) & {
1289
+ } | { priceKind?: never }) & {
1268
1290
  correspondingDebit?: PreviousDebit;
1269
1291
  currentProrationFactor: Decimal;
1270
1292
  isProration: boolean;
@@ -1480,7 +1502,7 @@ declare namespace RecurringBillingItemHandling {
1480
1502
  } | {
1481
1503
  creditedItems: 'other';
1482
1504
  otherCreditedItems: string;
1483
- }) & ({
1505
+ } | { creditedItems?: never }) & ({
1484
1506
  customPricingUnitOverageRate: CustomPricingUnitOverageRate;
1485
1507
  priceKind: 'customPricingUnitOverageRate';
1486
1508
  } | {
@@ -1495,7 +1517,7 @@ declare namespace RecurringBillingItemHandling {
1495
1517
  } | {
1496
1518
  priceKind: 'rateCardRate';
1497
1519
  rateCardRate: RateCardRate;
1498
- }) & {
1520
+ } | { priceKind?: never }) & {
1499
1521
  isProration: boolean;
1500
1522
  key: string;
1501
1523
  prorationFactor: Decimal;
@@ -1650,7 +1672,7 @@ declare namespace RecurringBillingItemHandling {
1650
1672
  type ItemWithCreationStrategy = ({
1651
1673
  creationStrategy: 'other';
1652
1674
  otherCreationStrategy: string;
1653
- } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' }) & { key: string };
1675
+ } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' } | { creationStrategy?: never }) & { key: string };
1654
1676
  /** @public */
1655
1677
  type Invoice = Record<string, never>;
1656
1678
  /** @public */
@@ -985,13 +985,13 @@ declare namespace InvoiceCollectionOptions {
985
985
  } | {
986
986
  otherPayer: string;
987
987
  payer: 'other';
988
- }) & ({
988
+ } | { payer?: never }) & ({
989
989
  invoiceParentType: 'other';
990
990
  otherInvoiceParentType: string;
991
991
  } | {
992
992
  invoiceParentType: 'subscription';
993
993
  subscription: SubscriptionParent;
994
- } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' }) & { collectionOptions: CollectionOptions };
994
+ } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' } | { invoiceParentType?: never }) & { collectionOptions: CollectionOptions };
995
995
  /** @public */
996
996
  interface Customer {
997
997
  id: string;
@@ -1055,7 +1055,29 @@ declare namespace InvoiceCollectionOptions {
1055
1055
  type OverrideOptionsFunction<Config> = (request: InvoiceCollectionOptionsInput, config: Config, context: Context) => InvoiceCollectionOptionsResult;
1056
1056
  }
1057
1057
 
1058
- /** @public */
1058
+ /**
1059
+ * @example
1060
+ * ```ts
1061
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1062
+ *
1063
+ * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1064
+ * interface MyInvoiceCollectionOptionsConfig {}
1065
+ *
1066
+ * export default class MyInvoiceCollectionOptions implements Billing.InvoiceCollectionOptions<MyInvoiceCollectionOptionsConfig> {
1067
+ * overrideOptions(
1068
+ * _request: Billing.InvoiceCollectionOptions.InvoiceCollectionOptionsInput,
1069
+ * _config: MyInvoiceCollectionOptionsConfig,
1070
+ * _context: Context
1071
+ * ) {
1072
+ * // TODO: implement your collection setting logic here
1073
+ *
1074
+ * return {};
1075
+ * }
1076
+ * }
1077
+ *
1078
+ * ```
1079
+ * @public
1080
+ */
1059
1081
  declare interface InvoiceCollectionOptions<Config> {
1060
1082
  overrideOptions: InvoiceCollectionOptions.OverrideOptionsFunction<Config>;
1061
1083
  }
@@ -1185,7 +1207,7 @@ declare namespace Prorations {
1185
1207
  } | {
1186
1208
  priceKind: 'rateCardRate';
1187
1209
  rateCardRate: RateCardRate;
1188
- }) & {
1210
+ } | { priceKind?: never }) & {
1189
1211
  correspondingDebit?: PreviousDebit;
1190
1212
  currentProrationFactor: Decimal;
1191
1213
  isProration: boolean;
@@ -1395,7 +1417,7 @@ declare namespace RecurringBillingItemHandling {
1395
1417
  } | {
1396
1418
  creditedItems: 'other';
1397
1419
  otherCreditedItems: string;
1398
- }) & ({
1420
+ } | { creditedItems?: never }) & ({
1399
1421
  customPricingUnitOverageRate: CustomPricingUnitOverageRate;
1400
1422
  priceKind: 'customPricingUnitOverageRate';
1401
1423
  } | {
@@ -1410,7 +1432,7 @@ declare namespace RecurringBillingItemHandling {
1410
1432
  } | {
1411
1433
  priceKind: 'rateCardRate';
1412
1434
  rateCardRate: RateCardRate;
1413
- }) & {
1435
+ } | { priceKind?: never }) & {
1414
1436
  isProration: boolean;
1415
1437
  key: string;
1416
1438
  prorationFactor: Decimal;
@@ -1565,7 +1587,7 @@ declare namespace RecurringBillingItemHandling {
1565
1587
  type ItemWithCreationStrategy = ({
1566
1588
  creationStrategy: 'other';
1567
1589
  otherCreationStrategy: string;
1568
- } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' }) & { key: string };
1590
+ } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' } | { creationStrategy?: never }) & { key: string };
1569
1591
  /** @public */
1570
1592
  type Invoice = Record<string, never>;
1571
1593
  /** @public */
@@ -985,13 +985,13 @@ declare namespace InvoiceCollectionOptions {
985
985
  } | {
986
986
  otherPayer: string;
987
987
  payer: 'other';
988
- }) & ({
988
+ } | { payer?: never }) & ({
989
989
  invoiceParentType: 'other';
990
990
  otherInvoiceParentType: string;
991
991
  } | {
992
992
  invoiceParentType: 'subscription';
993
993
  subscription: SubscriptionParent;
994
- } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' }) & { collectionOptions: CollectionOptions };
994
+ } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' } | { invoiceParentType?: never }) & { collectionOptions: CollectionOptions };
995
995
  /** @public */
996
996
  interface Customer {
997
997
  id: string;
@@ -1055,7 +1055,29 @@ declare namespace InvoiceCollectionOptions {
1055
1055
  type OverrideOptionsFunction<Config> = (request: InvoiceCollectionOptionsInput, config: Config, context: Context) => InvoiceCollectionOptionsResult;
1056
1056
  }
1057
1057
 
1058
- /** @public */
1058
+ /**
1059
+ * @example
1060
+ * ```ts
1061
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1062
+ *
1063
+ * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1064
+ * interface MyInvoiceCollectionOptionsConfig {}
1065
+ *
1066
+ * export default class MyInvoiceCollectionOptions implements Billing.InvoiceCollectionOptions<MyInvoiceCollectionOptionsConfig> {
1067
+ * overrideOptions(
1068
+ * _request: Billing.InvoiceCollectionOptions.InvoiceCollectionOptionsInput,
1069
+ * _config: MyInvoiceCollectionOptionsConfig,
1070
+ * _context: Context
1071
+ * ) {
1072
+ * // TODO: implement your collection setting logic here
1073
+ *
1074
+ * return {};
1075
+ * }
1076
+ * }
1077
+ *
1078
+ * ```
1079
+ * @public
1080
+ */
1059
1081
  declare interface InvoiceCollectionOptions<Config> {
1060
1082
  overrideOptions: InvoiceCollectionOptions.OverrideOptionsFunction<Config>;
1061
1083
  }
@@ -1185,7 +1207,7 @@ declare namespace Prorations {
1185
1207
  } | {
1186
1208
  priceKind: 'rateCardRate';
1187
1209
  rateCardRate: RateCardRate;
1188
- }) & {
1210
+ } | { priceKind?: never }) & {
1189
1211
  correspondingDebit?: PreviousDebit;
1190
1212
  currentProrationFactor: Decimal;
1191
1213
  isProration: boolean;
@@ -1395,7 +1417,7 @@ declare namespace RecurringBillingItemHandling {
1395
1417
  } | {
1396
1418
  creditedItems: 'other';
1397
1419
  otherCreditedItems: string;
1398
- }) & ({
1420
+ } | { creditedItems?: never }) & ({
1399
1421
  customPricingUnitOverageRate: CustomPricingUnitOverageRate;
1400
1422
  priceKind: 'customPricingUnitOverageRate';
1401
1423
  } | {
@@ -1410,7 +1432,7 @@ declare namespace RecurringBillingItemHandling {
1410
1432
  } | {
1411
1433
  priceKind: 'rateCardRate';
1412
1434
  rateCardRate: RateCardRate;
1413
- }) & {
1435
+ } | { priceKind?: never }) & {
1414
1436
  isProration: boolean;
1415
1437
  key: string;
1416
1438
  prorationFactor: Decimal;
@@ -1565,7 +1587,7 @@ declare namespace RecurringBillingItemHandling {
1565
1587
  type ItemWithCreationStrategy = ({
1566
1588
  creationStrategy: 'other';
1567
1589
  otherCreationStrategy: string;
1568
- } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' }) & { key: string };
1590
+ } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' } | { creationStrategy?: never }) & { key: string };
1569
1591
  /** @public */
1570
1592
  type Invoice = Record<string, never>;
1571
1593
  /** @public */
@@ -1025,13 +1025,13 @@ declare namespace InvoiceCollectionOptions {
1025
1025
  } | {
1026
1026
  otherPayer: string;
1027
1027
  payer: 'other';
1028
- }) & ({
1028
+ } | { payer?: never }) & ({
1029
1029
  invoiceParentType: 'other';
1030
1030
  otherInvoiceParentType: string;
1031
1031
  } | {
1032
1032
  invoiceParentType: 'subscription';
1033
1033
  subscription: SubscriptionParent;
1034
- } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' }) & { collectionOptions: CollectionOptions };
1034
+ } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' } | { invoiceParentType?: never }) & { collectionOptions: CollectionOptions };
1035
1035
  /** @public */
1036
1036
  interface Customer {
1037
1037
  id: string;
@@ -1096,7 +1096,29 @@ declare namespace InvoiceCollectionOptions {
1096
1096
  type OverrideOptionsFunction<Config> = (request: InvoiceCollectionOptionsInput, config: Config, context: Context) => InvoiceCollectionOptionsResult;
1097
1097
  }
1098
1098
 
1099
- /** @public */
1099
+ /**
1100
+ * @example
1101
+ * ```ts
1102
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1103
+ *
1104
+ * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1105
+ * interface MyInvoiceCollectionOptionsConfig {}
1106
+ *
1107
+ * export default class MyInvoiceCollectionOptions implements Billing.InvoiceCollectionOptions<MyInvoiceCollectionOptionsConfig> {
1108
+ * overrideOptions(
1109
+ * _request: Billing.InvoiceCollectionOptions.InvoiceCollectionOptionsInput,
1110
+ * _config: MyInvoiceCollectionOptionsConfig,
1111
+ * _context: Context
1112
+ * ) {
1113
+ * // TODO: implement your collection setting logic here
1114
+ *
1115
+ * return {};
1116
+ * }
1117
+ * }
1118
+ *
1119
+ * ```
1120
+ * @public
1121
+ */
1100
1122
  declare interface InvoiceCollectionOptions<Config> {
1101
1123
  overrideOptions: InvoiceCollectionOptions.OverrideOptionsFunction<Config>;
1102
1124
  }
@@ -1226,7 +1248,7 @@ declare namespace Prorations {
1226
1248
  } | {
1227
1249
  priceKind: 'rateCardRate';
1228
1250
  rateCardRate: RateCardRate;
1229
- }) & {
1251
+ } | { priceKind?: never }) & {
1230
1252
  correspondingDebit?: PreviousDebit;
1231
1253
  currentProrationFactor: Decimal;
1232
1254
  isProration: boolean;
@@ -1437,7 +1459,7 @@ declare namespace RecurringBillingItemHandling {
1437
1459
  } | {
1438
1460
  creditedItems: 'other';
1439
1461
  otherCreditedItems: string;
1440
- }) & ({
1462
+ } | { creditedItems?: never }) & ({
1441
1463
  customPricingUnitOverageRate: CustomPricingUnitOverageRate;
1442
1464
  priceKind: 'customPricingUnitOverageRate';
1443
1465
  } | {
@@ -1452,7 +1474,7 @@ declare namespace RecurringBillingItemHandling {
1452
1474
  } | {
1453
1475
  priceKind: 'rateCardRate';
1454
1476
  rateCardRate: RateCardRate;
1455
- }) & {
1477
+ } | { priceKind?: never }) & {
1456
1478
  isProration: boolean;
1457
1479
  key: string;
1458
1480
  prorationFactor: Decimal;
@@ -1607,7 +1629,7 @@ declare namespace RecurringBillingItemHandling {
1607
1629
  type ItemWithCreationStrategy = ({
1608
1630
  creationStrategy: 'other';
1609
1631
  otherCreationStrategy: string;
1610
- } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' }) & { key: string };
1632
+ } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' } | { creationStrategy?: never }) & { key: string };
1611
1633
  /** @public */
1612
1634
  type Invoice = Record<string, never>;
1613
1635
  /** @public */
@@ -985,13 +985,13 @@ declare namespace InvoiceCollectionOptions {
985
985
  } | {
986
986
  otherPayer: string;
987
987
  payer: 'other';
988
- }) & ({
988
+ } | { payer?: never }) & ({
989
989
  invoiceParentType: 'other';
990
990
  otherInvoiceParentType: string;
991
991
  } | {
992
992
  invoiceParentType: 'subscription';
993
993
  subscription: SubscriptionParent;
994
- } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' }) & { collectionOptions: CollectionOptions };
994
+ } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' } | { invoiceParentType?: never }) & { collectionOptions: CollectionOptions };
995
995
  /** @public */
996
996
  interface Customer {
997
997
  id: string;
@@ -1055,7 +1055,29 @@ declare namespace InvoiceCollectionOptions {
1055
1055
  type OverrideOptionsFunction<Config> = (request: InvoiceCollectionOptionsInput, config: Config, context: Context) => InvoiceCollectionOptionsResult;
1056
1056
  }
1057
1057
 
1058
- /** @public */
1058
+ /**
1059
+ * @example
1060
+ * ```ts
1061
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1062
+ *
1063
+ * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1064
+ * interface MyInvoiceCollectionOptionsConfig {}
1065
+ *
1066
+ * export default class MyInvoiceCollectionOptions implements Billing.InvoiceCollectionOptions<MyInvoiceCollectionOptionsConfig> {
1067
+ * overrideOptions(
1068
+ * _request: Billing.InvoiceCollectionOptions.InvoiceCollectionOptionsInput,
1069
+ * _config: MyInvoiceCollectionOptionsConfig,
1070
+ * _context: Context
1071
+ * ) {
1072
+ * // TODO: implement your collection setting logic here
1073
+ *
1074
+ * return {};
1075
+ * }
1076
+ * }
1077
+ *
1078
+ * ```
1079
+ * @public
1080
+ */
1059
1081
  declare interface InvoiceCollectionOptions<Config> {
1060
1082
  overrideOptions: InvoiceCollectionOptions.OverrideOptionsFunction<Config>;
1061
1083
  }
@@ -1185,7 +1207,7 @@ declare namespace Prorations {
1185
1207
  } | {
1186
1208
  priceKind: 'rateCardRate';
1187
1209
  rateCardRate: RateCardRate;
1188
- }) & {
1210
+ } | { priceKind?: never }) & {
1189
1211
  correspondingDebit?: PreviousDebit;
1190
1212
  currentProrationFactor: Decimal;
1191
1213
  isProration: boolean;
@@ -1395,7 +1417,7 @@ declare namespace RecurringBillingItemHandling {
1395
1417
  } | {
1396
1418
  creditedItems: 'other';
1397
1419
  otherCreditedItems: string;
1398
- }) & ({
1420
+ } | { creditedItems?: never }) & ({
1399
1421
  customPricingUnitOverageRate: CustomPricingUnitOverageRate;
1400
1422
  priceKind: 'customPricingUnitOverageRate';
1401
1423
  } | {
@@ -1410,7 +1432,7 @@ declare namespace RecurringBillingItemHandling {
1410
1432
  } | {
1411
1433
  priceKind: 'rateCardRate';
1412
1434
  rateCardRate: RateCardRate;
1413
- }) & {
1435
+ } | { priceKind?: never }) & {
1414
1436
  isProration: boolean;
1415
1437
  key: string;
1416
1438
  prorationFactor: Decimal;
@@ -1565,7 +1587,7 @@ declare namespace RecurringBillingItemHandling {
1565
1587
  type ItemWithCreationStrategy = ({
1566
1588
  creationStrategy: 'other';
1567
1589
  otherCreationStrategy: string;
1568
- } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' }) & { key: string };
1590
+ } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' } | { creationStrategy?: never }) & { key: string };
1569
1591
  /** @public */
1570
1592
  type Invoice = Record<string, never>;
1571
1593
  /** @public */
@@ -1223,13 +1223,13 @@ declare namespace InvoiceCollectionOptions {
1223
1223
  } | {
1224
1224
  otherPayer: string;
1225
1225
  payer: 'other';
1226
- }) & ({
1226
+ } | { payer?: never }) & ({
1227
1227
  invoiceParentType: 'other';
1228
1228
  otherInvoiceParentType: string;
1229
1229
  } | {
1230
1230
  invoiceParentType: 'subscription';
1231
1231
  subscription: SubscriptionParent;
1232
- } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' }) & { collectionOptions: CollectionOptions };
1232
+ } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' } | { invoiceParentType?: never }) & { collectionOptions: CollectionOptions };
1233
1233
  /** @public */
1234
1234
  interface Customer {
1235
1235
  id: string;
@@ -1294,7 +1294,29 @@ declare namespace InvoiceCollectionOptions {
1294
1294
  type OverrideOptionsFunction<Config> = (request: InvoiceCollectionOptionsInput, config: Config, context: Context) => InvoiceCollectionOptionsResult;
1295
1295
  }
1296
1296
 
1297
- /** @public */
1297
+ /**
1298
+ * @example
1299
+ * ```ts
1300
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1301
+ *
1302
+ * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1303
+ * interface MyInvoiceCollectionOptionsConfig {}
1304
+ *
1305
+ * export default class MyInvoiceCollectionOptions implements Billing.InvoiceCollectionOptions<MyInvoiceCollectionOptionsConfig> {
1306
+ * overrideOptions(
1307
+ * _request: Billing.InvoiceCollectionOptions.InvoiceCollectionOptionsInput,
1308
+ * _config: MyInvoiceCollectionOptionsConfig,
1309
+ * _context: Context
1310
+ * ) {
1311
+ * // TODO: implement your collection setting logic here
1312
+ *
1313
+ * return {};
1314
+ * }
1315
+ * }
1316
+ *
1317
+ * ```
1318
+ * @public
1319
+ */
1298
1320
  declare interface InvoiceCollectionOptions<Config> {
1299
1321
  overrideOptions: InvoiceCollectionOptions.OverrideOptionsFunction<Config>;
1300
1322
  }
@@ -1481,7 +1503,7 @@ declare namespace Prorations {
1481
1503
  } | {
1482
1504
  priceKind: 'rateCardRate';
1483
1505
  rateCardRate: RateCardRate;
1484
- }) & {
1506
+ } | { priceKind?: never }) & {
1485
1507
  correspondingDebit?: PreviousDebit;
1486
1508
  currentProrationFactor: Decimal;
1487
1509
  isProration: boolean;
@@ -1735,7 +1757,7 @@ declare namespace RecurringBillingItemHandling {
1735
1757
  } | {
1736
1758
  creditedItems: 'other';
1737
1759
  otherCreditedItems: string;
1738
- }) & ({
1760
+ } | { creditedItems?: never }) & ({
1739
1761
  customPricingUnitOverageRate: CustomPricingUnitOverageRate;
1740
1762
  priceKind: 'customPricingUnitOverageRate';
1741
1763
  } | {
@@ -1750,7 +1772,7 @@ declare namespace RecurringBillingItemHandling {
1750
1772
  } | {
1751
1773
  priceKind: 'rateCardRate';
1752
1774
  rateCardRate: RateCardRate;
1753
- }) & {
1775
+ } | { priceKind?: never }) & {
1754
1776
  isProration: boolean;
1755
1777
  key: string;
1756
1778
  prorationFactor: Decimal;
@@ -1905,7 +1927,7 @@ declare namespace RecurringBillingItemHandling {
1905
1927
  type ItemWithCreationStrategy = ({
1906
1928
  creationStrategy: 'other';
1907
1929
  otherCreationStrategy: string;
1908
- } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' }) & { key: string };
1930
+ } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' } | { creationStrategy?: never }) & { key: string };
1909
1931
  /** @public */
1910
1932
  type Invoice = Record<string, never>;
1911
1933
  /** @public */
@@ -1054,13 +1054,13 @@ declare namespace InvoiceCollectionOptions {
1054
1054
  } | {
1055
1055
  otherPayer: string;
1056
1056
  payer: 'other';
1057
- }) & ({
1057
+ } | { payer?: never }) & ({
1058
1058
  invoiceParentType: 'other';
1059
1059
  otherInvoiceParentType: string;
1060
1060
  } | {
1061
1061
  invoiceParentType: 'subscription';
1062
1062
  subscription: SubscriptionParent;
1063
- } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' }) & { collectionOptions: CollectionOptions };
1063
+ } | { invoiceParentType: 'cadence' } | { invoiceParentType: 'contract' } | { invoiceParentType: 'quote' } | { invoiceParentType: 'schedule' } | { invoiceParentType?: never }) & { collectionOptions: CollectionOptions };
1064
1064
  /** @public */
1065
1065
  interface Customer {
1066
1066
  id: string;
@@ -1124,7 +1124,29 @@ declare namespace InvoiceCollectionOptions {
1124
1124
  type OverrideOptionsFunction<Config> = (request: InvoiceCollectionOptionsInput, config: Config, context: Context) => InvoiceCollectionOptionsResult;
1125
1125
  }
1126
1126
 
1127
- /** @public */
1127
+ /**
1128
+ * @example
1129
+ * ```ts
1130
+ * import type { Billing, Context } from '@stripe/extensibility-sdk';
1131
+ *
1132
+ * // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1133
+ * interface MyInvoiceCollectionOptionsConfig {}
1134
+ *
1135
+ * export default class MyInvoiceCollectionOptions implements Billing.InvoiceCollectionOptions<MyInvoiceCollectionOptionsConfig> {
1136
+ * overrideOptions(
1137
+ * _request: Billing.InvoiceCollectionOptions.InvoiceCollectionOptionsInput,
1138
+ * _config: MyInvoiceCollectionOptionsConfig,
1139
+ * _context: Context
1140
+ * ) {
1141
+ * // TODO: implement your collection setting logic here
1142
+ *
1143
+ * return {};
1144
+ * }
1145
+ * }
1146
+ *
1147
+ * ```
1148
+ * @public
1149
+ */
1128
1150
  declare interface InvoiceCollectionOptions<Config> {
1129
1151
  overrideOptions: InvoiceCollectionOptions.OverrideOptionsFunction<Config>;
1130
1152
  }
@@ -1264,7 +1286,7 @@ declare namespace Prorations {
1264
1286
  } | {
1265
1287
  priceKind: 'rateCardRate';
1266
1288
  rateCardRate: RateCardRate;
1267
- }) & {
1289
+ } | { priceKind?: never }) & {
1268
1290
  correspondingDebit?: PreviousDebit;
1269
1291
  currentProrationFactor: Decimal;
1270
1292
  isProration: boolean;
@@ -1480,7 +1502,7 @@ declare namespace RecurringBillingItemHandling {
1480
1502
  } | {
1481
1503
  creditedItems: 'other';
1482
1504
  otherCreditedItems: string;
1483
- }) & ({
1505
+ } | { creditedItems?: never }) & ({
1484
1506
  customPricingUnitOverageRate: CustomPricingUnitOverageRate;
1485
1507
  priceKind: 'customPricingUnitOverageRate';
1486
1508
  } | {
@@ -1495,7 +1517,7 @@ declare namespace RecurringBillingItemHandling {
1495
1517
  } | {
1496
1518
  priceKind: 'rateCardRate';
1497
1519
  rateCardRate: RateCardRate;
1498
- }) & {
1520
+ } | { priceKind?: never }) & {
1499
1521
  isProration: boolean;
1500
1522
  key: string;
1501
1523
  prorationFactor: Decimal;
@@ -1650,7 +1672,7 @@ declare namespace RecurringBillingItemHandling {
1650
1672
  type ItemWithCreationStrategy = ({
1651
1673
  creationStrategy: 'other';
1652
1674
  otherCreationStrategy: string;
1653
- } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' }) & { key: string };
1675
+ } | { creationStrategy: 'doNotCreate' } | { creationStrategy: 'invoice' } | { creationStrategy?: never }) & { key: string };
1654
1676
  /** @public */
1655
1677
  type Invoice = Record<string, never>;
1656
1678
  /** @public */