@4players/payment 1.0.1-beta.4 → 1.0.2-beta.2

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.
package/dist/index.d.ts CHANGED
@@ -445,8 +445,9 @@ interface paths {
445
445
  get?: never;
446
446
  put?: never;
447
447
  /**
448
- * Activate an API for the specified project
449
- * @description Activates the specified API for the project, enabling access to additional features.
448
+ * [Deprecated] Activate an API for the specified project. Use /activate-product instead.
449
+ * @deprecated
450
+ * @description Activates the specified API for the project. This endpoint is deprecated - use /activate-product instead.
450
451
  */
451
452
  post: operations["activateAPI"];
452
453
  delete?: never;
@@ -455,6 +456,129 @@ interface paths {
455
456
  patch?: never;
456
457
  trace?: never;
457
458
  };
459
+ "/products": {
460
+ parameters: {
461
+ query?: never;
462
+ header?: never;
463
+ path?: never;
464
+ cookie?: never;
465
+ };
466
+ /**
467
+ * List all available products
468
+ * @description Returns the catalog of all available products with their features and pricing tiers. No authentication required.
469
+ */
470
+ get: operations["getProducts"];
471
+ put?: never;
472
+ post?: never;
473
+ delete?: never;
474
+ options?: never;
475
+ head?: never;
476
+ patch?: never;
477
+ trace?: never;
478
+ };
479
+ "/projects/{projectId}/products": {
480
+ parameters: {
481
+ query?: never;
482
+ header?: never;
483
+ path?: never;
484
+ cookie?: never;
485
+ };
486
+ /**
487
+ * Get activated products for a project
488
+ * @description Returns the list of products currently activated for the specified project.
489
+ */
490
+ get: operations["getProjectProducts"];
491
+ put?: never;
492
+ post?: never;
493
+ delete?: never;
494
+ options?: never;
495
+ head?: never;
496
+ patch?: never;
497
+ trace?: never;
498
+ };
499
+ "/projects/{projectId}/activate-product": {
500
+ parameters: {
501
+ query?: never;
502
+ header?: never;
503
+ path?: never;
504
+ cookie?: never;
505
+ };
506
+ get?: never;
507
+ put?: never;
508
+ /**
509
+ * Activate a product for a project
510
+ * @description Activates the specified product for the project. Dependencies are checked automatically. Returns the updated project.
511
+ */
512
+ post: operations["activateProduct"];
513
+ delete?: never;
514
+ options?: never;
515
+ head?: never;
516
+ patch?: never;
517
+ trace?: never;
518
+ };
519
+ "/projects/{projectId}/deactivate-product": {
520
+ parameters: {
521
+ query?: never;
522
+ header?: never;
523
+ path?: never;
524
+ cookie?: never;
525
+ };
526
+ get?: never;
527
+ put?: never;
528
+ /**
529
+ * Deactivate a product for a project
530
+ * @description Deactivates the specified product. Fails if other activated products depend on it.
531
+ */
532
+ post: operations["deactivateProduct"];
533
+ delete?: never;
534
+ options?: never;
535
+ head?: never;
536
+ patch?: never;
537
+ trace?: never;
538
+ };
539
+ "/projects/{projectId}/check-feature": {
540
+ parameters: {
541
+ query?: never;
542
+ header?: never;
543
+ path?: never;
544
+ cookie?: never;
545
+ };
546
+ /**
547
+ * Check if a feature is available for a project
548
+ * @description Checks whether the specified feature is available for the project based on activated products and their dependencies.
549
+ */
550
+ get: operations["checkFeature"];
551
+ put?: never;
552
+ post?: never;
553
+ delete?: never;
554
+ options?: never;
555
+ head?: never;
556
+ patch?: never;
557
+ trace?: never;
558
+ };
559
+ "/projects/{projectId}/check-product-dependencies": {
560
+ parameters: {
561
+ query?: never;
562
+ header?: never;
563
+ path?: never;
564
+ cookie?: never;
565
+ };
566
+ /**
567
+ * Check product dependencies for a project
568
+ * @description Returns whether a product can be activated for the given project by checking all
569
+ * its dependencies. Each dependency is listed with its current activation status.
570
+ * Use this endpoint to build UI that shows missing dependencies before the user
571
+ * attempts to activate a product.
572
+ */
573
+ get: operations["checkProductDependencies"];
574
+ put?: never;
575
+ post?: never;
576
+ delete?: never;
577
+ options?: never;
578
+ head?: never;
579
+ patch?: never;
580
+ trace?: never;
581
+ };
458
582
  "/projects/{projectId}/create-token": {
459
583
  parameters: {
460
584
  query?: never;
@@ -676,6 +800,8 @@ interface components {
676
800
  type?: string;
677
801
  /** @description The billing state history */
678
802
  billingStateHistory?: components["schemas"]["BillingState"][];
803
+ /** @description List of products currently activated for this project. */
804
+ activatedProducts?: components["schemas"]["ActivatedProduct"][];
679
805
  };
680
806
  SetupSession: {
681
807
  /** @description The URL that the user needs to be redirected to in order to create a new billing account at Stripe. */
@@ -1041,6 +1167,107 @@ interface components {
1041
1167
  /** Format: date */
1042
1168
  active?: string;
1043
1169
  };
1170
+ /**
1171
+ * @description The unique slug identifier for a product.
1172
+ * @enum {string}
1173
+ */
1174
+ ProductSlug: "voice" | "rooms" | "fleet" | "cortex";
1175
+ /**
1176
+ * @description The type of pricing model.
1177
+ * @enum {string}
1178
+ */
1179
+ PricingType: "free" | "pay_as_you_go" | "one_time" | "monthly";
1180
+ ProjectProduct: {
1181
+ slug?: components["schemas"]["ProductSlug"];
1182
+ /** @description Translation key for the product name. */
1183
+ name?: string;
1184
+ /** @description Translation key for the product description. */
1185
+ description?: string;
1186
+ /** @description Icon identifier or URL. */
1187
+ icon?: string | null;
1188
+ /** @description Features available within this product. */
1189
+ features?: components["schemas"]["ProjectProductFeature"][];
1190
+ /** @description Available pricing tiers for this product. */
1191
+ pricing?: components["schemas"]["ProductPricing"][];
1192
+ /** @description Slugs of products that must be activated before this product. */
1193
+ dependencies?: components["schemas"]["ProductSlug"][];
1194
+ };
1195
+ ProjectProductFeature: {
1196
+ /** @description Unique slug for the feature (e.g. cortex.transcription). */
1197
+ slug?: string;
1198
+ /** @description Translation key for the feature name. */
1199
+ name?: string;
1200
+ /** @description Translation key for the feature description. */
1201
+ description?: string;
1202
+ /** @description Product that must be activated for this feature to work. */
1203
+ dependsOnProduct?: components["schemas"]["ProductSlug"];
1204
+ /** @description Slug of another feature this depends on. */
1205
+ dependsOnFeature?: string | null;
1206
+ };
1207
+ ProductPricing: {
1208
+ pricingType?: components["schemas"]["PricingType"];
1209
+ /** @description Stripe price ID for paid tiers. */
1210
+ stripePriceId?: string | null;
1211
+ /** @description Unit label for pay-as-you-go pricing (e.g. PCU-day, instance-day). */
1212
+ unit?: string | null;
1213
+ /** @description Amount in cents. */
1214
+ unitAmount?: number;
1215
+ /**
1216
+ * @description ISO 4217 currency code.
1217
+ * @example EUR
1218
+ */
1219
+ currency?: string;
1220
+ /** @description Human-readable tier label. */
1221
+ label?: string | null;
1222
+ };
1223
+ ActivatedProduct: {
1224
+ /** @description Encoded unique identifier for the activation. */
1225
+ id?: string;
1226
+ product?: components["schemas"]["ProjectProduct"];
1227
+ /**
1228
+ * Format: date-time
1229
+ * @description When the product was activated.
1230
+ */
1231
+ activatedAt?: string;
1232
+ /** @description Product-specific configuration (e.g. domain for rooms). */
1233
+ config?: {
1234
+ [key: string]: unknown;
1235
+ } | null;
1236
+ };
1237
+ ActivateProductPayload: {
1238
+ /** @description The slug of the product to activate. */
1239
+ product: components["schemas"]["ProductSlug"];
1240
+ /** @description Optional product-specific configuration (e.g. {"domain":"example"} for rooms). */
1241
+ config?: {
1242
+ [key: string]: unknown;
1243
+ };
1244
+ };
1245
+ DeactivateProductPayload: {
1246
+ /** @description The slug of the product to deactivate. */
1247
+ product: components["schemas"]["ProductSlug"];
1248
+ };
1249
+ FeatureAvailability: {
1250
+ /** @description The feature slug that was checked. */
1251
+ feature?: string;
1252
+ /** @description Whether the feature is currently available for this project. */
1253
+ available?: boolean;
1254
+ /** @description List of product or feature slugs that must be activated first. */
1255
+ missingDependencies?: string[];
1256
+ };
1257
+ ProductDependencyCheck: {
1258
+ /** @description The product slug that was checked. */
1259
+ product?: components["schemas"]["ProductSlug"];
1260
+ /** @description Whether all dependencies are satisfied and the product can be activated. */
1261
+ canActivate?: boolean;
1262
+ /** @description List of required products with their activation status. */
1263
+ dependencies?: components["schemas"]["ProductDependencyStatus"][];
1264
+ };
1265
+ ProductDependencyStatus: {
1266
+ /** @description The slug of the required product. */
1267
+ product?: components["schemas"]["ProductSlug"];
1268
+ /** @description Whether this dependency is currently activated for the project. */
1269
+ satisfied?: boolean;
1270
+ };
1044
1271
  };
1045
1272
  responses: never;
1046
1273
  parameters: never;
@@ -2171,6 +2398,253 @@ interface operations {
2171
2398
  };
2172
2399
  };
2173
2400
  };
2401
+ getProducts: {
2402
+ parameters: {
2403
+ query?: never;
2404
+ header?: never;
2405
+ path?: never;
2406
+ cookie?: never;
2407
+ };
2408
+ requestBody?: never;
2409
+ responses: {
2410
+ /** @description A list of all available products. */
2411
+ 200: {
2412
+ headers: {
2413
+ [name: string]: unknown;
2414
+ };
2415
+ content: {
2416
+ "application/json": components["schemas"]["ProjectProduct"][];
2417
+ };
2418
+ };
2419
+ };
2420
+ };
2421
+ getProjectProducts: {
2422
+ parameters: {
2423
+ query?: never;
2424
+ header?: never;
2425
+ path: {
2426
+ /** @description The unique identifier of the project. */
2427
+ projectId: string;
2428
+ };
2429
+ cookie?: never;
2430
+ };
2431
+ requestBody?: never;
2432
+ responses: {
2433
+ /** @description List of activated products. */
2434
+ 200: {
2435
+ headers: {
2436
+ [name: string]: unknown;
2437
+ };
2438
+ content: {
2439
+ "application/json": components["schemas"]["ActivatedProduct"][];
2440
+ };
2441
+ };
2442
+ /** @description Unauthorized */
2443
+ 401: {
2444
+ headers: {
2445
+ [name: string]: unknown;
2446
+ };
2447
+ content?: never;
2448
+ };
2449
+ /** @description Project not found */
2450
+ 404: {
2451
+ headers: {
2452
+ [name: string]: unknown;
2453
+ };
2454
+ content?: never;
2455
+ };
2456
+ };
2457
+ };
2458
+ activateProduct: {
2459
+ parameters: {
2460
+ query?: never;
2461
+ header?: never;
2462
+ path: {
2463
+ projectId: string;
2464
+ };
2465
+ cookie?: never;
2466
+ };
2467
+ requestBody: {
2468
+ content: {
2469
+ "application/json": components["schemas"]["ActivateProductPayload"];
2470
+ };
2471
+ };
2472
+ responses: {
2473
+ /** @description Successfully activated the product. Returns the updated project. */
2474
+ 200: {
2475
+ headers: {
2476
+ [name: string]: unknown;
2477
+ };
2478
+ content: {
2479
+ "application/json": components["schemas"]["PaymentProject"];
2480
+ };
2481
+ };
2482
+ /** @description Bad request - missing product slug, dependency not met, already activated, or invalid configuration. */
2483
+ 400: {
2484
+ headers: {
2485
+ [name: string]: unknown;
2486
+ };
2487
+ content?: never;
2488
+ };
2489
+ /** @description Unauthorized */
2490
+ 401: {
2491
+ headers: {
2492
+ [name: string]: unknown;
2493
+ };
2494
+ content: {
2495
+ "application/json": components["schemas"]["UnauthorizedResponse"];
2496
+ };
2497
+ };
2498
+ /** @description Project or product not found */
2499
+ 404: {
2500
+ headers: {
2501
+ [name: string]: unknown;
2502
+ };
2503
+ content?: never;
2504
+ };
2505
+ };
2506
+ };
2507
+ deactivateProduct: {
2508
+ parameters: {
2509
+ query?: never;
2510
+ header?: never;
2511
+ path: {
2512
+ projectId: string;
2513
+ };
2514
+ cookie?: never;
2515
+ };
2516
+ requestBody: {
2517
+ content: {
2518
+ "application/json": components["schemas"]["DeactivateProductPayload"];
2519
+ };
2520
+ };
2521
+ responses: {
2522
+ /** @description Successfully deactivated the product. */
2523
+ 200: {
2524
+ headers: {
2525
+ [name: string]: unknown;
2526
+ };
2527
+ content: {
2528
+ "application/json": components["schemas"]["SuccessResponse"];
2529
+ };
2530
+ };
2531
+ /** @description Cannot deactivate - product not active or other products depend on it. */
2532
+ 400: {
2533
+ headers: {
2534
+ [name: string]: unknown;
2535
+ };
2536
+ content?: never;
2537
+ };
2538
+ /** @description Unauthorized */
2539
+ 401: {
2540
+ headers: {
2541
+ [name: string]: unknown;
2542
+ };
2543
+ content: {
2544
+ "application/json": components["schemas"]["UnauthorizedResponse"];
2545
+ };
2546
+ };
2547
+ /** @description Project or product not found */
2548
+ 404: {
2549
+ headers: {
2550
+ [name: string]: unknown;
2551
+ };
2552
+ content?: never;
2553
+ };
2554
+ };
2555
+ };
2556
+ checkFeature: {
2557
+ parameters: {
2558
+ query: {
2559
+ /** @description The feature slug to check (e.g. cortex.transcription, cortex.functions). */
2560
+ feature: string;
2561
+ };
2562
+ header?: never;
2563
+ path: {
2564
+ projectId: string;
2565
+ };
2566
+ cookie?: never;
2567
+ };
2568
+ requestBody?: never;
2569
+ responses: {
2570
+ /** @description Feature availability status. */
2571
+ 200: {
2572
+ headers: {
2573
+ [name: string]: unknown;
2574
+ };
2575
+ content: {
2576
+ "application/json": components["schemas"]["FeatureAvailability"];
2577
+ };
2578
+ };
2579
+ /** @description Missing feature query parameter */
2580
+ 400: {
2581
+ headers: {
2582
+ [name: string]: unknown;
2583
+ };
2584
+ content?: never;
2585
+ };
2586
+ /** @description Unauthorized */
2587
+ 401: {
2588
+ headers: {
2589
+ [name: string]: unknown;
2590
+ };
2591
+ content?: never;
2592
+ };
2593
+ /** @description Project or feature not found */
2594
+ 404: {
2595
+ headers: {
2596
+ [name: string]: unknown;
2597
+ };
2598
+ content?: never;
2599
+ };
2600
+ };
2601
+ };
2602
+ checkProductDependencies: {
2603
+ parameters: {
2604
+ query: {
2605
+ /** @description The product slug to check (e.g. rooms, cortex). */
2606
+ product: components["schemas"]["ProductSlug"];
2607
+ };
2608
+ header?: never;
2609
+ path: {
2610
+ projectId: string;
2611
+ };
2612
+ cookie?: never;
2613
+ };
2614
+ requestBody?: never;
2615
+ responses: {
2616
+ /** @description Product dependency check result. */
2617
+ 200: {
2618
+ headers: {
2619
+ [name: string]: unknown;
2620
+ };
2621
+ content: {
2622
+ "application/json": components["schemas"]["ProductDependencyCheck"];
2623
+ };
2624
+ };
2625
+ /** @description Missing product query parameter or unknown product */
2626
+ 400: {
2627
+ headers: {
2628
+ [name: string]: unknown;
2629
+ };
2630
+ content?: never;
2631
+ };
2632
+ /** @description Unauthorized */
2633
+ 401: {
2634
+ headers: {
2635
+ [name: string]: unknown;
2636
+ };
2637
+ content?: never;
2638
+ };
2639
+ /** @description Project not found */
2640
+ 404: {
2641
+ headers: {
2642
+ [name: string]: unknown;
2643
+ };
2644
+ content?: never;
2645
+ };
2646
+ };
2647
+ };
2174
2648
  createAccessToken: {
2175
2649
  parameters: {
2176
2650
  query?: never;
@@ -2490,11 +2964,20 @@ type BillingChangeOptions = components["schemas"]["BillingChangeOptions"];
2490
2964
  type BillingStateHistory = components["schemas"]["BillingStateHistory"];
2491
2965
  type ResourcePackagePrice = components["schemas"]["ResourcePackagePrice"];
2492
2966
  type SuccessResponse = components["schemas"]["SuccessResponse"];
2967
+ type ProjectProduct = components["schemas"]["ProjectProduct"];
2968
+ type ProjectProductFeature = components["schemas"]["ProjectProductFeature"];
2969
+ type ProductPricing = components["schemas"]["ProductPricing"];
2970
+ type ActivatedProduct = components["schemas"]["ActivatedProduct"];
2971
+ type FeatureAvailability = components["schemas"]["FeatureAvailability"];
2972
+ type ProductDependencyCheck = components["schemas"]["ProductDependencyCheck"];
2973
+ type ProductDependencyStatus = components["schemas"]["ProductDependencyStatus"];
2493
2974
  type APIType = components["schemas"]["APIType"];
2494
2975
  type BillingState = components["schemas"]["BillingState"];
2495
2976
  type PermissionRole = components["schemas"]["PermissionRole"];
2496
2977
  type UserStatus = components["schemas"]["UserStatus"];
2497
2978
  type InvoiceStatus = components["schemas"]["InvoiceStatus"];
2979
+ type ProductSlug = components["schemas"]["ProductSlug"];
2980
+ type PricingType = components["schemas"]["PricingType"];
2498
2981
  type ActivateAPIPayload = components["schemas"]["ActivateAPIPayload"];
2499
2982
  type AddUserToProjectPayload = components["schemas"]["AddUserToProjectPayload"];
2500
2983
  type ChangeUserRolePayload = components["schemas"]["ChangeUserRolePayload"];
@@ -2508,11 +2991,15 @@ type ResourcePackagePricePayload = components["schemas"]["ResourcePackagePricePa
2508
2991
  type ResourcePackagePricesPayload = components["schemas"]["ResourcePackagePricesPayload"];
2509
2992
  type RevokeUserPayload = components["schemas"]["RevokeUserPayload"];
2510
2993
  type SetBillingAccountPayload = components["schemas"]["SetBillingAccountPayload"];
2994
+ type ActivateProductPayload = components["schemas"]["ActivateProductPayload"];
2995
+ type DeactivateProductPayload = components["schemas"]["DeactivateProductPayload"];
2511
2996
  type GetProjectsQuery = operations["getProjects"]["parameters"]["query"];
2512
2997
  type GetPeersOverTimeQuery = operations["getPeersOverTime"]["parameters"]["query"];
2513
2998
  type GetRoomsOverTimeQuery = operations["getRoomsOverTime"]["parameters"]["query"];
2514
2999
  type GetInstancesOverTimeQuery = operations["getInstancesOverTime"]["parameters"]["query"];
2515
3000
  type GetInvoicesQuery = operations["getInvoices"]["parameters"]["query"];
3001
+ type CheckFeatureQuery = operations["checkFeature"]["parameters"]["query"];
3002
+ type CheckProductDependenciesQuery = operations["checkProductDependencies"]["parameters"]["query"];
2516
3003
  /**
2517
3004
  * 4Players Payment API Client
2518
3005
  *
@@ -2665,11 +3152,57 @@ declare class PaymentClient {
2665
3152
  /**
2666
3153
  * Activate an API for the specified project.
2667
3154
  *
3155
+ * @deprecated Use {@link activateProduct} instead.
2668
3156
  * @param projectId - The unique identifier of the project
2669
3157
  * @param body - The API slug to activate
2670
3158
  * @returns Success response
2671
3159
  */
2672
3160
  activateAPI(projectId: string, body: ActivateAPIPayload): Promise<SuccessResponse>;
3161
+ /**
3162
+ * List all available products.
3163
+ *
3164
+ * @returns Array of available products with features and pricing
3165
+ */
3166
+ getProducts(): Promise<ProjectProduct[]>;
3167
+ /**
3168
+ * Get activated products for a project.
3169
+ *
3170
+ * @param projectId - The unique identifier of the project
3171
+ * @returns Array of activated products
3172
+ */
3173
+ getProjectProducts(projectId: string): Promise<ActivatedProduct[]>;
3174
+ /**
3175
+ * Activate a product for a project.
3176
+ *
3177
+ * @param projectId - The unique identifier of the project
3178
+ * @param body - The product slug and optional configuration
3179
+ * @returns Updated project
3180
+ */
3181
+ activateProduct(projectId: string, body: ActivateProductPayload): Promise<PaymentProject>;
3182
+ /**
3183
+ * Deactivate a product for a project.
3184
+ *
3185
+ * @param projectId - The unique identifier of the project
3186
+ * @param body - The product slug to deactivate
3187
+ * @returns Success response
3188
+ */
3189
+ deactivateProduct(projectId: string, body: DeactivateProductPayload): Promise<SuccessResponse>;
3190
+ /**
3191
+ * Check if a feature is available for a project.
3192
+ *
3193
+ * @param projectId - The unique identifier of the project
3194
+ * @param query - Query with the feature slug to check
3195
+ * @returns Feature availability status
3196
+ */
3197
+ checkFeature(projectId: string, query: CheckFeatureQuery): Promise<FeatureAvailability>;
3198
+ /**
3199
+ * Check product dependencies for a project.
3200
+ *
3201
+ * @param projectId - The unique identifier of the project
3202
+ * @param query - Query with the product slug to check
3203
+ * @returns Dependency check result with activation status of each dependency
3204
+ */
3205
+ checkProductDependencies(projectId: string, query: CheckProductDependenciesQuery): Promise<ProductDependencyCheck>;
2673
3206
  /**
2674
3207
  * Get all invoices for the current user, optionally filtered by ID.
2675
3208
  *
@@ -2837,4 +3370,4 @@ declare class PaymentRateLimitError extends PaymentError {
2837
3370
  constructor(retryAfter?: number);
2838
3371
  }
2839
3372
 
2840
- export { type APIType, type ActivateAPIPayload, type AddUserToProjectPayload, type BillingAccount, type BillingChangeOptions, type BillingOptions, type BillingState, type BillingStateHistory, type ChangeUserRolePayload, type CreateAccessKeyPayload, type CreateBillingPortalSessionPayload, type CreateSetupSessionPayload, type CreateTokenPayload, type EditAccessKeyPayload, type EditProjectPayload, type GetInstancesOverTimeQuery, type GetInvoicesQuery, type GetPeersOverTimeQuery, type GetProjectsQuery, type GetRoomsOverTimeQuery, type Invoice, type InvoicePosition, type InvoiceStatus, type Invoices, type OdinAccessKey, type OdinUserPermissions, type OdinUserRole, PaymentApiError, PaymentAuthError, PaymentClient, type PaymentClientConfig, PaymentError, PaymentNotFoundError, type PaymentProject, PaymentRateLimitError, PaymentValidationError, type PermissionRole, type PortalSession, type ResourcePackagePrice, type ResourcePackagePricePayload, type ResourcePackagePricesPayload, type RevokeUserPayload, type SetBillingAccountPayload, type SetupSession, type Subscription, type SubscriptionPosition, type SuccessResponse, type TariffParams, type TimeSeriesData, type TokenPayload, type UserStatus, type components, PaymentClient as default, type operations, type paths };
3373
+ export { type APIType, type ActivateAPIPayload, type ActivateProductPayload, type ActivatedProduct, type AddUserToProjectPayload, type BillingAccount, type BillingChangeOptions, type BillingOptions, type BillingState, type BillingStateHistory, type ChangeUserRolePayload, type CheckFeatureQuery, type CheckProductDependenciesQuery, type CreateAccessKeyPayload, type CreateBillingPortalSessionPayload, type CreateSetupSessionPayload, type CreateTokenPayload, type DeactivateProductPayload, type EditAccessKeyPayload, type EditProjectPayload, type FeatureAvailability, type GetInstancesOverTimeQuery, type GetInvoicesQuery, type GetPeersOverTimeQuery, type GetProjectsQuery, type GetRoomsOverTimeQuery, type Invoice, type InvoicePosition, type InvoiceStatus, type Invoices, type OdinAccessKey, type OdinUserPermissions, type OdinUserRole, PaymentApiError, PaymentAuthError, PaymentClient, type PaymentClientConfig, PaymentError, PaymentNotFoundError, type PaymentProject, PaymentRateLimitError, PaymentValidationError, type PermissionRole, type PortalSession, type PricingType, type ProductDependencyCheck, type ProductDependencyStatus, type ProductPricing, type ProductSlug, type ProjectProduct, type ProjectProductFeature, type ResourcePackagePrice, type ResourcePackagePricePayload, type ResourcePackagePricesPayload, type RevokeUserPayload, type SetBillingAccountPayload, type SetupSession, type Subscription, type SubscriptionPosition, type SuccessResponse, type TariffParams, type TimeSeriesData, type TokenPayload, type UserStatus, type components, PaymentClient as default, type operations, type paths };