gplayapi-ts
Version:
Google Play API wrapper in TypeScript
1 lines • 380 kB
Source Map (JSON)
{"version":3,"sources":["../../src/gen_proto/googleplay_pb.ts"],"sourcesContent":["// @generated by protoc-gen-es v1.10.1 with parameter \"target=ts\"\n// @generated from file googleplay.proto (package googleplay, syntax proto2)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto2, protoInt64 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message googleplay.AndroidAppDeliveryData\n */\nexport class AndroidAppDeliveryData extends Message<AndroidAppDeliveryData> {\n /**\n * @generated from field: optional int64 downloadSize = 1;\n */\n downloadSize?: bigint;\n\n /**\n * @generated from field: optional string sha1 = 2;\n */\n sha1?: string;\n\n /**\n * @generated from field: optional string downloadUrl = 3;\n */\n downloadUrl?: string;\n\n /**\n * @generated from field: repeated googleplay.AppFileMetadata additionalFile = 4;\n */\n additionalFile: AppFileMetadata[] = [];\n\n /**\n * @generated from field: repeated googleplay.HttpCookie downloadAuthCookie = 5;\n */\n downloadAuthCookie: HttpCookie[] = [];\n\n /**\n * @generated from field: optional bool forwardLocked = 6;\n */\n forwardLocked?: boolean;\n\n /**\n * @generated from field: optional int64 refundTimeout = 7;\n */\n refundTimeout?: bigint;\n\n /**\n * @generated from field: optional bool serverInitiated = 8 [default = true];\n */\n serverInitiated?: boolean;\n\n /**\n * @generated from field: optional int64 postInstallRefundWindowMillis = 9;\n */\n postInstallRefundWindowMillis?: bigint;\n\n /**\n * @generated from field: optional bool immediateStartNeeded = 10;\n */\n immediateStartNeeded?: boolean;\n\n /**\n * @generated from field: optional googleplay.AndroidAppPatchData patchData = 11;\n */\n patchData?: AndroidAppPatchData;\n\n /**\n * @generated from field: optional googleplay.EncryptionParams encryptionParams = 12;\n */\n encryptionParams?: EncryptionParams;\n\n /**\n * @generated from field: optional string compressedDownloadUrl = 13;\n */\n compressedDownloadUrl?: string;\n\n /**\n * @generated from field: optional int64 compressedSize = 14;\n */\n compressedSize?: bigint;\n\n /**\n * @generated from field: repeated googleplay.SplitDeliveryData splitDeliveryData = 15;\n */\n splitDeliveryData: SplitDeliveryData[] = [];\n\n /**\n * @generated from field: optional int32 installLocation = 16;\n */\n installLocation?: number;\n\n /**\n * @generated from field: optional int64 type = 17;\n */\n type?: bigint;\n\n /**\n * @generated from field: optional googleplay.CompressedAppData compressedAppData = 18;\n */\n compressedAppData?: CompressedAppData;\n\n /**\n * @generated from field: optional string sha256 = 19;\n */\n sha256?: string;\n\n constructor(data?: PartialMessage<AndroidAppDeliveryData>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.AndroidAppDeliveryData\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"downloadSize\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 2, name: \"sha1\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 3, name: \"downloadUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 4, name: \"additionalFile\", kind: \"message\", T: AppFileMetadata, repeated: true },\n { no: 5, name: \"downloadAuthCookie\", kind: \"message\", T: HttpCookie, repeated: true },\n { no: 6, name: \"forwardLocked\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n { no: 7, name: \"refundTimeout\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 8, name: \"serverInitiated\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true, default: true },\n { no: 9, name: \"postInstallRefundWindowMillis\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 10, name: \"immediateStartNeeded\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n { no: 11, name: \"patchData\", kind: \"message\", T: AndroidAppPatchData, opt: true },\n { no: 12, name: \"encryptionParams\", kind: \"message\", T: EncryptionParams, opt: true },\n { no: 13, name: \"compressedDownloadUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 14, name: \"compressedSize\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 15, name: \"splitDeliveryData\", kind: \"message\", T: SplitDeliveryData, repeated: true },\n { no: 16, name: \"installLocation\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 17, name: \"type\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 18, name: \"compressedAppData\", kind: \"message\", T: CompressedAppData, opt: true },\n { no: 19, name: \"sha256\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AndroidAppDeliveryData {\n return new AndroidAppDeliveryData().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AndroidAppDeliveryData {\n return new AndroidAppDeliveryData().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AndroidAppDeliveryData {\n return new AndroidAppDeliveryData().fromJsonString(jsonString, options);\n }\n\n static equals(a: AndroidAppDeliveryData | PlainMessage<AndroidAppDeliveryData> | undefined, b: AndroidAppDeliveryData | PlainMessage<AndroidAppDeliveryData> | undefined): boolean {\n return proto2.util.equals(AndroidAppDeliveryData, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.SplitDeliveryData\n */\nexport class SplitDeliveryData extends Message<SplitDeliveryData> {\n /**\n * @generated from field: optional string name = 1;\n */\n name?: string;\n\n /**\n * @generated from field: optional int64 downloadSize = 2;\n */\n downloadSize?: bigint;\n\n /**\n * @generated from field: optional int64 compressedSize = 3;\n */\n compressedSize?: bigint;\n\n /**\n * @generated from field: optional string sha1 = 4;\n */\n sha1?: string;\n\n /**\n * @generated from field: optional string downloadUrl = 5;\n */\n downloadUrl?: string;\n\n /**\n * @generated from field: optional string compressedDownloadUrl = 6;\n */\n compressedDownloadUrl?: string;\n\n /**\n * @generated from field: optional googleplay.AndroidAppPatchData patchData = 7;\n */\n patchData?: AndroidAppPatchData;\n\n /**\n * @generated from field: optional googleplay.CompressedAppData compressedAppData = 8;\n */\n compressedAppData?: CompressedAppData;\n\n /**\n * @generated from field: optional string sha256 = 9;\n */\n sha256?: string;\n\n constructor(data?: PartialMessage<SplitDeliveryData>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.SplitDeliveryData\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 2, name: \"downloadSize\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 3, name: \"compressedSize\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 4, name: \"sha1\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 5, name: \"downloadUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 6, name: \"compressedDownloadUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 7, name: \"patchData\", kind: \"message\", T: AndroidAppPatchData, opt: true },\n { no: 8, name: \"compressedAppData\", kind: \"message\", T: CompressedAppData, opt: true },\n { no: 9, name: \"sha256\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SplitDeliveryData {\n return new SplitDeliveryData().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SplitDeliveryData {\n return new SplitDeliveryData().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SplitDeliveryData {\n return new SplitDeliveryData().fromJsonString(jsonString, options);\n }\n\n static equals(a: SplitDeliveryData | PlainMessage<SplitDeliveryData> | undefined, b: SplitDeliveryData | PlainMessage<SplitDeliveryData> | undefined): boolean {\n return proto2.util.equals(SplitDeliveryData, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.AndroidAppPatchData\n */\nexport class AndroidAppPatchData extends Message<AndroidAppPatchData> {\n /**\n * @generated from field: optional int32 baseVersionCode = 1;\n */\n baseVersionCode?: number;\n\n /**\n * @generated from field: optional string baseSha1 = 2;\n */\n baseSha1?: string;\n\n /**\n * @generated from field: optional string downloadUrl = 3;\n */\n downloadUrl?: string;\n\n /**\n * @generated from field: optional int32 patchFormat = 4 [default = 1];\n */\n patchFormat?: number;\n\n /**\n * @generated from field: optional int64 maxPatchSize = 5;\n */\n maxPatchSize?: bigint;\n\n constructor(data?: PartialMessage<AndroidAppPatchData>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.AndroidAppPatchData\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"baseVersionCode\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 2, name: \"baseSha1\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 3, name: \"downloadUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 4, name: \"patchFormat\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true, default: 1 },\n { no: 5, name: \"maxPatchSize\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AndroidAppPatchData {\n return new AndroidAppPatchData().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AndroidAppPatchData {\n return new AndroidAppPatchData().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AndroidAppPatchData {\n return new AndroidAppPatchData().fromJsonString(jsonString, options);\n }\n\n static equals(a: AndroidAppPatchData | PlainMessage<AndroidAppPatchData> | undefined, b: AndroidAppPatchData | PlainMessage<AndroidAppPatchData> | undefined): boolean {\n return proto2.util.equals(AndroidAppPatchData, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.CompressedAppData\n */\nexport class CompressedAppData extends Message<CompressedAppData> {\n /**\n * @generated from field: optional int64 type = 1;\n */\n type?: bigint;\n\n /**\n * @generated from field: optional int64 size = 2;\n */\n size?: bigint;\n\n /**\n * @generated from field: optional string downloadUrl = 3;\n */\n downloadUrl?: string;\n\n constructor(data?: PartialMessage<CompressedAppData>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.CompressedAppData\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 2, name: \"size\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 3, name: \"downloadUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CompressedAppData {\n return new CompressedAppData().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CompressedAppData {\n return new CompressedAppData().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CompressedAppData {\n return new CompressedAppData().fromJsonString(jsonString, options);\n }\n\n static equals(a: CompressedAppData | PlainMessage<CompressedAppData> | undefined, b: CompressedAppData | PlainMessage<CompressedAppData> | undefined): boolean {\n return proto2.util.equals(CompressedAppData, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.AppFileMetadata\n */\nexport class AppFileMetadata extends Message<AppFileMetadata> {\n /**\n * @generated from field: optional int32 fileType = 1;\n */\n fileType?: number;\n\n /**\n * @generated from field: optional int32 versionCode = 2;\n */\n versionCode?: number;\n\n /**\n * @generated from field: optional int64 size = 3;\n */\n size?: bigint;\n\n /**\n * @generated from field: optional string downloadUrl = 4;\n */\n downloadUrl?: string;\n\n /**\n * @generated from field: optional googleplay.AndroidAppPatchData patchData = 5;\n */\n patchData?: AndroidAppPatchData;\n\n /**\n * @generated from field: optional int64 compressedSize = 6;\n */\n compressedSize?: bigint;\n\n /**\n * @generated from field: optional string compressedDownloadUrl = 7;\n */\n compressedDownloadUrl?: string;\n\n /**\n * @generated from field: optional string sha1 = 8;\n */\n sha1?: string;\n\n constructor(data?: PartialMessage<AppFileMetadata>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.AppFileMetadata\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"fileType\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 2, name: \"versionCode\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 3, name: \"size\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 4, name: \"downloadUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 5, name: \"patchData\", kind: \"message\", T: AndroidAppPatchData, opt: true },\n { no: 6, name: \"compressedSize\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 7, name: \"compressedDownloadUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 8, name: \"sha1\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AppFileMetadata {\n return new AppFileMetadata().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AppFileMetadata {\n return new AppFileMetadata().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AppFileMetadata {\n return new AppFileMetadata().fromJsonString(jsonString, options);\n }\n\n static equals(a: AppFileMetadata | PlainMessage<AppFileMetadata> | undefined, b: AppFileMetadata | PlainMessage<AppFileMetadata> | undefined): boolean {\n return proto2.util.equals(AppFileMetadata, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.EncryptionParams\n */\nexport class EncryptionParams extends Message<EncryptionParams> {\n /**\n * @generated from field: optional int32 version = 1;\n */\n version?: number;\n\n /**\n * @generated from field: optional string encryptionKey = 2;\n */\n encryptionKey?: string;\n\n /**\n * @generated from field: optional string hMacKey = 3;\n */\n hMacKey?: string;\n\n constructor(data?: PartialMessage<EncryptionParams>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.EncryptionParams\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"version\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 2, name: \"encryptionKey\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 3, name: \"hMacKey\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): EncryptionParams {\n return new EncryptionParams().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): EncryptionParams {\n return new EncryptionParams().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): EncryptionParams {\n return new EncryptionParams().fromJsonString(jsonString, options);\n }\n\n static equals(a: EncryptionParams | PlainMessage<EncryptionParams> | undefined, b: EncryptionParams | PlainMessage<EncryptionParams> | undefined): boolean {\n return proto2.util.equals(EncryptionParams, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.HttpCookie\n */\nexport class HttpCookie extends Message<HttpCookie> {\n /**\n * @generated from field: optional string name = 1;\n */\n name?: string;\n\n /**\n * @generated from field: optional string value = 2;\n */\n value?: string;\n\n constructor(data?: PartialMessage<HttpCookie>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.HttpCookie\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 2, name: \"value\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): HttpCookie {\n return new HttpCookie().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): HttpCookie {\n return new HttpCookie().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): HttpCookie {\n return new HttpCookie().fromJsonString(jsonString, options);\n }\n\n static equals(a: HttpCookie | PlainMessage<HttpCookie> | undefined, b: HttpCookie | PlainMessage<HttpCookie> | undefined): boolean {\n return proto2.util.equals(HttpCookie, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.Address\n */\nexport class Address extends Message<Address> {\n /**\n * @generated from field: optional string name = 1;\n */\n name?: string;\n\n /**\n * @generated from field: optional string addressLine1 = 2;\n */\n addressLine1?: string;\n\n /**\n * @generated from field: optional string addressLine2 = 3;\n */\n addressLine2?: string;\n\n /**\n * @generated from field: optional string city = 4;\n */\n city?: string;\n\n /**\n * @generated from field: optional string state = 5;\n */\n state?: string;\n\n /**\n * @generated from field: optional string postalCode = 6;\n */\n postalCode?: string;\n\n /**\n * @generated from field: optional string postalCountry = 7;\n */\n postalCountry?: string;\n\n /**\n * @generated from field: optional string dependentLocality = 8;\n */\n dependentLocality?: string;\n\n /**\n * @generated from field: optional string sortingCode = 9;\n */\n sortingCode?: string;\n\n /**\n * @generated from field: optional string languageCode = 10;\n */\n languageCode?: string;\n\n /**\n * @generated from field: optional string phoneNumber = 11;\n */\n phoneNumber?: string;\n\n /**\n * @generated from field: optional bool deprecatedIsReduced = 12;\n */\n deprecatedIsReduced?: boolean;\n\n /**\n * @generated from field: optional string firstName = 13;\n */\n firstName?: string;\n\n /**\n * @generated from field: optional string lastName = 14;\n */\n lastName?: string;\n\n /**\n * @generated from field: optional string email = 15;\n */\n email?: string;\n\n constructor(data?: PartialMessage<Address>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.Address\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 2, name: \"addressLine1\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 3, name: \"addressLine2\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 4, name: \"city\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 5, name: \"state\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 6, name: \"postalCode\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 7, name: \"postalCountry\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 8, name: \"dependentLocality\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 9, name: \"sortingCode\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 10, name: \"languageCode\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 11, name: \"phoneNumber\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 12, name: \"deprecatedIsReduced\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n { no: 13, name: \"firstName\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 14, name: \"lastName\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 15, name: \"email\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Address {\n return new Address().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Address {\n return new Address().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Address {\n return new Address().fromJsonString(jsonString, options);\n }\n\n static equals(a: Address | PlainMessage<Address> | undefined, b: Address | PlainMessage<Address> | undefined): boolean {\n return proto2.util.equals(Address, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.DirectPurchase\n */\nexport class DirectPurchase extends Message<DirectPurchase> {\n /**\n * @generated from field: optional string detailsUrl = 1;\n */\n detailsUrl?: string;\n\n /**\n * @generated from field: optional string purchaseItemId = 2;\n */\n purchaseItemId?: string;\n\n /**\n * @generated from field: optional string parentItemId = 3;\n */\n parentItemId?: string;\n\n /**\n * @generated from field: optional int32 offerType = 4 [default = 1];\n */\n offerType?: number;\n\n constructor(data?: PartialMessage<DirectPurchase>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.DirectPurchase\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"detailsUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 2, name: \"purchaseItemId\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 3, name: \"parentItemId\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 4, name: \"offerType\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true, default: 1 },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): DirectPurchase {\n return new DirectPurchase().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): DirectPurchase {\n return new DirectPurchase().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): DirectPurchase {\n return new DirectPurchase().fromJsonString(jsonString, options);\n }\n\n static equals(a: DirectPurchase | PlainMessage<DirectPurchase> | undefined, b: DirectPurchase | PlainMessage<DirectPurchase> | undefined): boolean {\n return proto2.util.equals(DirectPurchase, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.ResolvedLink\n */\nexport class ResolvedLink extends Message<ResolvedLink> {\n /**\n * @generated from field: optional string detailsUrl = 1;\n */\n detailsUrl?: string;\n\n /**\n * @generated from field: optional string browseUrl = 2;\n */\n browseUrl?: string;\n\n /**\n * @generated from field: optional string searchUrl = 3;\n */\n searchUrl?: string;\n\n /**\n * @generated from field: optional googleplay.DirectPurchase directPurchase = 4;\n */\n directPurchase?: DirectPurchase;\n\n /**\n * @generated from field: optional string homeUrl = 5;\n */\n homeUrl?: string;\n\n /**\n * @generated from field: optional bytes serverLogsCookie = 7;\n */\n serverLogsCookie?: Uint8Array;\n\n /**\n * @generated from field: optional googleplay.DocId DocId = 8;\n */\n DocId?: DocId;\n\n /**\n * @generated from field: optional int32 backend = 10;\n */\n backend?: number;\n\n /**\n * @generated from field: optional string query = 11;\n */\n query?: string;\n\n /**\n * @generated from field: optional string myAccountUrl = 12;\n */\n myAccountUrl?: string;\n\n constructor(data?: PartialMessage<ResolvedLink>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.ResolvedLink\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"detailsUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 2, name: \"browseUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 3, name: \"searchUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 4, name: \"directPurchase\", kind: \"message\", T: DirectPurchase, opt: true },\n { no: 5, name: \"homeUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 7, name: \"serverLogsCookie\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */, opt: true },\n { no: 8, name: \"DocId\", kind: \"message\", T: DocId, opt: true },\n { no: 10, name: \"backend\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 11, name: \"query\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 12, name: \"myAccountUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ResolvedLink {\n return new ResolvedLink().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ResolvedLink {\n return new ResolvedLink().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ResolvedLink {\n return new ResolvedLink().fromJsonString(jsonString, options);\n }\n\n static equals(a: ResolvedLink | PlainMessage<ResolvedLink> | undefined, b: ResolvedLink | PlainMessage<ResolvedLink> | undefined): boolean {\n return proto2.util.equals(ResolvedLink, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.QuickLink\n */\nexport class QuickLink extends Message<QuickLink> {\n /**\n * @generated from field: optional string name = 1;\n */\n name?: string;\n\n /**\n * @generated from field: optional googleplay.Image image = 2;\n */\n image?: Image;\n\n /**\n * @generated from field: optional googleplay.ResolvedLink link = 3;\n */\n link?: ResolvedLink;\n\n /**\n * @generated from field: optional bool displayRequired = 4;\n */\n displayRequired?: boolean;\n\n /**\n * @generated from field: optional bytes serverLogsCookie = 5;\n */\n serverLogsCookie?: Uint8Array;\n\n /**\n * @generated from field: optional int32 backendId = 6;\n */\n backendId?: number;\n\n /**\n * @generated from field: optional bool prismStyle = 7;\n */\n prismStyle?: boolean;\n\n constructor(data?: PartialMessage<QuickLink>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.QuickLink\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 2, name: \"image\", kind: \"message\", T: Image, opt: true },\n { no: 3, name: \"link\", kind: \"message\", T: ResolvedLink, opt: true },\n { no: 4, name: \"displayRequired\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n { no: 5, name: \"serverLogsCookie\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */, opt: true },\n { no: 6, name: \"backendId\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 7, name: \"prismStyle\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): QuickLink {\n return new QuickLink().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): QuickLink {\n return new QuickLink().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): QuickLink {\n return new QuickLink().fromJsonString(jsonString, options);\n }\n\n static equals(a: QuickLink | PlainMessage<QuickLink> | undefined, b: QuickLink | PlainMessage<QuickLink> | undefined): boolean {\n return proto2.util.equals(QuickLink, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.BuyResponse\n */\nexport class BuyResponse extends Message<BuyResponse> {\n /**\n * @generated from field: optional googleplay.PurchaseNotificationResponse purchaseResponse = 1;\n */\n purchaseResponse?: PurchaseNotificationResponse;\n\n /**\n * @generated from field: optional googleplay.BuyResponse.CheckoutInfo checkoutinfo = 2;\n */\n checkoutinfo?: BuyResponse_CheckoutInfo;\n\n /**\n * @generated from field: optional string continueViaUrl = 8;\n */\n continueViaUrl?: string;\n\n /**\n * @generated from field: optional string purchaseStatusUrl = 9;\n */\n purchaseStatusUrl?: string;\n\n /**\n * @generated from field: optional string checkoutServiceId = 12;\n */\n checkoutServiceId?: string;\n\n /**\n * @generated from field: optional bool checkoutTokenRequired = 13;\n */\n checkoutTokenRequired?: boolean;\n\n /**\n * @generated from field: optional string baseCheckoutUrl = 14;\n */\n baseCheckoutUrl?: string;\n\n /**\n * @generated from field: repeated string tosCheckboxHtml = 37;\n */\n tosCheckboxHtml: string[] = [];\n\n /**\n * @generated from field: optional int32 iabPermissionError = 38;\n */\n iabPermissionError?: number;\n\n /**\n * @generated from field: optional googleplay.PurchaseStatusResponse purchaseStatusResponse = 39;\n */\n purchaseStatusResponse?: PurchaseStatusResponse;\n\n /**\n * @generated from field: optional string purchaseCookie = 46;\n */\n purchaseCookie?: string;\n\n /**\n * @generated from field: optional googleplay.Challenge challenge = 49;\n */\n challenge?: Challenge;\n\n /**\n * @generated from field: optional string addInstrumentPromptHtml = 50;\n */\n addInstrumentPromptHtml?: string;\n\n /**\n * @generated from field: optional string confirmButtonText = 51;\n */\n confirmButtonText?: string;\n\n /**\n * @generated from field: optional string permissionErrorTitleText = 52;\n */\n permissionErrorTitleText?: string;\n\n /**\n * @generated from field: optional string permissionErrorMessageText = 53;\n */\n permissionErrorMessageText?: string;\n\n /**\n * @generated from field: optional bytes serverLogsCookie = 54;\n */\n serverLogsCookie?: Uint8Array;\n\n /**\n * @generated from field: optional string encodedDeliveryToken = 55;\n */\n encodedDeliveryToken?: string;\n\n /**\n * @generated from field: optional string unknownToken = 56;\n */\n unknownToken?: string;\n\n constructor(data?: PartialMessage<BuyResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.BuyResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"purchaseResponse\", kind: \"message\", T: PurchaseNotificationResponse, opt: true },\n { no: 2, name: \"checkoutinfo\", kind: \"message\", T: BuyResponse_CheckoutInfo, delimited: true, opt: true },\n { no: 8, name: \"continueViaUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 9, name: \"purchaseStatusUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 12, name: \"checkoutServiceId\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 13, name: \"checkoutTokenRequired\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n { no: 14, name: \"baseCheckoutUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 37, name: \"tosCheckboxHtml\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 38, name: \"iabPermissionError\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 39, name: \"purchaseStatusResponse\", kind: \"message\", T: PurchaseStatusResponse, opt: true },\n { no: 46, name: \"purchaseCookie\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 49, name: \"challenge\", kind: \"message\", T: Challenge, opt: true },\n { no: 50, name: \"addInstrumentPromptHtml\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 51, name: \"confirmButtonText\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 52, name: \"permissionErrorTitleText\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 53, name: \"permissionErrorMessageText\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 54, name: \"serverLogsCookie\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */, opt: true },\n { no: 55, name: \"encodedDeliveryToken\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 56, name: \"unknownToken\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BuyResponse {\n return new BuyResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BuyResponse {\n return new BuyResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BuyResponse {\n return new BuyResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: BuyResponse | PlainMessage<BuyResponse> | undefined, b: BuyResponse | PlainMessage<BuyResponse> | undefined): boolean {\n return proto2.util.equals(BuyResponse, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.BuyResponse.CheckoutInfo\n */\nexport class BuyResponse_CheckoutInfo extends Message<BuyResponse_CheckoutInfo> {\n /**\n * @generated from field: optional googleplay.LineItem item = 3;\n */\n item?: LineItem;\n\n /**\n * @generated from field: repeated googleplay.LineItem subItem = 4;\n */\n subItem: LineItem[] = [];\n\n /**\n * @generated from field: repeated googleplay.BuyResponse.CheckoutInfo.CheckoutOption checkoutoption = 5;\n */\n checkoutoption: BuyResponse_CheckoutInfo_CheckoutOption[] = [];\n\n /**\n * @generated from field: optional string deprecatedCheckoutUrl = 10;\n */\n deprecatedCheckoutUrl?: string;\n\n /**\n * @generated from field: optional string addInstrumentUrl = 11;\n */\n addInstrumentUrl?: string;\n\n /**\n * @generated from field: repeated string footerHtml = 20;\n */\n footerHtml: string[] = [];\n\n /**\n * @generated from field: repeated int32 eligibleInstrumentFamily = 31;\n */\n eligibleInstrumentFamily: number[] = [];\n\n /**\n * @generated from field: repeated string footnoteHtml = 36;\n */\n footnoteHtml: string[] = [];\n\n constructor(data?: PartialMessage<BuyResponse_CheckoutInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.BuyResponse.CheckoutInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 3, name: \"item\", kind: \"message\", T: LineItem, opt: true },\n { no: 4, name: \"subItem\", kind: \"message\", T: LineItem, repeated: true },\n { no: 5, name: \"checkoutoption\", kind: \"message\", T: BuyResponse_CheckoutInfo_CheckoutOption, delimited: true, repeated: true },\n { no: 10, name: \"deprecatedCheckoutUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 11, name: \"addInstrumentUrl\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 20, name: \"footerHtml\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 31, name: \"eligibleInstrumentFamily\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, repeated: true },\n { no: 36, name: \"footnoteHtml\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BuyResponse_CheckoutInfo {\n return new BuyResponse_CheckoutInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BuyResponse_CheckoutInfo {\n return new BuyResponse_CheckoutInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BuyResponse_CheckoutInfo {\n return new BuyResponse_CheckoutInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: BuyResponse_CheckoutInfo | PlainMessage<BuyResponse_CheckoutInfo> | undefined, b: BuyResponse_CheckoutInfo | PlainMessage<BuyResponse_CheckoutInfo> | undefined): boolean {\n return proto2.util.equals(BuyResponse_CheckoutInfo, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.BuyResponse.CheckoutInfo.CheckoutOption\n */\nexport class BuyResponse_CheckoutInfo_CheckoutOption extends Message<BuyResponse_CheckoutInfo_CheckoutOption> {\n /**\n * @generated from field: optional string formOfPayment = 6;\n */\n formOfPayment?: string;\n\n /**\n * @generated from field: optional string encodedAdjustedCart = 7;\n */\n encodedAdjustedCart?: string;\n\n /**\n * @generated from field: optional string instrumentId = 15;\n */\n instrumentId?: string;\n\n /**\n * @generated from field: repeated googleplay.LineItem item = 16;\n */\n item: LineItem[] = [];\n\n /**\n * @generated from field: repeated googleplay.LineItem subItem = 17;\n */\n subItem: LineItem[] = [];\n\n /**\n * @generated from field: optional googleplay.LineItem total = 18;\n */\n total?: LineItem;\n\n /**\n * @generated from field: repeated string footerHtml = 19;\n */\n footerHtml: string[] = [];\n\n /**\n * @generated from field: optional int32 instrumentFamily = 29;\n */\n instrumentFamily?: number;\n\n /**\n * @generated from field: repeated int32 deprecatedInstrumentInapplicableReason = 30;\n */\n deprecatedInstrumentInapplicableReason: number[] = [];\n\n /**\n * @generated from field: optional bool selectedInstrument = 32;\n */\n selectedInstrument?: boolean;\n\n /**\n * @generated from field: optional googleplay.LineItem summary = 33;\n */\n summary?: LineItem;\n\n /**\n * @generated from field: repeated string footnoteHtml = 35;\n */\n footnoteHtml: string[] = [];\n\n /**\n * @generated from field: optional string purchaseCookie = 45;\n */\n purchaseCookie?: string;\n\n /**\n * @generated from field: repeated string disabledReason = 48;\n */\n disabledReason: string[] = [];\n\n constructor(data?: PartialMessage<BuyResponse_CheckoutInfo_CheckoutOption>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.BuyResponse.CheckoutInfo.CheckoutOption\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 6, name: \"formOfPayment\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 7, name: \"encodedAdjustedCart\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 15, name: \"instrumentId\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 16, name: \"item\", kind: \"message\", T: LineItem, repeated: true },\n { no: 17, name: \"subItem\", kind: \"message\", T: LineItem, repeated: true },\n { no: 18, name: \"total\", kind: \"message\", T: LineItem, opt: true },\n { no: 19, name: \"footerHtml\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 29, name: \"instrumentFamily\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 30, name: \"deprecatedInstrumentInapplicableReason\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, repeated: true },\n { no: 32, name: \"selectedInstrument\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n { no: 33, name: \"summary\", kind: \"message\", T: LineItem, opt: true },\n { no: 35, name: \"footnoteHtml\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 45, name: \"purchaseCookie\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 48, name: \"disabledReason\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BuyResponse_CheckoutInfo_CheckoutOption {\n return new BuyResponse_CheckoutInfo_CheckoutOption().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BuyResponse_CheckoutInfo_CheckoutOption {\n return new BuyResponse_CheckoutInfo_CheckoutOption().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BuyResponse_CheckoutInfo_CheckoutOption {\n return new BuyResponse_CheckoutInfo_CheckoutOption().fromJsonString(jsonString, options);\n }\n\n static equals(a: BuyResponse_CheckoutInfo_CheckoutOption | PlainMessage<BuyResponse_CheckoutInfo_CheckoutOption> | undefined, b: BuyResponse_CheckoutInfo_CheckoutOption | PlainMessage<BuyResponse_CheckoutInfo_CheckoutOption> | undefined): boolean {\n return proto2.util.equals(BuyResponse_CheckoutInfo_CheckoutOption, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.LineItem\n */\nexport class LineItem extends Message<LineItem> {\n /**\n * @generated from field: optional string name = 1;\n */\n name?: string;\n\n /**\n * @generated from field: optional string description = 2;\n */\n description?: string;\n\n /**\n * @generated from field: optional googleplay.Offer offer = 3;\n */\n offer?: Offer;\n\n /**\n * @generated from field: optional googleplay.Money amount = 4;\n */\n amount?: Money;\n\n constructor(data?: PartialMessage<LineItem>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.LineItem\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 2, name: \"description\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 3, name: \"offer\", kind: \"message\", T: Offer, opt: true },\n { no: 4, name: \"amount\", kind: \"message\", T: Money, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LineItem {\n return new LineItem().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LineItem {\n return new LineItem().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LineItem {\n return new LineItem().fromJsonString(jsonString, options);\n }\n\n static equals(a: LineItem | PlainMessage<LineItem> | undefined, b: LineItem | PlainMessage<LineItem> | undefined): boolean {\n return proto2.util.equals(LineItem, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.Money\n */\nexport class Money extends Message<Money> {\n /**\n * @generated from field: optional int64 micros = 1;\n */\n micros?: bigint;\n\n /**\n * @generated from field: optional string currencyCode = 2;\n */\n currencyCode?: string;\n\n /**\n * @generated from field: optional string formattedAmount = 3;\n */\n formattedAmount?: string;\n\n constructor(data?: PartialMessage<Money>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.Money\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"micros\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, opt: true },\n { no: 2, name: \"currencyCode\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 3, name: \"formattedAmount\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Money {\n return new Money().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Money {\n return new Money().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Money {\n return new Money().fromJsonString(jsonString, options);\n }\n\n static equals(a: Money | PlainMessage<Money> | undefined, b: Money | PlainMessage<Money> | undefined): boolean {\n return proto2.util.equals(Money, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.PurchaseNotificationResponse\n */\nexport class PurchaseNotificationResponse extends Message<PurchaseNotificationResponse> {\n /**\n * @generated from field: optional int32 status = 1;\n */\n status?: number;\n\n /**\n * @generated from field: optional googleplay.DebugInfo debugInfo = 2;\n */\n debugInfo?: DebugInfo;\n\n /**\n * @generated from field: optional string localizedErrorMessage = 3;\n */\n localizedErrorMessage?: string;\n\n /**\n * @generated from field: optional string purchaseId = 4;\n */\n purchaseId?: string;\n\n constructor(data?: PartialMessage<PurchaseNotificationResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"googleplay.PurchaseNotificationResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"status\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */, opt: true },\n { no: 2, name: \"debugInfo\", kind: \"message\", T: DebugInfo, opt: true },\n { no: 3, name: \"localizedErrorMessage\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n { no: 4, name: \"purchaseId\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): PurchaseNotificationResponse {\n return new PurchaseNotificationResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): PurchaseNotificationResponse {\n return new PurchaseNotificationResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): PurchaseNotificationResponse {\n return new PurchaseNotificationResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: PurchaseNotificationResponse | PlainMessage<PurchaseNotificationResponse> | undefined, b: PurchaseNotificationResponse | PlainMessage<PurchaseNotificationResponse> | undefined): boolean {\n return proto2.util.equals(PurchaseNotificationResponse, a, b);\n }\n}\n\n/**\n * @generated from message googleplay.PurchaseStatusResponse\n */\nexport class PurchaseStatusResponse extends Message<PurchaseStatusResponse> {\n /**\n * @generated from field: optional int32 status = 1;\n */\n status?: number;\n\n /**\n * @generated from field: optional string statusMsg = 2;\n */\n statusMsg?: string;\n\n /**\n * @generated from field: optional string statusTitle = 3;\n */\n statusTitle?: string;\n\n /**\n * @generated from field: optional string briefMessage = 4;\n