@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 +1 -1
- package/dist/index.d.ts +113 -13
- package/dist/index.js +274 -98
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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 —
|
|
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
|
|
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 };
|