@gpc-cli/api 1.0.25 → 1.0.27

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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Typed Google Play Developer API v3 client for TypeScript. Part of [GPC](https://github.com/yasserstudio/gpc).
4
4
 
5
- The entire Google Play Developer API in one typed client — 187 endpoints covering edits, releases, tracks, listings, images, subscriptions, in-app products, purchases, reviews, vitals, reports, users, and testers. Built-in rate limiting, retry logic, and pagination. Works with your existing service account — no new credentials required.
5
+ The entire Google Play Developer API in one typed client — 204 endpoints covering edits, releases, tracks, listings, images, subscriptions, in-app products, purchases, reviews, vitals, reports, users, and testers. Built-in rate limiting, retry logic, and pagination. Works with your existing service account — no new credentials required.
6
6
 
7
7
  ## Install
8
8
 
package/dist/index.d.ts CHANGED
@@ -7,7 +7,20 @@ interface RateLimitBucket {
7
7
  interface RateLimiter {
8
8
  acquire(bucket: string): Promise<void>;
9
9
  }
10
+ /**
11
+ * Google Play Developer API quota model (as of 2025):
12
+ * - 200,000 queries per day total
13
+ * - 6 independent per-minute buckets at 3,000 queries/min each
14
+ *
15
+ * The per-minute buckets are the practical constraint for CLI usage.
16
+ * Daily limits are tracked locally via gpc quota.
17
+ */
10
18
  declare const RATE_LIMIT_BUCKETS: Record<string, RateLimitBucket>;
19
+ /**
20
+ * Map an API path to the appropriate rate-limit bucket.
21
+ * Google's quota is structured by resource type.
22
+ */
23
+ declare function resolveBucket(path: string): string;
11
24
  declare function createRateLimiter(buckets?: RateLimitBucket[]): RateLimiter;
12
25
 
13
26
  interface RetryLogEntry {
@@ -52,6 +65,22 @@ interface AppEdit {
52
65
  id: string;
53
66
  expiryTimeSeconds: string;
54
67
  }
68
+ type ChangesInReviewBehavior = "CANCEL_IN_REVIEW_AND_SUBMIT" | "ERROR_IF_IN_REVIEW";
69
+ interface EditCommitOptions {
70
+ changesNotSentForReview?: boolean;
71
+ changesInReviewBehavior?: ChangesInReviewBehavior;
72
+ }
73
+ type DeobfuscationFileType = "proguard" | "nativeCode";
74
+ type ProductUpdateLatencyTolerance = "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" | "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" | "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT";
75
+ interface MutationOptions {
76
+ allowMissing?: boolean;
77
+ latencyTolerance?: ProductUpdateLatencyTolerance;
78
+ }
79
+ interface ExpansionFile {
80
+ referencesVersion?: number;
81
+ fileSize?: string;
82
+ }
83
+ type ExpansionFileType = "main" | "patch";
55
84
  interface Track {
56
85
  track: string;
57
86
  releases: Release[];
@@ -63,6 +92,10 @@ interface Release {
63
92
  userFraction?: number;
64
93
  releaseNotes?: ReleaseNote[];
65
94
  inAppUpdatePriority?: number;
95
+ countryTargeting?: {
96
+ countries: string[];
97
+ includeRestOfWorld: boolean;
98
+ };
66
99
  }
67
100
  type ReleaseStatus = "completed" | "draft" | "halted" | "inProgress";
68
101
  interface ReleaseNote {
@@ -127,6 +160,10 @@ interface ApkInfo {
127
160
  sha256: string;
128
161
  };
129
162
  }
163
+ interface ApksListResponse {
164
+ apks: ApkInfo[];
165
+ kind?: string;
166
+ }
130
167
  interface DeobfuscationFile {
131
168
  symbolType: string;
132
169
  }
@@ -180,6 +217,7 @@ interface ReviewReplyResponse {
180
217
  interface ReviewsListOptions {
181
218
  token?: string;
182
219
  maxResults?: number;
220
+ startIndex?: number;
183
221
  translationLanguage?: string;
184
222
  }
185
223
  type VitalsMetricSet = "crashRateMetricSet" | "anrRateMetricSet" | "excessiveWakeupRateMetricSet" | "stuckBackgroundWakelockRateMetricSet" | "slowStartRateMetricSet" | "slowRenderingRateMetricSet" | "errorCountMetricSet";
@@ -352,6 +390,10 @@ interface BasePlanMigratePricesRequest {
352
390
  oldestAllowedPriceVersionTime?: string;
353
391
  priceIncreaseType?: string;
354
392
  }[];
393
+ regionsVersion?: {
394
+ version?: string;
395
+ };
396
+ latencyTolerance?: ProductUpdateLatencyTolerance;
355
397
  }
356
398
  interface SubscriptionOfferPhase {
357
399
  recurrenceCount: number;
@@ -508,12 +550,14 @@ interface SubscriptionDeferResponse {
508
550
  newExpiryTimeMillis: string;
509
551
  }
510
552
  interface VoidedPurchase {
553
+ kind?: string;
511
554
  purchaseToken: string;
512
555
  purchaseTimeMillis: string;
513
556
  voidedTimeMillis: string;
514
557
  orderId: string;
515
558
  voidedSource: number;
516
559
  voidedReason: number;
560
+ voidedQuantity?: number;
517
561
  }
518
562
  interface VoidedPurchasesListResponse {
519
563
  voidedPurchases: VoidedPurchase[];
@@ -967,7 +1011,7 @@ interface PlayApiClient {
967
1011
  insert(packageName: string): Promise<AppEdit>;
968
1012
  get(packageName: string, editId: string): Promise<AppEdit>;
969
1013
  validate(packageName: string, editId: string): Promise<AppEdit>;
970
- commit(packageName: string, editId: string): Promise<AppEdit>;
1014
+ commit(packageName: string, editId: string, options?: EditCommitOptions): Promise<AppEdit>;
971
1015
  delete(packageName: string, editId: string): Promise<void>;
972
1016
  };
973
1017
  details: {
@@ -977,7 +1021,7 @@ interface PlayApiClient {
977
1021
  };
978
1022
  bundles: {
979
1023
  list(packageName: string, editId: string): Promise<Bundle[]>;
980
- upload(packageName: string, editId: string, filePath: string, uploadOptions?: ResumableUploadOptions): Promise<Bundle>;
1024
+ upload(packageName: string, editId: string, filePath: string, uploadOptions?: ResumableUploadOptions, deviceTierConfigId?: string): Promise<Bundle>;
981
1025
  };
982
1026
  tracks: {
983
1027
  list(packageName: string, editId: string): Promise<Track[]>;
@@ -990,6 +1034,8 @@ interface PlayApiClient {
990
1034
  list(packageName: string, track: string): Promise<ReleaseSummary[]>;
991
1035
  };
992
1036
  apks: {
1037
+ list(packageName: string, editId: string): Promise<ApkInfo[]>;
1038
+ upload(packageName: string, editId: string, filePath: string, uploadOptions?: ResumableUploadOptions): Promise<ApkInfo>;
993
1039
  addExternallyHosted(packageName: string, editId: string, data: ExternallyHostedApk): Promise<ExternallyHostedApkResponse>;
994
1040
  };
995
1041
  listings: {
@@ -1006,6 +1052,12 @@ interface PlayApiClient {
1006
1052
  delete(packageName: string, editId: string, language: string, imageType: ImageType, imageId: string): Promise<void>;
1007
1053
  deleteAll(packageName: string, editId: string, language: string, imageType: ImageType): Promise<Image[]>;
1008
1054
  };
1055
+ expansionFiles: {
1056
+ get(packageName: string, editId: string, apkVersionCode: number, expansionFileType: ExpansionFileType): Promise<ExpansionFile>;
1057
+ update(packageName: string, editId: string, apkVersionCode: number, expansionFileType: ExpansionFileType, data: ExpansionFile): Promise<ExpansionFile>;
1058
+ patch(packageName: string, editId: string, apkVersionCode: number, expansionFileType: ExpansionFileType, data: Partial<ExpansionFile>): Promise<ExpansionFile>;
1059
+ upload(packageName: string, editId: string, apkVersionCode: number, expansionFileType: ExpansionFileType, filePath: string): Promise<ExpansionFile>;
1060
+ };
1009
1061
  countryAvailability: {
1010
1062
  get(packageName: string, editId: string, track: string): Promise<CountryAvailability>;
1011
1063
  };
@@ -1024,8 +1076,8 @@ interface PlayApiClient {
1024
1076
  pageSize?: number;
1025
1077
  }): Promise<SubscriptionsListResponse>;
1026
1078
  get(packageName: string, productId: string): Promise<Subscription>;
1027
- create(packageName: string, data: Subscription, productId?: string): Promise<Subscription>;
1028
- update(packageName: string, productId: string, data: Subscription, updateMask?: string, regionsVersion?: string): Promise<Subscription>;
1079
+ create(packageName: string, data: Subscription, productId?: string, regionsVersion?: string): Promise<Subscription>;
1080
+ update(packageName: string, productId: string, data: Subscription, updateMask?: string, regionsVersion?: string, options?: MutationOptions): Promise<Subscription>;
1029
1081
  delete(packageName: string, productId: string): Promise<void>;
1030
1082
  batchGet(packageName: string, productIds: string[]): Promise<Subscription[]>;
1031
1083
  batchUpdate(packageName: string, requests: SubscriptionsBatchUpdateRequest): Promise<SubscriptionsBatchUpdateResponse>;
@@ -1035,11 +1087,43 @@ interface PlayApiClient {
1035
1087
  migratePrices(packageName: string, productId: string, basePlanId: string, body: BasePlanMigratePricesRequest): Promise<Subscription>;
1036
1088
  listOffers(packageName: string, productId: string, basePlanId: string): Promise<OffersListResponse>;
1037
1089
  getOffer(packageName: string, productId: string, basePlanId: string, offerId: string): Promise<SubscriptionOffer>;
1038
- createOffer(packageName: string, productId: string, basePlanId: string, data: SubscriptionOffer, offerId?: string): Promise<SubscriptionOffer>;
1039
- updateOffer(packageName: string, productId: string, basePlanId: string, offerId: string, data: SubscriptionOffer, updateMask?: string, regionsVersion?: string): Promise<SubscriptionOffer>;
1090
+ createOffer(packageName: string, productId: string, basePlanId: string, data: SubscriptionOffer, offerId?: string, regionsVersion?: string): Promise<SubscriptionOffer>;
1091
+ updateOffer(packageName: string, productId: string, basePlanId: string, offerId: string, data: SubscriptionOffer, updateMask?: string, regionsVersion?: string, options?: MutationOptions): Promise<SubscriptionOffer>;
1040
1092
  deleteOffer(packageName: string, productId: string, basePlanId: string, offerId: string): Promise<void>;
1041
1093
  activateOffer(packageName: string, productId: string, basePlanId: string, offerId: string): Promise<SubscriptionOffer>;
1042
1094
  deactivateOffer(packageName: string, productId: string, basePlanId: string, offerId: string): Promise<SubscriptionOffer>;
1095
+ batchUpdateBasePlanStates(packageName: string, productId: string, requests: {
1096
+ requests: Array<{
1097
+ activateBasePlanRequest?: {
1098
+ basePlanId: string;
1099
+ };
1100
+ deactivateBasePlanRequest?: {
1101
+ basePlanId: string;
1102
+ };
1103
+ }>;
1104
+ }): Promise<Subscription>;
1105
+ batchGetOffers(packageName: string, productId: string, basePlanId: string, offerIds: string[]): Promise<{
1106
+ subscriptionOffers: SubscriptionOffer[];
1107
+ }>;
1108
+ batchUpdateOffers(packageName: string, productId: string, basePlanId: string, requests: {
1109
+ requests: Array<{
1110
+ subscriptionOffer: Partial<SubscriptionOffer>;
1111
+ updateMask?: string;
1112
+ regionsVersion?: string;
1113
+ }>;
1114
+ }): Promise<{
1115
+ subscriptionOffers: SubscriptionOffer[];
1116
+ }>;
1117
+ batchUpdateOfferStates(packageName: string, productId: string, basePlanId: string, requests: {
1118
+ requests: Array<{
1119
+ activateSubscriptionOfferRequest?: {
1120
+ offerId: string;
1121
+ };
1122
+ deactivateSubscriptionOfferRequest?: {
1123
+ offerId: string;
1124
+ };
1125
+ }>;
1126
+ }): Promise<Subscription>;
1043
1127
  };
1044
1128
  inappproducts: {
1045
1129
  list(packageName: string, options?: {
@@ -1083,6 +1167,8 @@ interface PlayApiClient {
1083
1167
  listVoided(packageName: string, options?: {
1084
1168
  startTime?: string;
1085
1169
  endTime?: string;
1170
+ type?: number;
1171
+ includeQuantityBasedPartialRefund?: boolean;
1086
1172
  maxResults?: number;
1087
1173
  token?: string;
1088
1174
  }): Promise<VoidedPurchasesListResponse>;
@@ -1107,7 +1193,7 @@ interface PlayApiClient {
1107
1193
  update(packageName: string, editId: string, track: string, testers: Testers): Promise<Testers>;
1108
1194
  };
1109
1195
  deobfuscation: {
1110
- upload(packageName: string, editId: string, versionCode: number, filePath: string): Promise<DeobfuscationFile>;
1196
+ upload(packageName: string, editId: string, versionCode: number, filePath: string, fileType?: DeobfuscationFileType): Promise<DeobfuscationFile>;
1111
1197
  };
1112
1198
  appRecovery: {
1113
1199
  list(packageName: string, versionCode?: number): Promise<AppRecoveryAction[]>;
@@ -1127,16 +1213,30 @@ interface PlayApiClient {
1127
1213
  create(packageName: string, config: DeviceTierConfig): Promise<DeviceTierConfig>;
1128
1214
  };
1129
1215
  oneTimeProducts: {
1130
- list(packageName: string): Promise<OneTimeProductsListResponse>;
1216
+ list(packageName: string, options?: {
1217
+ pageToken?: string;
1218
+ pageSize?: number;
1219
+ }): Promise<OneTimeProductsListResponse>;
1131
1220
  get(packageName: string, productId: string): Promise<OneTimeProduct>;
1132
- create(packageName: string, product: OneTimeProduct): Promise<OneTimeProduct>;
1133
- update(packageName: string, productId: string, product: Partial<OneTimeProduct>, updateMask?: string, regionsVersion?: string): Promise<OneTimeProduct>;
1221
+ create(packageName: string, product: OneTimeProduct, regionsVersion?: string): Promise<OneTimeProduct>;
1222
+ update(packageName: string, productId: string, product: Partial<OneTimeProduct>, updateMask?: string, regionsVersion?: string, options?: MutationOptions): Promise<OneTimeProduct>;
1134
1223
  delete(packageName: string, productId: string): Promise<void>;
1135
1224
  listOffers(packageName: string, productId: string): Promise<OneTimeOffersListResponse>;
1136
1225
  getOffer(packageName: string, productId: string, offerId: string): Promise<OneTimeOffer>;
1137
- createOffer(packageName: string, productId: string, offer: OneTimeOffer): Promise<OneTimeOffer>;
1138
- updateOffer(packageName: string, productId: string, offerId: string, offer: Partial<OneTimeOffer>, updateMask?: string, regionsVersion?: string): Promise<OneTimeOffer>;
1226
+ createOffer(packageName: string, productId: string, offer: OneTimeOffer, regionsVersion?: string): Promise<OneTimeOffer>;
1227
+ updateOffer(packageName: string, productId: string, offerId: string, offer: Partial<OneTimeOffer>, updateMask?: string, regionsVersion?: string, options?: MutationOptions): Promise<OneTimeOffer>;
1139
1228
  deleteOffer(packageName: string, productId: string, offerId: string): Promise<void>;
1229
+ batchGet(packageName: string, productIds: string[]): Promise<OneTimeProduct[]>;
1230
+ batchUpdate(packageName: string, requests: {
1231
+ requests: Array<{
1232
+ oneTimeProduct: Partial<OneTimeProduct>;
1233
+ updateMask?: string;
1234
+ regionsVersion?: string;
1235
+ }>;
1236
+ }): Promise<{
1237
+ oneTimeProducts: OneTimeProduct[];
1238
+ }>;
1239
+ batchDelete(packageName: string, productIds: string[]): Promise<void>;
1140
1240
  };
1141
1241
  purchaseOptions: {
1142
1242
  list(packageName: string): Promise<PurchaseOptionsListResponse>;
@@ -1329,4 +1429,4 @@ declare class PlayApiError extends Error {
1329
1429
  /** Files below this threshold use simple upload instead. */
1330
1430
  declare const RESUMABLE_THRESHOLD: number;
1331
1431
 
1332
- export { type Achievement, type Anomaly, type AnomalyDetectionResponse, type ApiClientOptions, type ApiResponse, type ApkInfo, type AppDetails, type AppEdit, type AppRecoveriesListResponse, type AppRecoveryAction, type AppRecoveryTargeting, type BasePlan, type BasePlanMigratePricesRequest, type BatchGetOrdersResponse, type Bundle, type BundleListResponse, type ConvertRegionPricesRequest, type ConvertRegionPricesResponse, type ConvertedRegionPrice, type CountryAvailability, type CreateAppRecoveryActionRequest, type CustomApp, type CustomAppsListResponse, type DataSafety, type DataSafetyDataType, type DataSafetyPurpose, type DeobfuscationFile, type DeobfuscationUploadResponse, type DeveloperComment, type DeveloperPermission, type DeviceGroup, type DeviceSelector, type DeviceTier, type DeviceTierConfig, type DeviceTierConfigsListResponse, type EnterpriseApiClient, type ErrorIssue, type ErrorIssuesResponse, type ErrorReport, type ErrorReportsResponse, type ExternalTransaction, type ExternalTransactionAmount, type ExternalTransactionRefund, type ExternallyHostedApk, type ExternallyHostedApkResponse, type GameEvent, type GamesApiClient, type GeneratedApk, type GeneratedApksPerVersion, type Grant, type GrantsListResponse, type HttpClient, type Image, type ImageType, type ImageUploadResponse, type ImagesDeleteAllResponse, type ImagesListResponse, type InAppProduct, type InAppProductListing, type InAppProductsBatchDeleteRequest, type InAppProductsBatchGetRequest, type InAppProductsBatchUpdateRequest, type InAppProductsBatchUpdateResponse, type InAppProductsListResponse, type InternalAppSharingArtifact, type Leaderboard, type LeaderboardScore, type Listing, type ListingsListResponse, type MetricRow, type MetricSetQuery, type MetricSetResponse, type Money, type OffersListResponse, type OneTimeOffer, type OneTimeOfferRegionalConfig, type OneTimeOffersListResponse, type OneTimeProduct, type OneTimeProductListing, type OneTimeProductsListResponse, type Order, type OrderLineItem, type PagedResponse, type PaginateOptions, type PlayApiClient, PlayApiError, type ProductPurchase, type ProductPurchaseLineItem, type ProductPurchaseV2, type PurchaseOption, type PurchaseOptionsListResponse, RATE_LIMIT_BUCKETS, RESUMABLE_THRESHOLD, type RateLimitBucket, type RateLimiter, type RegionalBasePlanConfig, type Release, type ReleaseNote, type ReleaseStatus, type ReleaseSummary, type ReleasesListResponse, type ReportBucket, type ReportType, type ReportingAggregation, type ReportingApiClient, type ReportingDimension, type ReportsListResponse, type ResumableUploadOptions, type RetryLogEntry, type Review, type ReviewComment, type ReviewReplyRequest, type ReviewReplyResponse, type ReviewsListOptions, type ReviewsListResponse, type StatsDimension, type Subscription, type SubscriptionDeferRequest, type SubscriptionDeferResponse, type SubscriptionListing, type SubscriptionOffer, type SubscriptionOfferPhase, type SubscriptionPurchase, type SubscriptionPurchaseLineItem, type SubscriptionPurchaseV2, type SubscriptionsBatchGetRequest, type SubscriptionsBatchGetResponse, type SubscriptionsBatchUpdateRequest, type SubscriptionsBatchUpdateResponse, type SubscriptionsListResponse, type SubscriptionsV2CancelRequest, type SubscriptionsV2DeferRequest, type SubscriptionsV2DeferResponse, type TaxAndComplianceSettings, type Testers, type TokenPagination, type Track, type TrackListResponse, type UploadProgressEvent, type UploadResponse, type User, type UserComment, type UsersApiClient, type UsersListResponse, type VitalsMetricSet, type VoidedPurchase, type VoidedPurchasesListResponse, createApiClient, createEnterpriseClient, createGamesClient, createHttpClient, createRateLimiter, createReportingClient, createUsersClient, paginate, paginateAll, paginateParallel };
1432
+ export { type Achievement, type Anomaly, type AnomalyDetectionResponse, type ApiClientOptions, type ApiResponse, type ApkInfo, type ApksListResponse, type AppDetails, type AppEdit, type AppRecoveriesListResponse, type AppRecoveryAction, type AppRecoveryTargeting, type BasePlan, type BasePlanMigratePricesRequest, type BatchGetOrdersResponse, type Bundle, type BundleListResponse, type ChangesInReviewBehavior, type ConvertRegionPricesRequest, type ConvertRegionPricesResponse, type ConvertedRegionPrice, type CountryAvailability, type CreateAppRecoveryActionRequest, type CustomApp, type CustomAppsListResponse, type DataSafety, type DataSafetyDataType, type DataSafetyPurpose, type DeobfuscationFile, type DeobfuscationFileType, type DeobfuscationUploadResponse, type DeveloperComment, type DeveloperPermission, type DeviceGroup, type DeviceSelector, type DeviceTier, type DeviceTierConfig, type DeviceTierConfigsListResponse, type EditCommitOptions, type EnterpriseApiClient, type ErrorIssue, type ErrorIssuesResponse, type ErrorReport, type ErrorReportsResponse, type ExpansionFile, type ExpansionFileType, type ExternalTransaction, type ExternalTransactionAmount, type ExternalTransactionRefund, type ExternallyHostedApk, type ExternallyHostedApkResponse, type GameEvent, type GamesApiClient, type GeneratedApk, type GeneratedApksPerVersion, type Grant, type GrantsListResponse, type HttpClient, type Image, type ImageType, type ImageUploadResponse, type ImagesDeleteAllResponse, type ImagesListResponse, type InAppProduct, type InAppProductListing, type InAppProductsBatchDeleteRequest, type InAppProductsBatchGetRequest, type InAppProductsBatchUpdateRequest, type InAppProductsBatchUpdateResponse, type InAppProductsListResponse, type InternalAppSharingArtifact, type Leaderboard, type LeaderboardScore, type Listing, type ListingsListResponse, type MetricRow, type MetricSetQuery, type MetricSetResponse, type Money, type MutationOptions, type OffersListResponse, type OneTimeOffer, type OneTimeOfferRegionalConfig, type OneTimeOffersListResponse, type OneTimeProduct, type OneTimeProductListing, type OneTimeProductsListResponse, type Order, type OrderLineItem, type PagedResponse, type PaginateOptions, type PlayApiClient, PlayApiError, type ProductPurchase, type ProductPurchaseLineItem, type ProductPurchaseV2, type ProductUpdateLatencyTolerance, type PurchaseOption, type PurchaseOptionsListResponse, RATE_LIMIT_BUCKETS, RESUMABLE_THRESHOLD, type RateLimitBucket, type RateLimiter, type RegionalBasePlanConfig, type Release, type ReleaseNote, type ReleaseStatus, type ReleaseSummary, type ReleasesListResponse, type ReportBucket, type ReportType, type ReportingAggregation, type ReportingApiClient, type ReportingDimension, type ReportsListResponse, type ResumableUploadOptions, type RetryLogEntry, type Review, type ReviewComment, type ReviewReplyRequest, type ReviewReplyResponse, type ReviewsListOptions, type ReviewsListResponse, type StatsDimension, type Subscription, type SubscriptionDeferRequest, type SubscriptionDeferResponse, type SubscriptionListing, type SubscriptionOffer, type SubscriptionOfferPhase, type SubscriptionPurchase, type SubscriptionPurchaseLineItem, type SubscriptionPurchaseV2, type SubscriptionsBatchGetRequest, type SubscriptionsBatchGetResponse, type SubscriptionsBatchUpdateRequest, type SubscriptionsBatchUpdateResponse, type SubscriptionsListResponse, type SubscriptionsV2CancelRequest, type SubscriptionsV2DeferRequest, type SubscriptionsV2DeferResponse, type TaxAndComplianceSettings, type Testers, type TokenPagination, type Track, type TrackListResponse, type UploadProgressEvent, type UploadResponse, type User, type UserComment, type UsersApiClient, type UsersListResponse, type VitalsMetricSet, type VoidedPurchase, type VoidedPurchasesListResponse, createApiClient, createEnterpriseClient, createGamesClient, createHttpClient, createRateLimiter, createReportingClient, createUsersClient, paginate, paginateAll, paginateParallel, resolveBucket };