diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index dbc9e2fa5a3..9e618998a6c 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,4 +1,5 @@
{
+ "handwritten/nodejs-datastore": "10.0.1",
"packages/gapic-node-processing": "0.1.6",
"packages/google-ads-admanager": "0.5.0",
"packages/google-ads-datamanager": "0.1.0",
@@ -23,6 +24,7 @@
"packages/google-cloud-apigeeconnect": "4.2.1",
"packages/google-cloud-apigeeregistry": "2.2.1",
"packages/google-cloud-apihub": "0.5.1",
+ "packages/google-cloud-apiregistry": "0.1.0",
"packages/google-cloud-apphub": "0.6.1",
"packages/google-cloud-asset": "6.3.1",
"packages/google-cloud-assuredworkloads": "5.1.1",
@@ -92,6 +94,7 @@
"packages/google-cloud-gkeconnect-gateway": "5.2.1",
"packages/google-cloud-gkehub": "6.3.1",
"packages/google-cloud-gkemulticloud": "2.3.0",
+ "packages/google-cloud-gkerecommender": "0.1.0",
"packages/google-cloud-gsuiteaddons": "2.2.1",
"packages/google-cloud-hypercomputecluster": "0.1.0",
"packages/google-cloud-iap": "4.3.1",
@@ -145,11 +148,11 @@
"packages/google-cloud-saasplatform-saasservicemgmt": "0.1.1",
"packages/google-cloud-scheduler": "5.3.1",
"packages/google-cloud-secretmanager": "6.1.1",
+ "packages/google-cloud-securesourcemanager": "0.8.1",
"packages/google-cloud-security-privateca": "7.0.1",
"packages/google-cloud-security-publicca": "2.2.1",
"packages/google-cloud-securitycenter": "9.2.1",
"packages/google-cloud-securitycentermanagement": "0.7.1",
- "packages/google-cloud-securesourcemanager": "0.8.1",
"packages/google-cloud-servicedirectory": "6.1.1",
"packages/google-cloud-servicehealth": "0.7.1",
"packages/google-cloud-shell": "4.1.1",
@@ -216,7 +219,5 @@
"packages/google-storagetransfer": "4.2.1",
"packages/google-streetview-publish": "0.4.1",
"packages/grafeas": "6.1.1",
- "packages/typeless-sample-bot": "3.1.1",
- "packages/google-cloud-apiregistry": "0.1.0",
- "packages/google-cloud-gkerecommender": "0.1.0"
-}
\ No newline at end of file
+ "packages/typeless-sample-bot": "3.1.1"
+}
diff --git a/handwritten/nodejs-datastore/.OwlBot.yaml b/handwritten/nodejs-datastore/.OwlBot.yaml
new file mode 100644
index 00000000000..56f8c18e7f9
--- /dev/null
+++ b/handwritten/nodejs-datastore/.OwlBot.yaml
@@ -0,0 +1,26 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/datastore/(v.*)/.*-nodejs
+ dest: /owl-bot-staging/nodejs-datastore/$1
+ - source: /google/datastore/(admin/v.*)/.*-nodejs
+ dest: /owl-bot-staging/nodejs-datastore/$1
+
+begin-after-commit-hash: fb91803ccef5d7c695139b22788b309e2197856b
+
diff --git a/handwritten/nodejs-datastore/.eslintignore b/handwritten/nodejs-datastore/.eslintignore
new file mode 100644
index 00000000000..c4a0963e9bd
--- /dev/null
+++ b/handwritten/nodejs-datastore/.eslintignore
@@ -0,0 +1,8 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
+system-test/**/fixtures
diff --git a/handwritten/nodejs-datastore/.eslintrc.json b/handwritten/nodejs-datastore/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/handwritten/nodejs-datastore/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/handwritten/nodejs-datastore/.gitattributes b/handwritten/nodejs-datastore/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/handwritten/nodejs-datastore/.gitattributes
@@ -0,0 +1,4 @@
+*.ts text eol=lf
+*.js text eol=lf
+protos/* linguist-generated
+**/api-extractor.json linguist-language=JSON-with-Comments
diff --git a/handwritten/nodejs-datastore/.gitignore b/handwritten/nodejs-datastore/.gitignore
new file mode 100644
index 00000000000..d4f03a0df2e
--- /dev/null
+++ b/handwritten/nodejs-datastore/.gitignore
@@ -0,0 +1,14 @@
+**/*.log
+**/node_modules
+/.coverage
+/coverage
+/.nyc_output
+/docs/
+/out/
+/build/
+system-test/secrets.js
+system-test/*key.json
+*.lock
+.DS_Store
+package-lock.json
+__pycache__
diff --git a/handwritten/nodejs-datastore/.jsdoc.js b/handwritten/nodejs-datastore/.jsdoc.js
new file mode 100644
index 00000000000..4e00e5b8f28
--- /dev/null
+++ b/handwritten/nodejs-datastore/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+'use strict';
+
+module.exports = {
+ opts: {
+ readme: './README.md',
+ package: './package.json',
+ template: './node_modules/jsdoc-fresh',
+ recurse: true,
+ verbose: true,
+ destination: './docs/'
+ },
+ plugins: [
+ 'plugins/markdown',
+ 'jsdoc-region-tag'
+ ],
+ source: {
+ excludePattern: '(^|\\/|\\\\)[._]',
+ include: [
+ 'build/src',
+ 'protos'
+ ],
+ includePattern: '\\.js$'
+ },
+ templates: {
+ copyright: 'Copyright 2025 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/datastore',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/handwritten/nodejs-datastore/.mocharc.js b/handwritten/nodejs-datastore/.mocharc.js
new file mode 100644
index 00000000000..0b600509bed
--- /dev/null
+++ b/handwritten/nodejs-datastore/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+if (process.env.MOCHA_THROW_DEPRECATION === 'false') {
+ delete config['throw-deprecation'];
+}
+if (process.env.MOCHA_REPORTER) {
+ config.reporter = process.env.MOCHA_REPORTER;
+}
+if (process.env.MOCHA_REPORTER_OUTPUT) {
+ config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`;
+}
+module.exports = config
diff --git a/handwritten/nodejs-datastore/.nycrc b/handwritten/nodejs-datastore/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/handwritten/nodejs-datastore/.nycrc
@@ -0,0 +1,24 @@
+{
+ "report-dir": "./.coverage",
+ "reporter": ["text", "lcov"],
+ "exclude": [
+ "**/*-test",
+ "**/.coverage",
+ "**/apis",
+ "**/benchmark",
+ "**/conformance",
+ "**/docs",
+ "**/samples",
+ "**/scripts",
+ "**/protos",
+ "**/test",
+ "**/*.d.ts",
+ ".jsdoc.js",
+ "**/.jsdoc.js",
+ "karma.conf.js",
+ "webpack-tests.config.js",
+ "webpack.config.js"
+ ],
+ "exclude-after-remap": false,
+ "all": true
+}
diff --git a/handwritten/nodejs-datastore/.prettierignore b/handwritten/nodejs-datastore/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/handwritten/nodejs-datastore/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/handwritten/nodejs-datastore/.prettierrc.js b/handwritten/nodejs-datastore/.prettierrc.js
new file mode 100644
index 00000000000..d1b95106f4c
--- /dev/null
+++ b/handwritten/nodejs-datastore/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/handwritten/nodejs-datastore/.readme-partials.yml b/handwritten/nodejs-datastore/.readme-partials.yml
new file mode 100644
index 00000000000..95804f1480e
--- /dev/null
+++ b/handwritten/nodejs-datastore/.readme-partials.yml
@@ -0,0 +1,8 @@
+body: |-
+ ### Troubleshooting
+ #### Emulator returning `DEADLINE_EXCEEDED`, `java.lang.OutOfMemoryError`
+ *Reference Issue: [#95](https://github.com/googleapis/nodejs-datastore/issues/95)*
+
+ When using the emulator, you may experience errors such as "DEADLINE_EXCEEDED" within your application, corresponding to an error in the emulator: "java.lang.OutOfMemoryError". These errors are unique to the emulator environment and will not persist in production.
+
+ A workaround is available, provided by [@ohmpatel1997](https://github.com/ohmpatel1997) [here](https://github.com/googleapis/nodejs-datastore/issues/95#issuecomment-554387312).
diff --git a/handwritten/nodejs-datastore/.repo-metadata.json b/handwritten/nodejs-datastore/.repo-metadata.json
new file mode 100644
index 00000000000..553e9a71187
--- /dev/null
+++ b/handwritten/nodejs-datastore/.repo-metadata.json
@@ -0,0 +1,15 @@
+{
+ "name": "datastore",
+ "name_pretty": "Google Cloud Datastore",
+ "product_documentation": "https://cloud.google.com/datastore/docs",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/datastore/latest",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/559768",
+ "release_level": "stable",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-cloud/datastore",
+ "api_id": "datastore.googleapis.com",
+ "codeowner_team": "@googleapis/cloud-native-db-dpes @googleapis/api-datastore-sdk",
+ "api_shortname": "datastore",
+ "library_type": "GAPIC_COMBO"
+}
diff --git a/handwritten/nodejs-datastore/CHANGELOG.md b/handwritten/nodejs-datastore/CHANGELOG.md
new file mode 100644
index 00000000000..39d47243685
--- /dev/null
+++ b/handwritten/nodejs-datastore/CHANGELOG.md
@@ -0,0 +1,942 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/@google-cloud/datastore?activeTab=versions
+
+## [10.0.1](https://github.com/googleapis/nodejs-datastore/compare/v10.0.0...v10.0.1) (2025-05-08)
+
+
+### Bug Fixes
+
+* Fix the compiler error blocking the release ([#1391](https://github.com/googleapis/nodejs-datastore/issues/1391)) ([ec91e14](https://github.com/googleapis/nodejs-datastore/commit/ec91e143254dbd8edaa262a5537199ecae4fd1f2))
+
+## [10.0.0](https://github.com/googleapis/nodejs-datastore/compare/v9.2.1...v10.0.0) (2025-05-02)
+
+
+### ⚠ BREAKING CHANGES
+
+* migrate to Node 18 ([#1384](https://github.com/googleapis/nodejs-datastore/issues/1384))
+
+### Bug Fixes
+
+* **doc:** Fix param descriptions for filters ([#1346](https://github.com/googleapis/nodejs-datastore/issues/1346)) ([a18c169](https://github.com/googleapis/nodejs-datastore/commit/a18c169e3b67e4e46f8b6bb9eb7cb250a88e40b7))
+* More error visibility in nodejs-datastore ([#1389](https://github.com/googleapis/nodejs-datastore/issues/1389)) ([55934da](https://github.com/googleapis/nodejs-datastore/commit/55934da4c3b9436e8ccf6a0935d416f00a8e1e17))
+* Not check sub-property existence for `null` values ([#1330](https://github.com/googleapis/nodejs-datastore/issues/1330)) ([5c0ddbc](https://github.com/googleapis/nodejs-datastore/commit/5c0ddbca91c41e056443eb0b60449f3cdddd6e69))
+
+
+### Miscellaneous Chores
+
+* Migrate to Node 18 ([#1384](https://github.com/googleapis/nodejs-datastore/issues/1384)) ([43c3472](https://github.com/googleapis/nodejs-datastore/commit/43c34720095bf03c13394bab7cd3facdb2ffc985))
+
+## [9.2.1](https://github.com/googleapis/nodejs-datastore/compare/v9.2.0...v9.2.1) (2024-11-06)
+
+
+### Bug Fixes
+
+* Address edge cases for excluding large properties when using save ([#1356](https://github.com/googleapis/nodejs-datastore/issues/1356)) ([ceaff7e](https://github.com/googleapis/nodejs-datastore/commit/ceaff7ef468413ff10e03e0b3ed923b4b5a37a08))
+* Create a release ([#1353](https://github.com/googleapis/nodejs-datastore/issues/1353)) ([536873e](https://github.com/googleapis/nodejs-datastore/commit/536873e24bacc9477f1a9c4c5403ed08d5c8cc93))
+
+## [9.2.0](https://github.com/googleapis/nodejs-datastore/compare/v9.1.0...v9.2.0) (2024-10-30)
+
+
+### Features
+
+* Add FindNearest API to the stable branch ([#1333](https://github.com/googleapis/nodejs-datastore/issues/1333)) ([1d56433](https://github.com/googleapis/nodejs-datastore/commit/1d5643369226c5fc220779f4c90fa804d8f876af))
+* Update Go Datastore import path ([#1261](https://github.com/googleapis/nodejs-datastore/issues/1261)) ([bf3dafd](https://github.com/googleapis/nodejs-datastore/commit/bf3dafd8267c447a52f7764505042a60b1a9fd28))
+
+
+### Bug Fixes
+
+* Add excludeFromIndexes in the proper places for large properties of nested fields ([#1266](https://github.com/googleapis/nodejs-datastore/issues/1266)) ([9c7730a](https://github.com/googleapis/nodejs-datastore/commit/9c7730a35699be049beeac0c4bb469239971d471))
+* Query object description ([#1340](https://github.com/googleapis/nodejs-datastore/issues/1340)) ([ad2c6c0](https://github.com/googleapis/nodejs-datastore/commit/ad2c6c01b83f0ae42a3dc4268feb5f4b45890f7c))
+
+## [9.1.0](https://github.com/googleapis/nodejs-datastore/compare/v9.0.0...v9.1.0) (2024-06-24)
+
+
+### Features
+
+* New transaction feature ([#1239](https://github.com/googleapis/nodejs-datastore/issues/1239)) ([cdd2ee9](https://github.com/googleapis/nodejs-datastore/commit/cdd2ee98c50b48b9a2a8cfb2f66b84a5937b3783))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency sinon to v18 ([#1250](https://github.com/googleapis/nodejs-datastore/issues/1250)) ([b7ff5c8](https://github.com/googleapis/nodejs-datastore/commit/b7ff5c86306f80d93f678a0638892c58a3b2088c))
+
+## [9.0.0](https://github.com/googleapis/nodejs-datastore/compare/v8.7.0...v9.0.0) (2024-05-09)
+
+
+### ⚠ BREAKING CHANGES
+
+* An existing method `UpdateVehicleLocation` is removed from service `VehicleService` ([#1248](https://github.com/googleapis/nodejs-datastore/issues/1248))
+
+### Features
+
+* Query profiling feature ([#1221](https://github.com/googleapis/nodejs-datastore/issues/1221)) ([414dec4](https://github.com/googleapis/nodejs-datastore/commit/414dec4e1548f551be06df914d6b56362bdc1790))
+
+
+### Bug Fixes
+
+* An existing method `UpdateVehicleLocation` is removed from service `VehicleService` ([#1248](https://github.com/googleapis/nodejs-datastore/issues/1248)) ([ba79118](https://github.com/googleapis/nodejs-datastore/commit/ba79118ac00ccc3bb0380ee5693c3b687a7ae9c7))
+* Read time should be used for transaction reads ([#1171](https://github.com/googleapis/nodejs-datastore/issues/1171)) ([73a0a39](https://github.com/googleapis/nodejs-datastore/commit/73a0a39b4c0423a5b4802076cdce80fce7c9adda))
+
+## [8.7.0](https://github.com/googleapis/nodejs-datastore/compare/v8.6.0...v8.7.0) (2024-04-02)
+
+
+### Features
+
+* Add several fields to manage state of database encryption update ([#1243](https://github.com/googleapis/nodejs-datastore/issues/1243)) ([5d28cda](https://github.com/googleapis/nodejs-datastore/commit/5d28cda744c3bb11da5e72ea8a0f7d8d8e85c4b0))
+
+## [8.6.0](https://github.com/googleapis/nodejs-datastore/compare/v8.5.0...v8.6.0) (2024-03-25)
+
+
+### Features
+
+* Add new types ExplainOptions, ExplainMetrics, PlanSummary, ExecutionStats ([#1241](https://github.com/googleapis/nodejs-datastore/issues/1241)) ([6c409d5](https://github.com/googleapis/nodejs-datastore/commit/6c409d5c922288bd8286917b266cdb553cfd43cf))
+* Nodejs transaction redesign feature branch ([#1235](https://github.com/googleapis/nodejs-datastore/issues/1235)) ([1585d4a](https://github.com/googleapis/nodejs-datastore/commit/1585d4a4e1b4b16d198307a3e97ffcf156d000b1))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency async-mutex to ^0.5.0 ([#1240](https://github.com/googleapis/nodejs-datastore/issues/1240)) ([0ba1281](https://github.com/googleapis/nodejs-datastore/commit/0ba1281efe16ef0b725937627445c32c36b9f705))
+
+## [8.5.0](https://github.com/googleapis/nodejs-datastore/compare/v8.4.0...v8.5.0) (2024-02-06)
+
+
+### Features
+
+* Trusted Private Cloud support, use the universeDomain parameter ([#1227](https://github.com/googleapis/nodejs-datastore/issues/1227)) ([10480ed](https://github.com/googleapis/nodejs-datastore/commit/10480edfdda99cde5fef470fbf163861528398a0))
+
+## [8.4.0](https://github.com/googleapis/nodejs-datastore/compare/v8.3.0...v8.4.0) (2024-01-09)
+
+
+### Features
+
+* Add new types QueryMode, QueryPlan, ResultSetStats ([#1216](https://github.com/googleapis/nodejs-datastore/issues/1216)) ([49c1462](https://github.com/googleapis/nodejs-datastore/commit/49c14626271c45473d73b07cda39a288017f1432))
+
+## [8.3.0](https://github.com/googleapis/nodejs-datastore/compare/v8.2.2...v8.3.0) (2023-12-11)
+
+
+### Features
+
+* Allow the user to set fallback to rest ([#1203](https://github.com/googleapis/nodejs-datastore/issues/1203)) ([8a1fa54](https://github.com/googleapis/nodejs-datastore/commit/8a1fa54e3873230256895c48b8b9c6889f75dd98))
+
+
+### Bug Fixes
+
+* Change tests to use new filter and use gax warn for warning just once ([#1185](https://github.com/googleapis/nodejs-datastore/issues/1185)) ([532711b](https://github.com/googleapis/nodejs-datastore/commit/532711bfd19b1a12844b02fd314f1703be4b0125))
+* **deps:** Update dependency sinon to v17 ([#1183](https://github.com/googleapis/nodejs-datastore/issues/1183)) ([52adb5e](https://github.com/googleapis/nodejs-datastore/commit/52adb5e13ddc123c2bed33df76be76760d33c06e))
+
+## [8.2.2](https://github.com/googleapis/nodejs-datastore/compare/v8.2.1...v8.2.2) (2023-10-17)
+
+
+### Bug Fixes
+
+* **deps:** Update google-gax ([#1173](https://github.com/googleapis/nodejs-datastore/issues/1173)) ([8237b15](https://github.com/googleapis/nodejs-datastore/commit/8237b152aa906cac55117cdeaf7a8bda85e94ac7))
+
+## [8.2.1](https://github.com/googleapis/nodejs-datastore/compare/v8.2.0...v8.2.1) (2023-10-03)
+
+
+### Bug Fixes
+
+* Make aggregation query requests run properly inside a transaction ([#1166](https://github.com/googleapis/nodejs-datastore/issues/1166)) ([263804b](https://github.com/googleapis/nodejs-datastore/commit/263804b768322de39bf87b4c5265c303a2bda173))
+
+## [8.2.0](https://github.com/googleapis/nodejs-datastore/compare/v8.1.0...v8.2.0) (2023-10-02)
+
+
+### Features
+
+* Support for using multiple databases in datastore ([#1090](https://github.com/googleapis/nodejs-datastore/issues/1090)) ([10ce563](https://github.com/googleapis/nodejs-datastore/commit/10ce563dae7e1164d3ee23a5887265c9de7b106f))
+
+
+### Bug Fixes
+
+* Allow users to set environment variable to connect to emulator running on docker ([#1164](https://github.com/googleapis/nodejs-datastore/issues/1164)) ([a41741b](https://github.com/googleapis/nodejs-datastore/commit/a41741b1412b1854aeecbe50441aa85015c3d399))
+* Check property existence for exclude from indexes with wildcard ([#1114](https://github.com/googleapis/nodejs-datastore/issues/1114)) ([e6b8ef7](https://github.com/googleapis/nodejs-datastore/commit/e6b8ef74ff10107943d0ae194f9a8d540d8557c1))
+* **deps:** Update dependency sinon to v16 ([#1150](https://github.com/googleapis/nodejs-datastore/issues/1150)) ([0d8b715](https://github.com/googleapis/nodejs-datastore/commit/0d8b7153fc156a4b55e965f39161bd5c19bffff6))
+
+## [8.1.0](https://github.com/googleapis/nodejs-datastore/compare/v8.0.0...v8.1.0) (2023-09-07)
+
+
+### Features
+
+* Sum and average aggregation queries ([#1097](https://github.com/googleapis/nodejs-datastore/issues/1097)) ([44ba6f8](https://github.com/googleapis/nodejs-datastore/commit/44ba6f8f84ef3e33aa1c07b0808a42bcf871b8c6))
+
+
+### Bug Fixes
+
+* Simplify logic for HTTP/1.1 REST fallback option ([#1138](https://github.com/googleapis/nodejs-datastore/issues/1138)) ([4cefaea](https://github.com/googleapis/nodejs-datastore/commit/4cefaeab2ee8af800303f09495883aa1a5a28632))
+
+## [8.0.0](https://github.com/googleapis/nodejs-datastore/compare/v7.5.1...v8.0.0) (2023-08-09)
+
+
+### ⚠ BREAKING CHANGES
+
+* upgrade to Node 14
+
+### Miscellaneous Chores
+
+* Upgrade to Node 14 ([b7904f1](https://github.com/googleapis/nodejs-datastore/commit/b7904f12b1d398a5b0e6fefc2a002c404f9e7d3d))
+
+## [7.5.1](https://github.com/googleapis/nodejs-datastore/compare/v7.5.0...v7.5.1) (2023-04-11)
+
+
+### Bug Fixes
+
+* Allow user to set custom endpoints ([#1101](https://github.com/googleapis/nodejs-datastore/issues/1101)) ([e79fa49](https://github.com/googleapis/nodejs-datastore/commit/e79fa49f753984e34b63538005f29ab7efb7695e))
+
+## [7.5.0](https://github.com/googleapis/nodejs-datastore/compare/v7.4.0...v7.5.0) (2023-03-29)
+
+
+### Features
+
+* Add SUM/AVG aggregation query support in the preview branch and improve query API documentation ([#1094](https://github.com/googleapis/nodejs-datastore/issues/1094)) ([d14f87e](https://github.com/googleapis/nodejs-datastore/commit/d14f87ed4aaef42090673fbe78b23992093925ad))
+
+
+### Bug Fixes
+
+* Allow IN queries on __key__ ([#1085](https://github.com/googleapis/nodejs-datastore/issues/1085)) ([dd2d5f4](https://github.com/googleapis/nodejs-datastore/commit/dd2d5f4d15f714b3f3586250802fb6822b7e01ff))
+
+## [7.4.0](https://github.com/googleapis/nodejs-datastore/compare/v7.3.2...v7.4.0) (2023-03-09)
+
+
+### Features
+
+* Introduce EntityFilter class with support for and/or filters ([#1061](https://github.com/googleapis/nodejs-datastore/issues/1061)) ([8fc58c0](https://github.com/googleapis/nodejs-datastore/commit/8fc58c0f18e5333f996099e09ec673e9bf3460af))
+
+
+### Bug Fixes
+
+* Or filters with warnings ([#1075](https://github.com/googleapis/nodejs-datastore/issues/1075)) ([73bfcc4](https://github.com/googleapis/nodejs-datastore/commit/73bfcc40129309b512627f873d9f841f7ad370ee))
+
+## [7.3.2](https://github.com/googleapis/nodejs-datastore/compare/v7.3.1...v7.3.2) (2023-02-17)
+
+
+### Bug Fixes
+
+* Allow filtering null values ([#1067](https://github.com/googleapis/nodejs-datastore/issues/1067)) ([b89fa21](https://github.com/googleapis/nodejs-datastore/commit/b89fa211b366ec3e24ea5b2c8deeb90c695aa0df))
+
+## [7.3.1](https://github.com/googleapis/nodejs-datastore/compare/v7.3.0...v7.3.1) (2023-02-17)
+
+
+### Bug Fixes
+
+* **deps:** Roll back dependency @google-cloud/datastore to ^7.2.0 ([#1069](https://github.com/googleapis/nodejs-datastore/issues/1069)) ([1677c53](https://github.com/googleapis/nodejs-datastore/commit/1677c53b612799a90c455636ac19e081ff3730b3))
+
+## [7.3.0](https://github.com/googleapis/nodejs-datastore/compare/v7.2.0...v7.3.0) (2023-02-16)
+
+
+### Features
+
+* Add `OR` query support ([#1064](https://github.com/googleapis/nodejs-datastore/issues/1064)) ([196bdaf](https://github.com/googleapis/nodejs-datastore/commit/196bdafb27b6987ccbf547e480b008aee65775d0))
+
+## [7.2.0](https://github.com/googleapis/nodejs-datastore/compare/v7.1.0...v7.2.0) (2023-02-09)
+
+
+### Features
+
+* Add dynamic routing header annotation to DatastoreV1 ([b023ab4](https://github.com/googleapis/nodejs-datastore/commit/b023ab47146159c32ebc64dd09da681ad09c4081))
+* Added Snooze API support ([b023ab4](https://github.com/googleapis/nodejs-datastore/commit/b023ab47146159c32ebc64dd09da681ad09c4081))
+* Added SuggestConversationSummary RPC ([b023ab4](https://github.com/googleapis/nodejs-datastore/commit/b023ab47146159c32ebc64dd09da681ad09c4081))
+* New transaction options for datastoreV1 ([b023ab4](https://github.com/googleapis/nodejs-datastore/commit/b023ab47146159c32ebc64dd09da681ad09c4081))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency sinon to v15 ([#1020](https://github.com/googleapis/nodejs-datastore/issues/1020)) ([a61258c](https://github.com/googleapis/nodejs-datastore/commit/a61258c92354df5a62cf6e7d6977f8f83bfd907f))
+
+## [7.1.0](https://github.com/googleapis/nodejs-datastore/compare/v7.0.0...v7.1.0) (2023-01-18)
+
+
+### Features
+
+* Add datastore aggregation query APIs ([#1008](https://github.com/googleapis/nodejs-datastore/issues/1008)) ([d5c2cb1](https://github.com/googleapis/nodejs-datastore/commit/d5c2cb1f0725f3cce1dde5b80ac7aff55b605f9a))
+* Add the count aggregate function ([#972](https://github.com/googleapis/nodejs-datastore/issues/972)) ([76adfc6](https://github.com/googleapis/nodejs-datastore/commit/76adfc6db03a4196999a8d510c0ab1ca15218f24))
+* Snapshot reads ([#963](https://github.com/googleapis/nodejs-datastore/issues/963)) ([0ecca86](https://github.com/googleapis/nodejs-datastore/commit/0ecca862fd93fc668a3dd3f5c93c54724e43f055))
+* Support regapic LRO ([#957](https://github.com/googleapis/nodejs-datastore/issues/957)) ([99778fb](https://github.com/googleapis/nodejs-datastore/commit/99778fb5e031eadd067b1ae9be0f910985966956))
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#974](https://github.com/googleapis/nodejs-datastore/issues/974)) ([386b9c7](https://github.com/googleapis/nodejs-datastore/commit/386b9c735d57ce23f004ba3e9b1eb9a9377622dc))
+* Better support for fallback mode ([#967](https://github.com/googleapis/nodejs-datastore/issues/967)) ([0447d87](https://github.com/googleapis/nodejs-datastore/commit/0447d87ec162d64988d47e2fb21715dea78b6720))
+* Bring back LRO mixin ([#1009](https://github.com/googleapis/nodejs-datastore/issues/1009)) ([1d8de5f](https://github.com/googleapis/nodejs-datastore/commit/1d8de5f6bc5015dadd4be635748e799f05bfd325))
+* Change import long to require ([#968](https://github.com/googleapis/nodejs-datastore/issues/968)) ([5e710f2](https://github.com/googleapis/nodejs-datastore/commit/5e710f2c47001114ad087084507ad6d494143f1b))
+* **deps:** Update dependency @google-cloud/promisify to v3 ([#942](https://github.com/googleapis/nodejs-datastore/issues/942)) ([7b35856](https://github.com/googleapis/nodejs-datastore/commit/7b35856b0568571d5bcad70b2464344e6c06a4cb))
+* **deps:** Use google-gax v3.5.2 ([#1013](https://github.com/googleapis/nodejs-datastore/issues/1013)) ([1753eae](https://github.com/googleapis/nodejs-datastore/commit/1753eae467bff477e7991f74acbe3000656a955f))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-datastore/issues/1553)) ([#973](https://github.com/googleapis/nodejs-datastore/issues/973)) ([9550bbc](https://github.com/googleapis/nodejs-datastore/commit/9550bbcc10912ca28b64a89153f3ae8e7862d939))
+* Preserve default values in x-goog-request-params header ([#979](https://github.com/googleapis/nodejs-datastore/issues/979)) ([2b80e1e](https://github.com/googleapis/nodejs-datastore/commit/2b80e1ef691a340ed15e3105983cd34983b57cb1))
+* Regenerated protos JS and TS definitions ([#1016](https://github.com/googleapis/nodejs-datastore/issues/1016)) ([d0ae656](https://github.com/googleapis/nodejs-datastore/commit/d0ae656ca83fbad0be5659d8d4516d8bde879a28))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-datastore/issues/1546)) ([#970](https://github.com/googleapis/nodejs-datastore/issues/970)) ([2225fc7](https://github.com/googleapis/nodejs-datastore/commit/2225fc7753086243778c240a444c4940c29c5499))
+* Use google-gax v3.3.0 ([9550bbc](https://github.com/googleapis/nodejs-datastore/commit/9550bbcc10912ca28b64a89153f3ae8e7862d939))
+
+## [7.0.0](https://github.com/googleapis/nodejs-datastore/compare/v6.6.2...v7.0.0) (2022-06-13)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#945)
+
+### Features
+
+* add IN/NOT_IN/NOT_EQUALS support to cloud datastore proto ([6f22f0f](https://github.com/googleapis/nodejs-datastore/commit/6f22f0f473de8a5b07addc83523a6215e165563d))
+* define Datastore -> Firestore in Datastore mode migration long running operation metadata ([#907](https://github.com/googleapis/nodejs-datastore/issues/907)) ([652f66d](https://github.com/googleapis/nodejs-datastore/commit/652f66d2f88d80c900499890e7dd474cdbbc9c0b))
+* expose new read_time API fields, currently only available in private preview ([#932](https://github.com/googleapis/nodejs-datastore/issues/932)) ([aef00f8](https://github.com/googleapis/nodejs-datastore/commit/aef00f81864598fbd18b96dbf6986e3147d2a7a0))
+* Query filters for datastore ([#936](https://github.com/googleapis/nodejs-datastore/issues/936)) ([51725fa](https://github.com/googleapis/nodejs-datastore/commit/51725fab85cb1fcc231c71f6e8f56d58e958f676))
+
+
+### Bug Fixes
+
+* **deps:** update dependency sinon to v13 ([#918](https://github.com/googleapis/nodejs-datastore/issues/918)) ([fa01bd4](https://github.com/googleapis/nodejs-datastore/commit/fa01bd43ba1733a17411c071850c45de2b3ecd90))
+* **deps:** update dependency sinon to v14 ([#943](https://github.com/googleapis/nodejs-datastore/issues/943)) ([e117702](https://github.com/googleapis/nodejs-datastore/commit/e1177025eb3b6f2c6b1c20e3e83ad478c8eff366))
+* fixes for dynamic routing and streaming descriptors ([#947](https://github.com/googleapis/nodejs-datastore/issues/947)) ([ba6c190](https://github.com/googleapis/nodejs-datastore/commit/ba6c1902ba5ce19df651ed49d1d9a911c598fe5d))
+
+
+### Build System
+
+* update library to use Node 12 ([#945](https://github.com/googleapis/nodejs-datastore/issues/945)) ([eecf7ac](https://github.com/googleapis/nodejs-datastore/commit/eecf7ac37597ec4a84a1f4ceb9421764fddd1d0b))
+
+### [6.6.2](https://www.github.com/googleapis/nodejs-datastore/compare/v6.6.1...v6.6.2) (2021-11-08)
+
+
+### Bug Fixes
+
+* **cloud-rad:** move comments for TSDoc ([#896](https://www.github.com/googleapis/nodejs-datastore/issues/896)) ([2941f2f](https://www.github.com/googleapis/nodejs-datastore/commit/2941f2f0f132b41534e303d441d837051ce88fd7))
+
+### [6.6.1](https://www.github.com/googleapis/nodejs-datastore/compare/v6.6.0...v6.6.1) (2021-11-04)
+
+
+### Bug Fixes
+
+* **deps:** update dependency sinon to v12 ([#894](https://www.github.com/googleapis/nodejs-datastore/issues/894)) ([6010464](https://www.github.com/googleapis/nodejs-datastore/commit/60104649455aefdfba100a9e5c57543faf9278fb))
+
+## [6.6.0](https://www.github.com/googleapis/nodejs-datastore/compare/v6.5.0...v6.6.0) (2021-10-13)
+
+
+### Features
+
+* update retry and timeout logic for generated async/stream ([#883](https://www.github.com/googleapis/nodejs-datastore/issues/883)) ([cd3ae5c](https://www.github.com/googleapis/nodejs-datastore/commit/cd3ae5c12eddac3cc1149308c96cf9a8b0265e21))
+
+## [6.5.0](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.8...v6.5.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#869](https://www.github.com/googleapis/nodejs-datastore/issues/869)) ([a42c88e](https://www.github.com/googleapis/nodejs-datastore/commit/a42c88e1b87ffcf38b1c45e94a846d1defb8fda2))
+
+### [6.4.8](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.7...v6.4.8) (2021-08-17)
+
+
+### Bug Fixes
+
+* **build:** migrate to using main branch ([#866](https://www.github.com/googleapis/nodejs-datastore/issues/866)) ([85844a4](https://www.github.com/googleapis/nodejs-datastore/commit/85844a4ff618fcb96c00802941d72135fc65bb98))
+* **deps:** google-gax v2.24.1 ([#868](https://www.github.com/googleapis/nodejs-datastore/issues/868)) ([1c0d40f](https://www.github.com/googleapis/nodejs-datastore/commit/1c0d40f27789d7f923b1a004d2b3589269969c93))
+
+### [6.4.7](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.6...v6.4.7) (2021-07-26)
+
+
+### Bug Fixes
+
+* drop dependency on pumpify ([#860](https://www.github.com/googleapis/nodejs-datastore/issues/860)) ([f3d4fd9](https://www.github.com/googleapis/nodejs-datastore/commit/f3d4fd97de3c90550977a096667088d063b51623))
+
+### [6.4.6](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.5...v6.4.6) (2021-07-19)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#855](https://www.github.com/googleapis/nodejs-datastore/issues/855)) ([1cdba8c](https://www.github.com/googleapis/nodejs-datastore/commit/1cdba8cc446b592170a8e404b24e09845524f50a))
+
+### [6.4.5](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.4...v6.4.5) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#853](https://www.github.com/googleapis/nodejs-datastore/issues/853)) ([67b47ce](https://www.github.com/googleapis/nodejs-datastore/commit/67b47cee28f317ea5e4a3e24bd4def2189496dff))
+
+### [6.4.4](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.3...v6.4.4) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#849](https://www.github.com/googleapis/nodejs-datastore/issues/849)) ([76fa921](https://www.github.com/googleapis/nodejs-datastore/commit/76fa9217732060e2e408a49d9b6aaa7606ce13e6))
+
+### [6.4.3](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.2...v6.4.3) (2021-06-30)
+
+
+### Bug Fixes
+
+* Resolve getProjectId ([#848](https://www.github.com/googleapis/nodejs-datastore/issues/848)) ([9bfa885](https://www.github.com/googleapis/nodejs-datastore/commit/9bfa8857e832435112a38c8ab35f21d9054fbaa5))
+
+### [6.4.2](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.1...v6.4.2) (2021-06-23)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#843](https://www.github.com/googleapis/nodejs-datastore/issues/843)) ([d025627](https://www.github.com/googleapis/nodejs-datastore/commit/d0256278d1003a789c8b9ca082f923c5999b3257))
+
+### [6.4.1](https://www.github.com/googleapis/nodejs-datastore/compare/v6.4.0...v6.4.1) (2021-06-10)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#825](https://www.github.com/googleapis/nodejs-datastore/issues/825)) ([0dee08a](https://www.github.com/googleapis/nodejs-datastore/commit/0dee08a912620c114ddfcf38a1d0636893f6f15a))
+* **deps:** update dependency sinon to v11 ([#832](https://www.github.com/googleapis/nodejs-datastore/issues/832)) ([d32610c](https://www.github.com/googleapis/nodejs-datastore/commit/d32610cdbe08151effc1a8d4b74540e68cbf4012))
+
+## [6.4.0](https://www.github.com/googleapis/nodejs-datastore/compare/v6.3.1...v6.4.0) (2021-04-29)
+
+
+### Features
+
+* Add createIndex, deleteIndex protos ([#797](https://www.github.com/googleapis/nodejs-datastore/issues/797)) ([3ff1f51](https://www.github.com/googleapis/nodejs-datastore/commit/3ff1f51f19297db94a370ec3fc9130f36e25ea70))
+
+
+### Bug Fixes
+
+* **deps:** update dependency sinon to v10 ([#810](https://www.github.com/googleapis/nodejs-datastore/issues/810)) ([267992f](https://www.github.com/googleapis/nodejs-datastore/commit/267992f4f1523fc5038715b009ebc697c5ca8255))
+
+### [6.3.1](https://www.github.com/googleapis/nodejs-datastore/compare/v6.3.0...v6.3.1) (2020-11-25)
+
+
+### Bug Fixes
+
+* **browser:** check for fetch on window ([#768](https://www.github.com/googleapis/nodejs-datastore/issues/768)) ([282dc99](https://www.github.com/googleapis/nodejs-datastore/commit/282dc99bd78ff086f57fca1a22ce530d44784dd7))
+* storing an empty Buffer ([#767](https://www.github.com/googleapis/nodejs-datastore/issues/767)) ([cf88927](https://www.github.com/googleapis/nodejs-datastore/commit/cf88927998ada76614fbe500c6e59e0d81c1b78b))
+
+## [6.3.0](https://www.github.com/googleapis/nodejs-datastore/compare/v6.2.0...v6.3.0) (2020-11-09)
+
+
+### Features
+
+* export Key and Entity ([#749](https://www.github.com/googleapis/nodejs-datastore/issues/749)) ([f4c8d0b](https://www.github.com/googleapis/nodejs-datastore/commit/f4c8d0b9cf172a39fbe9ce1906775418d16c1852)), closes [#568](https://www.github.com/googleapis/nodejs-datastore/issues/568)
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#751](https://www.github.com/googleapis/nodejs-datastore/issues/751)) ([07a77fe](https://www.github.com/googleapis/nodejs-datastore/commit/07a77fe0f69aecb378c965f403226b29fde57360))
+
+## [6.2.0](https://www.github.com/googleapis/nodejs-datastore/compare/v6.1.1...v6.2.0) (2020-10-08)
+
+
+### Features
+
+* introduce import/export + Index class ([#734](https://www.github.com/googleapis/nodejs-datastore/issues/734)) ([e329095](https://www.github.com/googleapis/nodejs-datastore/commit/e329095cb363989e11a1793a0b49ebcadd7a9093))
+
+### [6.1.1](https://www.github.com/googleapis/nodejs-datastore/compare/v6.1.0...v6.1.1) (2020-09-12)
+
+
+### Bug Fixes
+
+* split insert, update, upsert ([#693](https://www.github.com/googleapis/nodejs-datastore/issues/693)) ([fa5faac](https://www.github.com/googleapis/nodejs-datastore/commit/fa5faacb16b8c021314348acc5534e1802e0826e))
+
+## [6.1.0](https://www.github.com/googleapis/nodejs-datastore/compare/v6.0.0...v6.1.0) (2020-07-06)
+
+
+### Features
+
+* move ts target to es2018 from es2016 ([#677](https://www.github.com/googleapis/nodejs-datastore/issues/677)) ([e881610](https://www.github.com/googleapis/nodejs-datastore/commit/e8816109db9a9b8f3b7d079eb542954572847364))
+* **synth:** add datastore v1 admin api ([#686](https://www.github.com/googleapis/nodejs-datastore/issues/686)) ([25d6582](https://www.github.com/googleapis/nodejs-datastore/commit/25d6582911ad2596629565af3761a6756a6fd138))
+
+
+### Bug Fixes
+
+* null value while inserting in array ([#682](https://www.github.com/googleapis/nodejs-datastore/issues/682)) ([c60fe43](https://www.github.com/googleapis/nodejs-datastore/commit/c60fe437c8e3ce1bdebb191b5623b099bf43dc58))
+* proper fallback option handling ([#684](https://www.github.com/googleapis/nodejs-datastore/issues/684)) ([feba866](https://www.github.com/googleapis/nodejs-datastore/commit/feba866be528785e3b9048eb3cf0f67f121fd4ee))
+
+## [6.0.0](https://www.github.com/googleapis/nodejs-datastore/compare/v5.1.0...v6.0.0) (2020-05-27)
+
+
+### ⚠ BREAKING CHANGES
+
+* The `Datastore.projectId` property has been removed, and replaced with an asynchronous `getProjectid()` method. The projectId cannot be determined synchronously, so the previous approach was to use a `{{projectId}}` string placeholder if the projectId had not yet been acquired. This made it difficult to know exactly when the property would be defined.
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+
+### Features
+
+* add async getProjectId method ([#657](https://www.github.com/googleapis/nodejs-datastore/issues/657)) ([2a7e034](https://www.github.com/googleapis/nodejs-datastore/commit/2a7e034e60f54100c5773d2d4dbe4dec6a721689))
+* add options param to query#runStream ([#611](https://www.github.com/googleapis/nodejs-datastore/issues/611)) ([7429c9d](https://www.github.com/googleapis/nodejs-datastore/commit/7429c9dbbdf4ed6715f04fa87cffec9bda8a97be))
+* drop node8 support ([#637](https://www.github.com/googleapis/nodejs-datastore/issues/637)) ([7ef38c1](https://www.github.com/googleapis/nodejs-datastore/commit/7ef38c1ade25f19f328290a3f69370676c80f021))
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/projectify to v2 ([#626](https://www.github.com/googleapis/nodejs-datastore/issues/626)) ([27fa23f](https://www.github.com/googleapis/nodejs-datastore/commit/27fa23fee0c0daa2e60ddd476aaad43877a05ea4))
+* **deps:** update dependency @google-cloud/promisify to v2 ([#625](https://www.github.com/googleapis/nodejs-datastore/issues/625)) ([1d64bc1](https://www.github.com/googleapis/nodejs-datastore/commit/1d64bc1bed7561bc93371cb7ca785fa1cc176f1f))
+* remove eslint, update gax, fix generated protos, run the generator ([#644](https://www.github.com/googleapis/nodejs-datastore/issues/644)) ([fcc5309](https://www.github.com/googleapis/nodejs-datastore/commit/fcc530933af25f1c40cfe0a7186a7e5f25a3f6bd))
+* **deps:** update dependency @grpc/grpc-js to v0.7.1 ([#615](https://www.github.com/googleapis/nodejs-datastore/issues/615)) ([3e83981](https://www.github.com/googleapis/nodejs-datastore/commit/3e83981f3da83143eb9b76f32e563683704f8d99))
+* identify propertyName ([#614](https://www.github.com/googleapis/nodejs-datastore/issues/614)) ([3635e13](https://www.github.com/googleapis/nodejs-datastore/commit/3635e138f3673eaff75ac30d25a2f21b3eecc5f9))
+* missing await in rollback ([#671](https://www.github.com/googleapis/nodejs-datastore/issues/671)) ([7cb353e](https://www.github.com/googleapis/nodejs-datastore/commit/7cb353e14e534a221e337f4ca2c30dd7ab01b469))
+* **deps:** update dependency @grpc/grpc-js to v0.7.4 ([#620](https://www.github.com/googleapis/nodejs-datastore/issues/620)) ([1d36be1](https://www.github.com/googleapis/nodejs-datastore/commit/1d36be1f11f4604f5c5170a06d7156e858a4748c))
+* **deps:** update dependency @grpc/grpc-js to v0.7.8 ([#638](https://www.github.com/googleapis/nodejs-datastore/issues/638)) ([a98ee1a](https://www.github.com/googleapis/nodejs-datastore/commit/a98ee1a9144415aef4788f7eb2b052c864f5370c))
+* regenerate files and fixed formatting, lint ([#664](https://www.github.com/googleapis/nodejs-datastore/issues/664)) ([34e9135](https://www.github.com/googleapis/nodejs-datastore/commit/34e91359aa7cd246799a651fa5f441ed8956b930))
+* support request params {key} with no =value ([#660](https://www.github.com/googleapis/nodejs-datastore/issues/660)) ([1faba1f](https://www.github.com/googleapis/nodejs-datastore/commit/1faba1f86fe31ff5898f897b640738987c55193d))
+* trim the dependency tree ([#651](https://www.github.com/googleapis/nodejs-datastore/issues/651)) ([1fd412e](https://www.github.com/googleapis/nodejs-datastore/commit/1fd412ef972c45ffefa96292c33389196a945338))
+* **deps:** update dependency @grpc/grpc-js to v0.7.9 ([#645](https://www.github.com/googleapis/nodejs-datastore/issues/645)) ([04b2ab2](https://www.github.com/googleapis/nodejs-datastore/commit/04b2ab29e9a0b4e4feef57641a5e5960a8bb88b8))
+* **deps:** update dependency google-auth-library to v6 ([#628](https://www.github.com/googleapis/nodejs-datastore/issues/628)) ([eb5f87b](https://www.github.com/googleapis/nodejs-datastore/commit/eb5f87b0037cad27b45653a0246a197ca4a0b33b))
+
+## [5.1.0](https://www.github.com/googleapis/nodejs-datastore/compare/v5.0.6...v5.1.0) (2020-03-11)
+
+
+### Features
+
+* add warning when int value is too large during upload ([#591](https://www.github.com/googleapis/nodejs-datastore/issues/591)) ([5a4821b](https://www.github.com/googleapis/nodejs-datastore/commit/5a4821b5fc8d283f168d3b52ac57021868e98679))
+* export protos in src/index.ts ([3fe21ab](https://www.github.com/googleapis/nodejs-datastore/commit/3fe21ab8835b4a9aad73659d7c6242d6cabb7f9f))
+* move library to Typescript code generation ([#608](https://www.github.com/googleapis/nodejs-datastore/issues/608)) ([d543aa6](https://www.github.com/googleapis/nodejs-datastore/commit/d543aa635764f9577bfced48c6a41c23f28771a0))
+
+
+### Bug Fixes
+
+* handle large int out of bounds error in streams ([#590](https://www.github.com/googleapis/nodejs-datastore/issues/590)) ([25b1fc2](https://www.github.com/googleapis/nodejs-datastore/commit/25b1fc2de4fddb5b68a9c6fbb5202e444746e69b))
+* **deps:** update dependency @grpc/grpc-js to v0.7.0 ([#613](https://www.github.com/googleapis/nodejs-datastore/issues/613)) ([8b5d391](https://www.github.com/googleapis/nodejs-datastore/commit/8b5d391e4cb80808b274f0992e275fd24177a750))
+
+### [5.0.6](https://www.github.com/googleapis/nodejs-datastore/compare/v5.0.5...v5.0.6) (2020-02-20)
+
+
+### Bug Fixes
+
+* **deps:** update dependency sinon to v9 ([#592](https://www.github.com/googleapis/nodejs-datastore/issues/592)) ([58c2b3f](https://www.github.com/googleapis/nodejs-datastore/commit/58c2b3fd97b1bab6bd6f03de0d7cdfba622bb6cb))
+
+### [5.0.5](https://www.github.com/googleapis/nodejs-datastore/compare/v5.0.4...v5.0.5) (2020-02-12)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @grpc/grpc-js to v0.6.16 ([#585](https://www.github.com/googleapis/nodejs-datastore/issues/585)) ([f067258](https://www.github.com/googleapis/nodejs-datastore/commit/f067258a9b4e7b760235721561a999c656c2e076))
+
+### [5.0.4](https://www.github.com/googleapis/nodejs-datastore/compare/v5.0.3...v5.0.4) (2020-01-29)
+
+
+### Bug Fixes
+
+* enum, bytes, and Long types now accept strings ([86a48fa](https://www.github.com/googleapis/nodejs-datastore/commit/86a48fa60058216b2dec4e8c45fd74f9e77ff558))
+
+### [5.0.3](https://www.github.com/googleapis/nodejs-datastore/compare/v5.0.2...v5.0.3) (2019-12-31)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @grpc/grpc-js to v0.6.15 ([#555](https://www.github.com/googleapis/nodejs-datastore/issues/555)) ([c015c1c](https://www.github.com/googleapis/nodejs-datastore/commit/c015c1c9142a7f3ad5cb26799fbd533aeae09b23))
+* **deps:** update dependency sinon to v8 ([#560](https://www.github.com/googleapis/nodejs-datastore/issues/560)) ([2d78de4](https://www.github.com/googleapis/nodejs-datastore/commit/2d78de40ab0866f773ea756b8e4b101ea8901b39))
+
+### [5.0.2](https://www.github.com/googleapis/nodejs-datastore/compare/v5.0.1...v5.0.2) (2019-12-12)
+
+
+### Bug Fixes
+
+* update datastore_transactional_single_entity_group_read_only to consistently use transaction ([#551](https://www.github.com/googleapis/nodejs-datastore/issues/551)) ([fbff2e7](https://www.github.com/googleapis/nodejs-datastore/commit/fbff2e7d2f054b157cc669c979a9e5acb09dd7a1))
+* **deps:** update dependency @grpc/grpc-js to v0.6.14 ([#552](https://www.github.com/googleapis/nodejs-datastore/issues/552)) ([f4df89c](https://www.github.com/googleapis/nodejs-datastore/commit/f4df89c50059541c75a7576c7264e3b7818871ea))
+
+### [5.0.1](https://www.github.com/googleapis/nodejs-datastore/compare/v5.0.0...v5.0.1) (2019-12-05)
+
+
+### Bug Fixes
+
+* **deps:** pin TypeScript below 3.7.0 ([eeebcf6](https://www.github.com/googleapis/nodejs-datastore/commit/eeebcf6d53fd4040b536fe3537d8a4c9a3bdd5c3))
+* **deps:** update dependency @grpc/grpc-js to v0.6.12 ([#541](https://www.github.com/googleapis/nodejs-datastore/issues/541)) ([972d3e7](https://www.github.com/googleapis/nodejs-datastore/commit/972d3e7e37b161ca8404975e4f9f80887609268f))
+* **deps:** update dependency @grpc/grpc-js to v0.6.13 ([#548](https://www.github.com/googleapis/nodejs-datastore/issues/548)) ([f8948c6](https://www.github.com/googleapis/nodejs-datastore/commit/f8948c63924225866130eb81e7ed26becbc3e1a9))
+
+## [5.0.0](https://www.github.com/googleapis/nodejs-datastore/compare/v4.5.2...v5.0.0) (2019-11-14)
+
+
+### ⚠ BREAKING CHANGES
+
+* keyToLegacyUrlsafe is now an async method (#496)
+* throw error with out of bounds integer values, optionally wrap into DsInt or provide a custom 'integerValue' type cast options #516
+
+### Features
+
+* throw error with out of bounds integer values, optionally wrap into DsInt or provide a custom 'integerValue' type cast options [#516](https://www.github.com/googleapis/nodejs-datastore/issues/516) ([6c8cc74](https://www.github.com/googleapis/nodejs-datastore/commit/6c8cc74820ca7eaab0e08b9cefac11095c466256))
+
+
+### Bug Fixes
+
+* **docs:** snippets are now replaced in jsdoc comments ([#535](https://www.github.com/googleapis/nodejs-datastore/issues/535)) ([53ddc21](https://www.github.com/googleapis/nodejs-datastore/commit/53ddc21f3b1545e660433b3805948dfc862ba792))
+* keyToLegacyUrlsafe is now an async method ([#496](https://www.github.com/googleapis/nodejs-datastore/issues/496)) ([bbd1ebe](https://www.github.com/googleapis/nodejs-datastore/commit/bbd1ebe82e302155b80ac801f892a7f12ad17e13))
+
+### [4.5.2](https://www.github.com/googleapis/nodejs-datastore/compare/v4.5.1...v4.5.2) (2019-11-08)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @grpc/grpc-js to v0.6.11 ([#532](https://www.github.com/googleapis/nodejs-datastore/issues/532)) ([95cded0](https://www.github.com/googleapis/nodejs-datastore/commit/95cded0d9ec365dc091bb0182ea8fe142d93cd64))
+
+### [4.5.1](https://www.github.com/googleapis/nodejs-datastore/compare/v4.5.0...v4.5.1) (2019-11-07)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @grpc/grpc-js to v0.6.10 ([#527](https://www.github.com/googleapis/nodejs-datastore/issues/527)) ([beb3bcc](https://www.github.com/googleapis/nodejs-datastore/commit/beb3bcc92fd6f3a09d970cb4d66cbb04dae06353))
+
+## [4.5.0](https://www.github.com/googleapis/nodejs-datastore/compare/v4.4.1...v4.5.0) (2019-11-04)
+
+
+### Features
+
+* support DSInt / DSDouble recognition from JSON ([#480](https://www.github.com/googleapis/nodejs-datastore/issues/480)) ([9f2fb3c](https://www.github.com/googleapis/nodejs-datastore/commit/9f2fb3cf6fa0672ef2bc252c0765dd84dbbc977a))
+
+
+### Bug Fixes
+
+* **types:** removed duplicate declaration ([#524](https://www.github.com/googleapis/nodejs-datastore/issues/524)) ([26cbb67](https://www.github.com/googleapis/nodejs-datastore/commit/26cbb67dd9d81900960363e20a9df545ba0c5675))
+* upgrade and pin to @grpc/grpc-js@0.6.9 ([#526](https://www.github.com/googleapis/nodejs-datastore/issues/526)) ([3b85eab](https://www.github.com/googleapis/nodejs-datastore/commit/3b85eabec858c98f16edd5f04416495f248fc68a))
+
+### [4.4.1](https://www.github.com/googleapis/nodejs-datastore/compare/v4.4.0...v4.4.1) (2019-10-22)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#518](https://www.github.com/googleapis/nodejs-datastore/issues/518)) ([3bb56c1](https://www.github.com/googleapis/nodejs-datastore/commit/3bb56c15462892d7afcc0ca3be7064cfd1cec745))
+
+## [4.4.0](https://www.github.com/googleapis/nodejs-datastore/compare/v4.3.0...v4.4.0) (2019-10-09)
+
+
+### Bug Fixes
+
+* transaction#run overloads' param types correction ([#501](https://www.github.com/googleapis/nodejs-datastore/issues/501)) ([c88e66e](https://www.github.com/googleapis/nodejs-datastore/commit/c88e66e))
+* **deps:** update dependency @grpc/grpc-js to ^0.6.0 ([#503](https://www.github.com/googleapis/nodejs-datastore/issues/503)) ([7c3c213](https://www.github.com/googleapis/nodejs-datastore/commit/7c3c213))
+* use compatible version of google-gax ([567e9dd](https://www.github.com/googleapis/nodejs-datastore/commit/567e9dd))
+
+
+### Features
+
+* .d.ts for protos ([#506](https://www.github.com/googleapis/nodejs-datastore/issues/506)) ([869e673](https://www.github.com/googleapis/nodejs-datastore/commit/869e673))
+* add merge method for merging an object into an existing entity ([#452](https://www.github.com/googleapis/nodejs-datastore/issues/452)) ([8e026af](https://www.github.com/googleapis/nodejs-datastore/commit/8e026af))
+
+## [4.3.0](https://www.github.com/googleapis/nodejs-datastore/compare/v4.2.0...v4.3.0) (2019-09-12)
+
+
+### Bug Fixes
+
+* **types:** fix and clean up types for request.ts ([#472](https://www.github.com/googleapis/nodejs-datastore/issues/472)) ([928f237](https://www.github.com/googleapis/nodejs-datastore/commit/928f237))
+* added overload method for transaction.createQuery to handle namespace issue ([#486](https://www.github.com/googleapis/nodejs-datastore/issues/486)) ([28568c1](https://www.github.com/googleapis/nodejs-datastore/commit/28568c1))
+* emit encoding errors on user stream ([#492](https://www.github.com/googleapis/nodejs-datastore/issues/492)) ([8d3b552](https://www.github.com/googleapis/nodejs-datastore/commit/8d3b552))
+* refactor and clean up types ([#476](https://www.github.com/googleapis/nodejs-datastore/issues/476)) ([5971c4a](https://www.github.com/googleapis/nodejs-datastore/commit/5971c4a))
+* update node version in HTTP headers ([#475](https://www.github.com/googleapis/nodejs-datastore/issues/475)) ([b6e65bb](https://www.github.com/googleapis/nodejs-datastore/commit/b6e65bb))
+
+
+### Features
+
+* add support for auto-unindex ([#453](https://www.github.com/googleapis/nodejs-datastore/issues/453)) ([33292d2](https://www.github.com/googleapis/nodejs-datastore/commit/33292d2))
+* load protos from JSON, grpc-fallback support ([#485](https://www.github.com/googleapis/nodejs-datastore/issues/485)) ([1cf85ea](https://www.github.com/googleapis/nodejs-datastore/commit/1cf85ea))
+* support key re-use from serialized path ([#474](https://www.github.com/googleapis/nodejs-datastore/issues/474)) ([b36c90f](https://www.github.com/googleapis/nodejs-datastore/commit/b36c90f))
+
+## [4.2.0](https://www.github.com/googleapis/nodejs-datastore/compare/v4.1.4...v4.2.0) (2019-08-09)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @grpc/grpc-js to ^0.5.0 ([#461](https://www.github.com/googleapis/nodejs-datastore/issues/461)) ([1850f25](https://www.github.com/googleapis/nodejs-datastore/commit/1850f25))
+* **deps:** update dependency google-auth-library to v5 ([#462](https://www.github.com/googleapis/nodejs-datastore/issues/462)) ([1f97053](https://www.github.com/googleapis/nodejs-datastore/commit/1f97053))
+* **types:** correct type of Datastore.KEY ([#459](https://www.github.com/googleapis/nodejs-datastore/issues/459)) ([09def6d](https://www.github.com/googleapis/nodejs-datastore/commit/09def6d))
+* allow calls with no request, add JSON proto ([771b634](https://www.github.com/googleapis/nodejs-datastore/commit/771b634))
+
+
+### Features
+
+* add support for appengine legacy url encoding ([#456](https://www.github.com/googleapis/nodejs-datastore/issues/456)) ([357a9cf](https://www.github.com/googleapis/nodejs-datastore/commit/357a9cf))
+* excludeFromIndex allow for '*' wildcard to catch all properties on object ([#451](https://www.github.com/googleapis/nodejs-datastore/issues/451)) ([215cbee](https://www.github.com/googleapis/nodejs-datastore/commit/215cbee))
+
+### [4.1.4](https://www.github.com/googleapis/nodejs-datastore/compare/v4.1.3...v4.1.4) (2019-07-23)
+
+
+### Bug Fixes
+
+* **deps:** drop dependency on through2 ([#457](https://www.github.com/googleapis/nodejs-datastore/issues/457)) ([e57ed63](https://www.github.com/googleapis/nodejs-datastore/commit/e57ed63))
+
+### [4.1.3](https://www.github.com/googleapis/nodejs-datastore/compare/v4.1.2...v4.1.3) (2019-06-27)
+
+
+### Bug Fixes
+
+* **docs:** link to reference docs section on googleapis.dev ([#444](https://www.github.com/googleapis/nodejs-datastore/issues/444)) ([0fd5492](https://www.github.com/googleapis/nodejs-datastore/commit/0fd5492))
+* **typescript:** grpc->[@grpc-js](https://www.github.com/grpc-js) ([#446](https://www.github.com/googleapis/nodejs-datastore/issues/446)) ([d8a8c81](https://www.github.com/googleapis/nodejs-datastore/commit/d8a8c81))
+* **typescript:** query pojection -> projection ([#445](https://www.github.com/googleapis/nodejs-datastore/issues/445)) ([32b6311](https://www.github.com/googleapis/nodejs-datastore/commit/32b6311))
+
+### [4.1.2](https://www.github.com/googleapis/nodejs-datastore/compare/v4.1.1...v4.1.2) (2019-06-20)
+
+
+### Bug Fixes
+
+* **docs:** fix
tag rendering in Key doc ([#439](https://www.github.com/googleapis/nodejs-datastore/issues/439)) ([2edd95c](https://www.github.com/googleapis/nodejs-datastore/commit/2edd95c))
+* **docs:** move to new client docs URL ([#437](https://www.github.com/googleapis/nodejs-datastore/issues/437)) ([278c1c5](https://www.github.com/googleapis/nodejs-datastore/commit/278c1c5))
+* add `parseInt` to constructor of task keys ([#436](https://www.github.com/googleapis/nodejs-datastore/issues/436)) ([7ee76b3](https://www.github.com/googleapis/nodejs-datastore/commit/7ee76b3))
+* assign more restrictive type to PathType ([#433](https://www.github.com/googleapis/nodejs-datastore/issues/433)) ([#435](https://www.github.com/googleapis/nodejs-datastore/issues/435)) ([a93ef91](https://www.github.com/googleapis/nodejs-datastore/commit/a93ef91))
+
+### [4.1.1](https://www.github.com/googleapis/nodejs-datastore/compare/v4.1.0...v4.1.1) (2019-06-11)
+
+
+### Bug Fixes
+
+* added legacy samples back, until we can update external references ([#428](https://www.github.com/googleapis/nodejs-datastore/issues/428)) ([c282ff7](https://www.github.com/googleapis/nodejs-datastore/commit/c282ff7))
+* **docs:** link to up-to-date googleapis.dev doc site ([#431](https://www.github.com/googleapis/nodejs-datastore/issues/431)) ([58d41a5](https://www.github.com/googleapis/nodejs-datastore/commit/58d41a5))
+
+## [4.1.0](https://www.github.com/googleapis/nodejs-datastore/compare/v4.0.0...v4.1.0) (2019-06-05)
+
+
+### Bug Fixes
+
+* default options to empty object ([c04777d](https://www.github.com/googleapis/nodejs-datastore/commit/c04777d))
+
+
+### Features
+
+* support apiEndpoint override in client constructor ([#422](https://www.github.com/googleapis/nodejs-datastore/issues/422)) ([0f75d38](https://www.github.com/googleapis/nodejs-datastore/commit/0f75d38))
+
+## [4.0.0](https://www.github.com/googleapis/nodejs-datastore/compare/v3.1.2...v4.0.0) (2019-05-15)
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to v1 ([#402](https://www.github.com/googleapis/nodejs-datastore/issues/402)) ([547f1a1](https://www.github.com/googleapis/nodejs-datastore/commit/547f1a1))
+* correct Long types import ([#358](https://www.github.com/googleapis/nodejs-datastore/issues/358)) ([dfe1def](https://www.github.com/googleapis/nodejs-datastore/commit/dfe1def))
+* DEADLINE_EXCEEDED is no longer retried ([47eedf0](https://www.github.com/googleapis/nodejs-datastore/commit/47eedf0))
+* DEADLINE_EXCEEDED retry code is idempotent ([#403](https://www.github.com/googleapis/nodejs-datastore/issues/403)) ([2a7c3ab](https://www.github.com/googleapis/nodejs-datastore/commit/2a7c3ab))
+* **deps:** update dependency @google-cloud/projectify to v1 ([#391](https://www.github.com/googleapis/nodejs-datastore/issues/391)) ([761896b](https://www.github.com/googleapis/nodejs-datastore/commit/761896b))
+* **deps:** update dependency @google-cloud/promisify to v1 ([#392](https://www.github.com/googleapis/nodejs-datastore/issues/392)) ([94a45bd](https://www.github.com/googleapis/nodejs-datastore/commit/94a45bd))
+* **deps:** update dependency arrify to v2 ([2b47d10](https://www.github.com/googleapis/nodejs-datastore/commit/2b47d10))
+* **deps:** update dependency google-auth-library to v4 ([#400](https://www.github.com/googleapis/nodejs-datastore/issues/400)) ([19bc787](https://www.github.com/googleapis/nodejs-datastore/commit/19bc787))
+* **deps:** update dependency google-gax to ^0.26.0 ([#386](https://www.github.com/googleapis/nodejs-datastore/issues/386)) ([29b81e3](https://www.github.com/googleapis/nodejs-datastore/commit/29b81e3))
+* include 'x-goog-request-params' header in requests ([#372](https://www.github.com/googleapis/nodejs-datastore/issues/372)) ([d91be05](https://www.github.com/googleapis/nodejs-datastore/commit/d91be05))
+* lint ([#384](https://www.github.com/googleapis/nodejs-datastore/issues/384)) ([9a4d746](https://www.github.com/googleapis/nodejs-datastore/commit/9a4d746))
+* **docs:** move ts overloads above doc string ([#356](https://www.github.com/googleapis/nodejs-datastore/issues/356)) ([a7f1123](https://www.github.com/googleapis/nodejs-datastore/commit/a7f1123))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#388](https://www.github.com/googleapis/nodejs-datastore/issues/388)) ([a8cf59f](https://www.github.com/googleapis/nodejs-datastore/commit/a8cf59f))
+
+
+### BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#388)
+
+## v3.1.2
+
+03-06-2019 12:24 PST
+
+### Bug fixes
+- fix: make an explicit dependency on long ([#352](https://github.com/googleapis/nodejs-datastore/pull/352))
+- fix: include types in package ([#351](https://github.com/googleapis/nodejs-datastore/pull/351))
+- fix: add missing package, and add install test ([#346](https://github.com/googleapis/nodejs-datastore/pull/346))
+
+### Documentation
+- docs(samples): Update datastore_transaction_retry sample to use function arguments rather than closed variables. ([#339](https://github.com/googleapis/nodejs-datastore/pull/339))
+
+### Internal / Testing Changes
+- refactor(ts): enable noImplicitAny on test/request.ts ([#343](https://github.com/googleapis/nodejs-datastore/pull/343))
+- refactor(ts): enable noImplicitAny on test/query.ts ([#342](https://github.com/googleapis/nodejs-datastore/pull/342))
+- build: update release configuration
+- chore: update proto docs and code style
+- chore(deps): update dependency mocha to v6 ([#338](https://github.com/googleapis/nodejs-datastore/pull/338))
+
+## v3.1.1
+
+02-18-2019 22:46 PST
+
+### Bug fixes
+- fix: include proto d.ts in the build ([#335](https://github.com/googleapis/nodejs-datastore/pull/335))
+- fix(deps): update dependency @google-cloud/promisify to ^0.4.0 ([#333](https://github.com/googleapis/nodejs-datastore/pull/333))
+- fix: throw on invalid credentials ([#331](https://github.com/googleapis/nodejs-datastore/pull/331))
+- fix(deps): update dependency yargs to v13 ([#329](https://github.com/googleapis/nodejs-datastore/pull/329))
+
+### Documentation
+- build: use linkinator for docs test ([#332](https://github.com/googleapis/nodejs-datastore/pull/332))
+- docs: update links in contrib guide ([#334](https://github.com/googleapis/nodejs-datastore/pull/334))
+
+## v3.1.0
+
+02-09-2019 17:57 PST
+
+This one's coming hot with fresh new TypeScript types 🔥
+
+### New Features
+- feat: typings for gapic files ([#307](https://github.com/googleapis/nodejs-datastore/pull/307))
+
+### Bug fixes
+- fix(types): Make gaxOptions optional in Transaction.rollback() ([#310](https://github.com/googleapis/nodejs-datastore/pull/310))
+
+### Dependencies
+- fix(deps): update dependency google-auth-library to v3 ([#302](https://github.com/googleapis/nodejs-datastore/pull/302))
+- fix(deps): update dependency google-gax to ^0.25.0 ([#316](https://github.com/googleapis/nodejs-datastore/pull/316))
+- fix(deps): update dependency google-gax to ^0.24.0 ([#312](https://github.com/googleapis/nodejs-datastore/pull/312))
+
+### Documentation
+- docs: update contributing path in README ([#322](https://github.com/googleapis/nodejs-datastore/pull/322))
+- chore: move CONTRIBUTING.md to root ([#321](https://github.com/googleapis/nodejs-datastore/pull/321))
+- docs: add lint/fix example to contributing guide ([#319](https://github.com/googleapis/nodejs-datastore/pull/319))
+- docs(samples): Update Datastore snippet for read only transaction
+- docs(key): copy Datastore#key examples to Key ctor ([#306](https://github.com/googleapis/nodejs-datastore/pull/306))
+
+### Internal / Testing Changes
+- refactor: clean up types for tests ([#325](https://github.com/googleapis/nodejs-datastore/pull/325))
+- refactor: asyncify the system test ([#324](https://github.com/googleapis/nodejs-datastore/pull/324))
+- build: test using @grpc/grpc-js in CI ([#323](https://github.com/googleapis/nodejs-datastore/pull/323))
+- refactor(types): enable noImplicitAny for transaction.ts & request.ts ([#305](https://github.com/googleapis/nodejs-datastore/pull/305))
+- chore(deps): update dependency eslint-config-prettier to v4 ([#313](https://github.com/googleapis/nodejs-datastore/pull/313))
+- build: ignore googleapis.com in doc link check ([#311](https://github.com/googleapis/nodejs-datastore/pull/311))
+- chore: update year in the license headers. ([#304](https://github.com/googleapis/nodejs-datastore/pull/304))
+
+## v3.0.1
+
+01-15-2019 13:20 PST
+
+### Bug fixes
+- fix: ship the build directory ([#300](https://github.com/googleapis/nodejs-datastore/pull/300))
+
+### Internal / Testing Changes
+- build: check broken links in generated docs ([#292](https://github.com/googleapis/nodejs-datastore/pull/292))
+
+## v3.0.0
+
+01-14-2019 20:31 PST
+
+**This release has breaking changes!** The import style of this library has changed to be consistent with [es modules](https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/).
+
+#### Old busted code
+```js
+const Datastore = require('@google-cloud/datastore')();
+// or...
+const Datastore = require('@google-cloud/datastore');
+const ds = new Datastore();
+```
+
+#### New hot code
+```js
+const {Datastore} = require('@google-cloud/datastore');
+const ds = new Datastore();
+```
+
+Please take care to update your imports accordingly!
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.23.0 ([#296](https://github.com/googleapis/nodejs-datastore/pull/296))
+- fix(deps): update dependency google-gax to ^0.22.0 ([#248](https://github.com/googleapis/nodejs-datastore/pull/248))
+- fix(deps): update dependency concat-stream to v2 ([#290](https://github.com/googleapis/nodejs-datastore/pull/290))
+- refactor: remove async module usage ([#272](https://github.com/googleapis/nodejs-datastore/pull/272))
+- fix(deps): update dependency through2 to v3 ([#237](https://github.com/googleapis/nodejs-datastore/pull/237))
+- chore: remove unused dependencies ([#226](https://github.com/googleapis/nodejs-datastore/pull/226))
+- fix(deps): update dependency google-proto-files to ^0.17.0 ([#210](https://github.com/googleapis/nodejs-datastore/pull/210))
+
+### Documentation
+- fix(docs): fix namespace causing 404s ([#294](https://github.com/googleapis/nodejs-datastore/pull/294))
+- fix(docs): remove unused long running operations types
+- docs: Update doc comment showing structure of entity ([#276](https://github.com/googleapis/nodejs-datastore/pull/276))
+- docs: update readme badges ([#269](https://github.com/googleapis/nodejs-datastore/pull/269))
+- refactor(samples): Samples to use async/await
+- docs: update auto-generated jsdoc comments ([#245](https://github.com/googleapis/nodejs-datastore/pull/245))
+
+### Internal / Testing Changes
+- refactor: sprinkle some types about ([#291](https://github.com/googleapis/nodejs-datastore/pull/291))
+- chore(deps): update dependency @types/sinon to v7.0.2 ([#289](https://github.com/googleapis/nodejs-datastore/pull/289))
+- chore(deps): update dependency @types/sinon to v7 ([#286](https://github.com/googleapis/nodejs-datastore/pull/286))
+- refactor(ts): enable lint and fix ([#287](https://github.com/googleapis/nodejs-datastore/pull/287))
+- chore(build): inject yoshi automation key ([#285](https://github.com/googleapis/nodejs-datastore/pull/285))
+- chore: update nyc and eslint configs ([#284](https://github.com/googleapis/nodejs-datastore/pull/284))
+- chore: fix publish.sh permission +x ([#282](https://github.com/googleapis/nodejs-datastore/pull/282))
+- fix(build): fix Kokoro release script ([#281](https://github.com/googleapis/nodejs-datastore/pull/281))
+- build: add Kokoro configs for autorelease ([#280](https://github.com/googleapis/nodejs-datastore/pull/280))
+- chore: always nyc report before calling codecov ([#275](https://github.com/googleapis/nodejs-datastore/pull/275))
+- chore: nyc ignore build/test by default ([#274](https://github.com/googleapis/nodejs-datastore/pull/274))
+- chore: update license file ([#271](https://github.com/googleapis/nodejs-datastore/pull/271))
+- refactor: run gts fix ([#265](https://github.com/googleapis/nodejs-datastore/pull/265))
+- chore(deps): update dependency typescript to ~3.2.0 ([#264](https://github.com/googleapis/nodejs-datastore/pull/264))
+- fix(build): fix system key decryption ([#266](https://github.com/googleapis/nodejs-datastore/pull/266))
+- refactor(samples): convert sample tests from ava to mocha ([#259](https://github.com/googleapis/nodejs-datastore/pull/259))
+- fix: Pin @types/sinon to last compatible version ([#256](https://github.com/googleapis/nodejs-datastore/pull/256))
+- chore: add synth.metadata ([#254](https://github.com/googleapis/nodejs-datastore/pull/254))
+- refactor(ts): enable noImplicitThis ([#250](https://github.com/googleapis/nodejs-datastore/pull/250))
+- chore(deps): update dependency gts to ^0.9.0 ([#247](https://github.com/googleapis/nodejs-datastore/pull/247))
+- chore: update eslintignore config ([#246](https://github.com/googleapis/nodejs-datastore/pull/246))
+- refactor(ts): use es module imports ([#244](https://github.com/googleapis/nodejs-datastore/pull/244))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#243](https://github.com/googleapis/nodejs-datastore/pull/243))
+- chore: drop contributors from multiple places ([#241](https://github.com/googleapis/nodejs-datastore/pull/241))
+- chore(deps): update dependency @types/is to v0.0.21 ([#240](https://github.com/googleapis/nodejs-datastore/pull/240))
+- chore: use latest npm on Windows ([#239](https://github.com/googleapis/nodejs-datastore/pull/239))
+- refactor(ts): convert to typescript ([#236](https://github.com/googleapis/nodejs-datastore/pull/236))
+- chore: update CircleCI config ([#235](https://github.com/googleapis/nodejs-datastore/pull/235))
+- chore: include build in eslintignore ([#232](https://github.com/googleapis/nodejs-datastore/pull/232))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#227](https://github.com/googleapis/nodejs-datastore/pull/227))
+- chore: update issue templates ([#225](https://github.com/googleapis/nodejs-datastore/pull/225))
+- chore: remove old issue template ([#223](https://github.com/googleapis/nodejs-datastore/pull/223))
+- build: run tests on node11 ([#222](https://github.com/googleapis/nodejs-datastore/pull/222))
+- chores(build): do not collect sponge.xml from windows builds ([#221](https://github.com/googleapis/nodejs-datastore/pull/221))
+- chores(build): run codecov on continuous builds ([#220](https://github.com/googleapis/nodejs-datastore/pull/220))
+- chore: update new issue template ([#219](https://github.com/googleapis/nodejs-datastore/pull/219))
+- build: fix codecov uploading on Kokoro ([#213](https://github.com/googleapis/nodejs-datastore/pull/213))
+- fix(deps): update dependency sinon to v7 ([#212](https://github.com/googleapis/nodejs-datastore/pull/212))
+- Update kokoro config ([#207](https://github.com/googleapis/nodejs-datastore/pull/207))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#206](https://github.com/googleapis/nodejs-datastore/pull/206))
+
+## v2.0.0
+
+### Breaking Changes
+- chore: really delete node4 and node9 ([#131](https://github.com/googleapis/nodejs-datastore/pull/131))
+- fix: drop support for node.js 4.x and 9.x ([#129](https://github.com/googleapis/nodejs-datastore/pull/129))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.20.0 ([#194](https://github.com/googleapis/nodejs-datastore/pull/194))
+- fix(deps): update dependency google-auth-library to v2 ([#184](https://github.com/googleapis/nodejs-datastore/pull/184))
+- fix(deps): update dependency google-gax to ^0.19.0 ([#177](https://github.com/googleapis/nodejs-datastore/pull/177))
+- chore: remove safe-buffer ([#144](https://github.com/googleapis/nodejs-datastore/pull/144))
+- fix(deps): update dependency google-gax to ^0.18.0 ([#154](https://github.com/googleapis/nodejs-datastore/pull/154))
+- chore: drop dependency on common ([#148](https://github.com/googleapis/nodejs-datastore/pull/148))
+- chore: remove propprop ([#145](https://github.com/googleapis/nodejs-datastore/pull/145))
+- refactor: update nodejs-common and google-auth-library ([#112](https://github.com/googleapis/nodejs-datastore/pull/112))
+
+### Documentation
+- doc: fix namespace causing 404 ([#170](https://github.com/googleapis/nodejs-datastore/pull/170))
+
+### Internal / Testing Changes
+- build: prevent system/sample-test from leaking credentials
+- Update CI config ([#201](https://github.com/googleapis/nodejs-datastore/pull/201))
+- test: remove appveyor config ([#200](https://github.com/googleapis/nodejs-datastore/pull/200))
+- Update the kokoro config ([#199](https://github.com/googleapis/nodejs-datastore/pull/199))
+- Enable prefer-const in the eslint config ([#197](https://github.com/googleapis/nodejs-datastore/pull/197))
+- Enable no-var in eslint ([#196](https://github.com/googleapis/nodejs-datastore/pull/196))
+- Switch to let/const ([#195](https://github.com/googleapis/nodejs-datastore/pull/195))
+- Update CI config ([#193](https://github.com/googleapis/nodejs-datastore/pull/193))
+- Retry npm install in CI ([#191](https://github.com/googleapis/nodejs-datastore/pull/191))
+- Update CI config ([#185](https://github.com/googleapis/nodejs-datastore/pull/185))
+- Update CI config ([#182](https://github.com/googleapis/nodejs-datastore/pull/182))
+- chore(deps): update dependency nyc to v13 ([#181](https://github.com/googleapis/nodejs-datastore/pull/181))
+- Update the CI config ([#180](https://github.com/googleapis/nodejs-datastore/pull/180))
+- chore: use arrow functions ([#176](https://github.com/googleapis/nodejs-datastore/pull/176))
+- chore: make CircleCI config consistent ([#178](https://github.com/googleapis/nodejs-datastore/pull/178))
+- chore: start converting to es classes ([#173](https://github.com/googleapis/nodejs-datastore/pull/173))
+- chore(deps): update dependency eslint-config-prettier to v3 ([#169](https://github.com/googleapis/nodejs-datastore/pull/169))
+- test: use sinon for mocking ([#168](https://github.com/googleapis/nodejs-datastore/pull/168))
+- chore: do not use npm ci ([#166](https://github.com/googleapis/nodejs-datastore/pull/166))
+- fix: fix the samples tests ([#164](https://github.com/googleapis/nodejs-datastore/pull/164))
+- chore: ignore package-lock.json ([#162](https://github.com/googleapis/nodejs-datastore/pull/162))
+- chore(deps): lock file maintenance ([#160](https://github.com/googleapis/nodejs-datastore/pull/160))
+- chore: switch back to auto-generated code
+- chore(deps): lock file maintenance ([#159](https://github.com/googleapis/nodejs-datastore/pull/159))
+- chore: use let and const ([#158](https://github.com/googleapis/nodejs-datastore/pull/158))
+- chore: update renovate config ([#157](https://github.com/googleapis/nodejs-datastore/pull/157))
+- Delete reference to non-existent sample. ([#149](https://github.com/googleapis/nodejs-datastore/pull/149))
+- test: throw on deprecation ([#155](https://github.com/googleapis/nodejs-datastore/pull/155))
+- chore: move mocha options to mocha.opts ([#150](https://github.com/googleapis/nodejs-datastore/pull/150))
+- Update CI config ([#151](https://github.com/googleapis/nodejs-datastore/pull/151))
+- chore: add node templates to synth.py ([#143](https://github.com/googleapis/nodejs-datastore/pull/143))
+- chore: please eslint ([#146](https://github.com/googleapis/nodejs-datastore/pull/146))
+- chore(deps): lock file maintenance ([#142](https://github.com/googleapis/nodejs-datastore/pull/142))
+- chore(deps): update dependency eslint-plugin-node to v7 ([#139](https://github.com/googleapis/nodejs-datastore/pull/139))
+- test: use strictEqual in tests ([#140](https://github.com/googleapis/nodejs-datastore/pull/140))
+- chore(deps): lock file maintenance ([#138](https://github.com/googleapis/nodejs-datastore/pull/138))
+- chore(build): use `npm ci` instead of `npm install` ([#134](https://github.com/googleapis/nodejs-datastore/pull/134))
+- chore(deps): lock file maintenance ([#133](https://github.com/googleapis/nodejs-datastore/pull/133))
+- chore(deps): lock file maintenance ([#132](https://github.com/googleapis/nodejs-datastore/pull/132))
+- chore(deps): lock file maintenance ([#130](https://github.com/googleapis/nodejs-datastore/pull/130))
+- chore(deps): lock file maintenance ([#128](https://github.com/googleapis/nodejs-datastore/pull/128))
+- chore(deps): lock file maintenance ([#127](https://github.com/googleapis/nodejs-datastore/pull/127))
+- chore(deps): lock file maintenance ([#126](https://github.com/googleapis/nodejs-datastore/pull/126))
+- chore(deps): lock file maintenance ([#125](https://github.com/googleapis/nodejs-datastore/pull/125))
+- chore(deps): lock file maintenance ([#124](https://github.com/googleapis/nodejs-datastore/pull/124))
+- fix(deps): update dependency yargs to v12 ([#122](https://github.com/googleapis/nodejs-datastore/pull/122))
+- fix(deps): update dependency sinon to v6 ([#120](https://github.com/googleapis/nodejs-datastore/pull/120))
+- Configure Renovate ([#113](https://github.com/googleapis/nodejs-datastore/pull/113))
+- Update google-gax dependency ([#119](https://github.com/googleapis/nodejs-datastore/pull/119))
+- refactor: drop repo-tool as an exec wrapper ([#118](https://github.com/googleapis/nodejs-datastore/pull/118))
+- chore: update sample lockfiles ([#117](https://github.com/googleapis/nodejs-datastore/pull/117))
+- fix: update linking for samples ([#115](https://github.com/googleapis/nodejs-datastore/pull/115))
+- chore(package): update eslint to version 5.0.0 ([#114](https://github.com/googleapis/nodejs-datastore/pull/114))
+- chore(package): Update sinon to the latest version 🚀 ([#104](https://github.com/googleapis/nodejs-datastore/pull/104))
diff --git a/handwritten/nodejs-datastore/CODE_OF_CONDUCT.md b/handwritten/nodejs-datastore/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/handwritten/nodejs-datastore/CODE_OF_CONDUCT.md
@@ -0,0 +1,94 @@
+
+# Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of
+experience, education, socio-economic status, nationality, personal appearance,
+race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, or to ban temporarily or permanently any
+contributor for other behaviors that they deem inappropriate, threatening,
+offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+This Code of Conduct also applies outside the project spaces when the Project
+Steward has a reasonable belief that an individual's behavior may have a
+negative impact on the project or its community.
+
+## Conflict Resolution
+
+We do not believe that all conflict is bad; healthy debate and disagreement
+often yield positive results. However, it is never okay to be disrespectful or
+to engage in behavior that violates the project’s code of conduct.
+
+If you see someone violating the code of conduct, you are encouraged to address
+the behavior directly with those involved. Many issues can be resolved quickly
+and easily, and this gives people more control over the outcome of their
+dispute. If you are unable to resolve the matter for any reason, or if the
+behavior is threatening or harassing, report it. We are dedicated to providing
+an environment where participants feel welcome and safe.
+
+Reports should be directed to *googleapis-stewards@google.com*, the
+Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to
+receive and address reported violations of the code of conduct. They will then
+work with a committee consisting of representatives from the Open Source
+Programs Office and the Google Open Source Strategy team. If for any reason you
+are uncomfortable reaching out to the Project Steward, please email
+opensource@google.com.
+
+We will investigate every complaint, but you may not receive a direct response.
+We will use our discretion in determining when and how to follow up on reported
+incidents, which may range from not taking action to permanent expulsion from
+the project and project-sponsored spaces. We will notify the accused of the
+report and provide them an opportunity to discuss it before any action is taken.
+The identity of the reporter will be omitted from the details of the report
+supplied to the accused. In potentially harmful situations, such as ongoing
+harassment or threats to anyone's safety, we may take action without notice.
+
+## Attribution
+
+This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
+available at
+https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
\ No newline at end of file
diff --git a/handwritten/nodejs-datastore/CONTRIBUTING.md b/handwritten/nodejs-datastore/CONTRIBUTING.md
new file mode 100644
index 00000000000..27ec36b41f9
--- /dev/null
+++ b/handwritten/nodejs-datastore/CONTRIBUTING.md
@@ -0,0 +1,75 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable the Google Cloud Datastore API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+
+## Running the tests
+
+1. [Prepare your environment for Node.js setup][setup].
+
+1. Install dependencies:
+
+ npm install
+
+1. Run the tests:
+
+ # Run unit tests.
+ npm test
+
+ # Run sample integration tests.
+ npm run samples-test
+
+ # Run all system tests.
+ npm run system-test
+
+1. Lint (and maybe fix) any changes:
+
+ npm run fix
+
+[setup]: https://cloud.google.com/nodejs/docs/setup
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=datastore.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/handwritten/nodejs-datastore/LICENSE b/handwritten/nodejs-datastore/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/handwritten/nodejs-datastore/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/handwritten/nodejs-datastore/README.md b/handwritten/nodejs-datastore/README.md
new file mode 100644
index 00000000000..675530926d6
--- /dev/null
+++ b/handwritten/nodejs-datastore/README.md
@@ -0,0 +1,191 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Google Cloud Datastore: Node.js Client](https://github.com/googleapis/nodejs-datastore)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/datastore)
+
+
+
+
+Cloud Datastore Client Library for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/nodejs-datastore/blob/main/CHANGELOG.md).
+
+* [Google Cloud Datastore Node.js Client API Reference][client-docs]
+* [Google Cloud Datastore Documentation][product-docs]
+* [github.com/googleapis/nodejs-datastore](https://github.com/googleapis/nodejs-datastore)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable the Google Cloud Datastore API][enable_api].
+1. [Set up authentication][auth] so you can access the
+ API from your local workstation.
+
+### Installing the client library
+
+```bash
+npm install @google-cloud/datastore
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+const {Datastore} = require('@google-cloud/datastore');
+
+// Creates a client
+const datastore = new Datastore();
+
+async function quickstart() {
+ // The kind for the new entity
+ const kind = 'Task';
+
+ // The name/ID for the new entity
+ const name = 'sampletask1';
+
+ // The Cloud Datastore key for the new entity
+ const taskKey = datastore.key([kind, name]);
+
+ // Prepares the new entity
+ const task = {
+ key: taskKey,
+ data: {
+ description: 'Buy milk',
+ },
+ };
+
+ // Saves the entity
+ await datastore.save(task);
+ console.log(`Saved ${task.key.name}: ${task.data.description}`);
+}
+quickstart();
+
+```
+### Troubleshooting
+#### Emulator returning `DEADLINE_EXCEEDED`, `java.lang.OutOfMemoryError`
+*Reference Issue: [#95](https://github.com/googleapis/nodejs-datastore/issues/95)*
+
+When using the emulator, you may experience errors such as "DEADLINE_EXCEEDED" within your application, corresponding to an error in the emulator: "java.lang.OutOfMemoryError". These errors are unique to the emulator environment and will not persist in production.
+
+A workaround is available, provided by [@ohmpatel1997](https://github.com/ohmpatel1997) [here](https://github.com/googleapis/nodejs-datastore/issues/95#issuecomment-554387312).
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/nodejs-datastore/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Concepts | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/concepts.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/concepts.js,samples/README.md) |
+| Error | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/error.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/error.js,samples/README.md) |
+| Export | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/export.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/export.js,samples/README.md) |
+| Import | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/import.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/import.js,samples/README.md) |
+| Indexes.get | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/indexes.get.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/indexes.get.js,samples/README.md) |
+| Indexes.list | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/indexes.list.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/indexes.list.js,samples/README.md) |
+| Create a union between two filters | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/queryFilterOr.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/queryFilterOr.js,samples/README.md) |
+| Run query explain (regular query) | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/queryProfileExplain.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/queryProfileExplain.js,samples/README.md) |
+| Run query explain (aggregate query) | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/queryProfileExplainAggregation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/queryProfileExplainAggregation.js,samples/README.md) |
+| Run query explain analyze (regular query) | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/queryProfileExplainAnalyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/queryProfileExplainAnalyze.js,samples/README.md) |
+| Run query explain analyze (aggregate query) | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/queryProfileExplainAnalyzeAggregation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/queryProfileExplainAnalyzeAggregation.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) |
+| Add Task | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/tasks.add.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/tasks.add.js,samples/README.md) |
+| Delete Task | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/tasks.delete.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/tasks.delete.js,samples/README.md) |
+| Legacy Samples | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/tasks.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/tasks.js,samples/README.md) |
+| List Tasks | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/tasks.list.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/tasks.list.js,samples/README.md) |
+| Update Task | [source code](https://github.com/googleapis/nodejs-datastore/blob/main/samples/tasks.markdone.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-datastore&page=editor&open_in_editor=samples/tasks.markdone.js,samples/README.md) |
+
+
+
+The [Google Cloud Datastore Node.js Client API Reference][client-docs] documentation
+also contains samples.
+
+## Supported Node.js Versions
+
+Our client libraries follow the [Node.js release schedule](https://github.com/nodejs/release#release-schedule).
+Libraries are compatible with all current _active_ and _maintenance_ versions of
+Node.js.
+If you are using an end-of-life version of Node.js, we recommend that you update
+as soon as possible to an actively supported LTS version.
+
+Google's client libraries support legacy versions of Node.js runtimes on a
+best-efforts basis with the following warnings:
+
+* Legacy versions are not tested in continuous integration.
+* Some security patches and features cannot be backported.
+* Dependencies cannot be kept up-to-date.
+
+Client libraries targeting some end-of-life versions of Node.js are available, and
+can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
+The dist-tags follow the naming convention `legacy-(version)`.
+For example, `npm install @google-cloud/datastore@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-datastore/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/nodejs-datastore/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/datastore/latest
+[product-docs]: https://cloud.google.com/datastore/docs
+[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=datastore.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local
diff --git a/handwritten/nodejs-datastore/linkinator.config.json b/handwritten/nodejs-datastore/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/handwritten/nodejs-datastore/linkinator.config.json
@@ -0,0 +1,16 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io",
+ "https://console.cloud.google.com/cloudshell",
+ "https://support.google.com"
+ ],
+ "silent": true,
+ "concurrency": 5,
+ "retry": true,
+ "retryErrors": true,
+ "retryErrorsCount": 5,
+ "retryErrorsJitter": 3000
+}
diff --git a/handwritten/nodejs-datastore/mock-server/README.md b/handwritten/nodejs-datastore/mock-server/README.md
new file mode 100644
index 00000000000..53a848410ee
--- /dev/null
+++ b/handwritten/nodejs-datastore/mock-server/README.md
@@ -0,0 +1,15 @@
+The mock server code in this folder is used for observing requests that will
+be sent to the server. When the server sends back a vague error it is often
+because the request it receives is incorrect so it is crucial to have a tool to
+view the request in order to know what client library code needs to change.
+
+The steps to follow for using the mock server is:
+1. Take a look at `test/try-server.ts` to see how the mock server is used.
+2. In the system test you want to debug, change `it` to `it.only` to isolate that test.
+3. In this test, surround the code with `startServer(async () => {`
+4. Ensure `apiEndpoint: 'localhost:50051'` is passed into the datastore client that is used for this test.
+5. If the system test hits an endpoint other than `runQuery` then in `datastore-server.ts`, change `.addService(service, {runQuery: grpcEndpoint})` to `.addService(service, {<>: grpcEndpoint})`
+6. Set a breakpoint on the line that says `SET A BREAKPOINT HERE` in `datastore-server.ts`
+7. Debug with system tests (Enter `npm run system-test -- --inspect` in terminal)
+
+
diff --git a/handwritten/nodejs-datastore/mock-server/datastore-server.ts b/handwritten/nodejs-datastore/mock-server/datastore-server.ts
new file mode 100644
index 00000000000..c2e1ee5f2d6
--- /dev/null
+++ b/handwritten/nodejs-datastore/mock-server/datastore-server.ts
@@ -0,0 +1,67 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+const {dirname, resolve} = require('node:path');
+
+const PROTO_PATH = __dirname + '/../protos/google/datastore/v1/datastore.proto';
+const DATASTORE_PROTOS = __dirname + '/../protos';
+const GAX_PROTOS_DIR = resolve(
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
+ // eslint-disable-next-line n/no-extraneous-require
+ dirname(require.resolve('google-gax')),
+ '../protos',
+);
+
+const grpc = require('@grpc/grpc-js');
+const protoLoader = require('@grpc/proto-loader');
+
+const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
+ keepCase: true,
+ longs: String,
+ enums: String,
+ defaults: true,
+ oneofs: true,
+ includeDirs: [DATASTORE_PROTOS, GAX_PROTOS_DIR],
+});
+const descriptor = grpc.loadPackageDefinition(packageDefinition);
+
+/**
+ * Implements the runQuery RPC method.
+ */
+function grpcEndpoint(
+ call: {},
+ callback: (arg1: string | null, arg2: {}) => {},
+) {
+ // SET A BREAKPOINT HERE AND EXPLORE `call` TO SEE THE REQUEST.
+ callback(null, {message: 'Hello'});
+}
+
+/**
+ * Starts an RPC server that receives requests for datastore
+ */
+export function startServer(cb: () => void) {
+ const server = new grpc.Server();
+ const service = descriptor.google.datastore.v1.Datastore.service;
+ // On the next line, change runQuery to the grpc method you want to investigate
+ server.addService(service, {runQuery: grpcEndpoint});
+ server.bindAsync(
+ '0.0.0.0:50051',
+ grpc.ServerCredentials.createInsecure(),
+ () => {
+ console.log('server started');
+ cb();
+ },
+ );
+}
diff --git a/handwritten/nodejs-datastore/mock-server/package.json b/handwritten/nodejs-datastore/mock-server/package.json
new file mode 100644
index 00000000000..73153dee4d6
--- /dev/null
+++ b/handwritten/nodejs-datastore/mock-server/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "grpc-examples",
+ "version": "0.1.0",
+ "dependencies": {
+ "@grpc/proto-loader": "^0.5.0",
+ "async": "^1.5.2",
+ "google-protobuf": "^3.0.0",
+ "@grpc/grpc-js": "^1.1.0",
+ "lodash": "^4.6.1",
+ "minimist": "^1.2.0"
+ }
+}
diff --git a/handwritten/nodejs-datastore/owlbot.py b/handwritten/nodejs-datastore/owlbot.py
new file mode 100644
index 00000000000..a6af6e71f31
--- /dev/null
+++ b/handwritten/nodejs-datastore/owlbot.py
@@ -0,0 +1,60 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import synthtool as s
+import synthtool.gcp as gcp
+import synthtool.languages.node_mono_repo as node
+import logging
+from pathlib import Path
+from synthtool import _tracked_paths
+from synthtool import shell
+import shutil
+
+logging.basicConfig(level=logging.DEBUG)
+
+staging = Path("owl-bot-staging")
+
+if staging.is_dir():
+ logging.info(f"Copying files from staging directory ${staging}.")
+
+ # Copy the datastore library.
+ for version in ['v1']:
+ library = staging / version
+ _tracked_paths.add(library)
+ s.copy([library],excludes=[
+ 'package.json', 'README.md', 'src/index.ts', 'src/v1/index.ts'])
+
+ # Copy the admin library.
+ for version in ['v1']:
+ library = staging / 'admin' / version
+ _tracked_paths.add(library)
+ s.copy([library],excludes=[
+ 'package.json', 'README.md', 'src/index.ts', 'src/v1/index.ts', 'tsconfig.json', 'tslint.json',
+ 'system-test/fixtures/sample/src/index.ts', 'system-test/fixtures/sample/src/index.js',
+ '.jsdoc.js', 'webpack.config.js'])
+
+ # Patch the code.
+ system_test_files = ['system-test/fixtures/sample/src/index.ts', 'system-test/fixtures/sample/src/index.js']
+ for file in system_test_files:
+ s.replace(file, 'DatastoreClient', 'Datastore')
+ s.replace(file, 'client.close', '// client.close'); # does not work with the manual layer
+
+ # The staging directory should never be merged into the main branch.
+ shutil.rmtree(staging)
+
+common_templates = gcp.CommonTemplates()
+templates = common_templates.node_library(source_location="build/src")
+s.copy(templates)
+
+node.postprocess_gapic_library_hermetic()
diff --git a/handwritten/nodejs-datastore/package.json b/handwritten/nodejs-datastore/package.json
new file mode 100644
index 00000000000..982900ba920
--- /dev/null
+++ b/handwritten/nodejs-datastore/package.json
@@ -0,0 +1,93 @@
+{
+ "name": "@google-cloud/datastore",
+ "version": "10.0.1",
+ "description": "Cloud Datastore Client Library for Node.js",
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google datastore",
+ "datastore"
+ ],
+ "repository": {
+ "type": "git",
+ "directory": "handwritten/nodejs-datastore",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "license": "Apache-2.0",
+ "author": "Google LLC.",
+ "main": "build/src/index.js",
+ "files": [
+ "build/protos",
+ "build/src"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r proto* build/ && cp -r system-test/data build/system-test",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "prelint": "cd samples; npm link ../; npm install",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../",
+ "presystem-test": "npm run compile",
+ "system-test": "mocha build/system-test --timeout 600000",
+ "pretest": "npm run compile",
+ "test": "c8 mocha build/test",
+ "precompile": "gts clean"
+ },
+ "dependencies": {
+ "@google-cloud/promisify": "^5.0.0",
+ "arrify": "^2.0.0",
+ "async-mutex": "^0.5.0",
+ "concat-stream": "^2.0.0",
+ "extend": "^3.0.2",
+ "google-gax": "^5.0.2-rc.1",
+ "is": "^3.3.0",
+ "long": "^4.0.0",
+ "protobufjs": "7.4.0",
+ "split-array-stream": "^2.0.0",
+ "stream-events": "^1.0.5"
+ },
+ "devDependencies": {
+ "@google-cloud/storage": "^7.16.0",
+ "@types/extend": "^3.0.4",
+ "@types/is": "^0.0.25",
+ "@types/js-yaml": "^4.0.9",
+ "@types/mocha": "^10.0.10",
+ "@types/node": "^22.15.3",
+ "@types/long": "^4.0.0",
+ "@types/proxyquire": "^1.3.31",
+ "@types/sinon": "^17.0.4",
+ "async": "^3.2.6",
+ "c8": "^10.1.3",
+ "gapic-tools": "^1.0.2",
+ "gts": "^6.0.2",
+ "js-yaml": "^4.1.0",
+ "jsdoc": "^4.0.4",
+ "jsdoc-fresh": "^3.0.0",
+ "jsdoc-region-tag": "^3.0.0",
+ "linkinator": "^6.1.2",
+ "mocha": "^11.1.0",
+ "null-loader": "^4.0.1",
+ "p-queue": "^8.1.0",
+ "pack-n-play": "^3.0.1",
+ "proxyquire": "^2.1.3",
+ "sinon": "^20.0.0",
+ "ts-loader": "^9.5.2",
+ "typescript": "^5.8.3",
+ "webpack-cli": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/handwritten/nodejs-datastore"
+}
diff --git a/handwritten/nodejs-datastore/protos/app_engine_key.proto b/handwritten/nodejs-datastore/protos/app_engine_key.proto
new file mode 100644
index 00000000000..0f62d0124c0
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/app_engine_key.proto
@@ -0,0 +1,16 @@
+syntax = "proto2";
+
+message Reference {
+ required string app = 13;
+ optional string namespace = 20;
+ required Path path = 14;
+ optional string database_id = 23;
+}
+
+message Path {
+ repeated group Element = 1 {
+ required string type = 2;
+ optional int64 id = 3;
+ optional string name = 4;
+ }
+}
diff --git a/handwritten/nodejs-datastore/protos/google/cloud/common_resources.proto b/handwritten/nodejs-datastore/protos/google/cloud/common_resources.proto
new file mode 100644
index 00000000000..56c9f800d5e
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/cloud/common_resources.proto
@@ -0,0 +1,52 @@
+// Copyright 2019 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// This file contains stub messages for common resources in GCP.
+// It is not intended to be directly generated, and is instead used by
+// other tooling to be able to match common resource patterns.
+syntax = "proto3";
+
+package google.cloud;
+
+import "google/api/resource.proto";
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ pattern: "projects/{project}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Organization"
+ pattern: "organizations/{organization}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Folder"
+ pattern: "folders/{folder}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudbilling.googleapis.com/BillingAccount"
+ pattern: "billingAccounts/{billing_account}"
+};
+
+option (google.api.resource_definition) = {
+ type: "locations.googleapis.com/Location"
+ pattern: "projects/{project}/locations/{location}"
+};
+
diff --git a/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/datastore_admin.proto b/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/datastore_admin.proto
new file mode 100644
index 00000000000..50c4d0cc87e
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/datastore_admin.proto
@@ -0,0 +1,506 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.datastore.admin.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/datastore/admin/v1/index.proto";
+import "google/datastore/admin/v1/migration.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Datastore.Admin.V1";
+option go_package = "cloud.google.com/go/datastore/admin/apiv1/adminpb;adminpb";
+option java_multiple_files = true;
+option java_outer_classname = "DatastoreAdminProto";
+option java_package = "com.google.datastore.admin.v1";
+option php_namespace = "Google\\Cloud\\Datastore\\Admin\\V1";
+option ruby_package = "Google::Cloud::Datastore::Admin::V1";
+
+// Google Cloud Datastore Admin API
+//
+// The Datastore Admin API provides several admin services for Cloud Datastore.
+//
+// Concepts: Project, namespace, kind, and entity as defined in the Google Cloud
+// Datastore API.
+//
+// Operation: An Operation represents work being performed in the background.
+//
+// EntityFilter: Allows specifying a subset of entities in a project. This is
+// specified as a combination of kinds and namespaces (either or both of which
+// may be all).
+//
+// Export/Import Service:
+//
+// - The Export/Import service provides the ability to copy all or a subset of
+// entities to/from Google Cloud Storage.
+// - Exported data may be imported into Cloud Datastore for any Google Cloud
+// Platform project. It is not restricted to the export source project. It is
+// possible to export from one project and then import into another.
+// - Exported data can also be loaded into Google BigQuery for analysis.
+// - Exports and imports are performed asynchronously. An Operation resource is
+// created for each export/import. The state (including any errors encountered)
+// of the export/import may be queried via the Operation resource.
+//
+// Index Service:
+//
+// - The index service manages Cloud Datastore composite indexes.
+// - Index creation and deletion are performed asynchronously.
+// An Operation resource is created for each such asynchronous operation.
+// The state of the operation (including any errors encountered)
+// may be queried via the Operation resource.
+//
+// Operation Service:
+//
+// - The Operations collection provides a record of actions performed for the
+// specified project (including any operations in progress). Operations are not
+// created directly but through calls on other collections or resources.
+// - An operation that is not yet done may be cancelled. The request to cancel
+// is asynchronous and the operation may continue to run for some time after the
+// request to cancel is made.
+// - An operation that is done may be deleted so that it is no longer listed as
+// part of the Operation collection.
+// - ListOperations returns all pending operations, but not completed
+// operations.
+// - Operations are created by service DatastoreAdmin, but are accessed via
+// service google.longrunning.Operations.
+service DatastoreAdmin {
+ option (google.api.default_host) = "datastore.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/datastore";
+
+ // Exports a copy of all or a subset of entities from Google Cloud Datastore
+ // to another storage system, such as Google Cloud Storage. Recent updates to
+ // entities may not be reflected in the export. The export occurs in the
+ // background and its progress can be monitored and managed via the
+ // Operation resource that is created. The output of an export may only be
+ // used once the associated operation is done. If an export operation is
+ // cancelled before completion it may leave partial data behind in Google
+ // Cloud Storage.
+ rpc ExportEntities(ExportEntitiesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:export"
+ body: "*"
+ };
+ option (google.api.method_signature) =
+ "project_id,labels,entity_filter,output_url_prefix";
+ option (google.longrunning.operation_info) = {
+ response_type: "ExportEntitiesResponse"
+ metadata_type: "ExportEntitiesMetadata"
+ };
+ }
+
+ // Imports entities into Google Cloud Datastore. Existing entities with the
+ // same key are overwritten. The import occurs in the background and its
+ // progress can be monitored and managed via the Operation resource that is
+ // created. If an ImportEntities operation is cancelled, it is possible
+ // that a subset of the data has already been imported to Cloud Datastore.
+ rpc ImportEntities(ImportEntitiesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:import"
+ body: "*"
+ };
+ option (google.api.method_signature) =
+ "project_id,labels,input_url,entity_filter";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "ImportEntitiesMetadata"
+ };
+ }
+
+ // Creates the specified index.
+ // A newly created index's initial state is `CREATING`. On completion of the
+ // returned [google.longrunning.Operation][google.longrunning.Operation], the
+ // state will be `READY`. If the index already exists, the call will return an
+ // `ALREADY_EXISTS` status.
+ //
+ // During index creation, the process could result in an error, in which
+ // case the index will move to the `ERROR` state. The process can be recovered
+ // by fixing the data that caused the error, removing the index with
+ // [delete][google.datastore.admin.v1.DatastoreAdmin.DeleteIndex], then
+ // re-creating the index with [create]
+ // [google.datastore.admin.v1.DatastoreAdmin.CreateIndex].
+ //
+ // Indexes with a single property cannot be created.
+ rpc CreateIndex(CreateIndexRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}/indexes"
+ body: "index"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Index"
+ metadata_type: "IndexOperationMetadata"
+ };
+ }
+
+ // Deletes an existing index.
+ // An index can only be deleted if it is in a `READY` or `ERROR` state. On
+ // successful execution of the request, the index will be in a `DELETING`
+ // [state][google.datastore.admin.v1.Index.State]. And on completion of the
+ // returned [google.longrunning.Operation][google.longrunning.Operation], the
+ // index will be removed.
+ //
+ // During index deletion, the process could result in an error, in which
+ // case the index will move to the `ERROR` state. The process can be recovered
+ // by fixing the data that caused the error, followed by calling
+ // [delete][google.datastore.admin.v1.DatastoreAdmin.DeleteIndex] again.
+ rpc DeleteIndex(DeleteIndexRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/projects/{project_id}/indexes/{index_id}"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Index"
+ metadata_type: "IndexOperationMetadata"
+ };
+ }
+
+ // Gets an index.
+ rpc GetIndex(GetIndexRequest) returns (Index) {
+ option (google.api.http) = {
+ get: "/v1/projects/{project_id}/indexes/{index_id}"
+ };
+ }
+
+ // Lists the indexes that match the specified filters. Datastore uses an
+ // eventually consistent query to fetch the list of indexes and may
+ // occasionally return stale results.
+ rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse) {
+ option (google.api.http) = {
+ get: "/v1/projects/{project_id}/indexes"
+ };
+ }
+}
+
+// Metadata common to all Datastore Admin operations.
+message CommonMetadata {
+ // The various possible states for an ongoing Operation.
+ enum State {
+ // Unspecified.
+ STATE_UNSPECIFIED = 0;
+
+ // Request is being prepared for processing.
+ INITIALIZING = 1;
+
+ // Request is actively being processed.
+ PROCESSING = 2;
+
+ // Request is in the process of being cancelled after user called
+ // google.longrunning.Operations.CancelOperation on the operation.
+ CANCELLING = 3;
+
+ // Request has been processed and is in its finalization stage.
+ FINALIZING = 4;
+
+ // Request has completed successfully.
+ SUCCESSFUL = 5;
+
+ // Request has finished being processed, but encountered an error.
+ FAILED = 6;
+
+ // Request has finished being cancelled after user called
+ // google.longrunning.Operations.CancelOperation.
+ CANCELLED = 7;
+ }
+
+ // The time that work began on the operation.
+ google.protobuf.Timestamp start_time = 1;
+
+ // The time the operation ended, either successfully or otherwise.
+ google.protobuf.Timestamp end_time = 2;
+
+ // The type of the operation. Can be used as a filter in
+ // ListOperationsRequest.
+ OperationType operation_type = 3;
+
+ // The client-assigned labels which were provided when the operation was
+ // created. May also include additional labels.
+ map labels = 4;
+
+ // The current state of the Operation.
+ State state = 5;
+}
+
+// Measures the progress of a particular metric.
+message Progress {
+ // The amount of work that has been completed. Note that this may be greater
+ // than work_estimated.
+ int64 work_completed = 1;
+
+ // An estimate of how much work needs to be performed. May be zero if the
+ // work estimate is unavailable.
+ int64 work_estimated = 2;
+}
+
+// The request for
+// [google.datastore.admin.v1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1.DatastoreAdmin.ExportEntities].
+message ExportEntitiesRequest {
+ // Required. Project ID against which to make the request.
+ string project_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Client-assigned labels.
+ map labels = 2;
+
+ // Description of what data from the project is included in the export.
+ EntityFilter entity_filter = 3;
+
+ // Required. Location for the export metadata and data files.
+ //
+ // The full resource URL of the external storage location. Currently, only
+ // Google Cloud Storage is supported. So output_url_prefix should be of the
+ // form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the
+ // name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud
+ // Storage namespace path (this is not a Cloud Datastore namespace). For more
+ // information about Cloud Storage namespace paths, see
+ // [Object name
+ // considerations](https://cloud.google.com/storage/docs/naming#object-considerations).
+ //
+ // The resulting files will be nested deeper than the specified URL prefix.
+ // The final output URL will be provided in the
+ // [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url]
+ // field. That value should be used for subsequent ImportEntities operations.
+ //
+ // By nesting the data files deeper, the same Cloud Storage bucket can be used
+ // in multiple ExportEntities operations without conflict.
+ string output_url_prefix = 4 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request for
+// [google.datastore.admin.v1.DatastoreAdmin.ImportEntities][google.datastore.admin.v1.DatastoreAdmin.ImportEntities].
+message ImportEntitiesRequest {
+ // Required. Project ID against which to make the request.
+ string project_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Client-assigned labels.
+ map labels = 2;
+
+ // Required. The full resource URL of the external storage location.
+ // Currently, only Google Cloud Storage is supported. So input_url should be
+ // of the form:
+ // `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where
+ // `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is
+ // an optional Cloud Storage namespace path (this is not a Cloud Datastore
+ // namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written
+ // by the ExportEntities operation. For more information about Cloud Storage
+ // namespace paths, see
+ // [Object name
+ // considerations](https://cloud.google.com/storage/docs/naming#object-considerations).
+ //
+ // For more information, see
+ // [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url].
+ string input_url = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optionally specify which kinds/namespaces are to be imported. If provided,
+ // the list must be a subset of the EntityFilter used in creating the export,
+ // otherwise a FAILED_PRECONDITION error will be returned. If no filter is
+ // specified then all entities from the export are imported.
+ EntityFilter entity_filter = 4;
+}
+
+// The response for
+// [google.datastore.admin.v1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1.DatastoreAdmin.ExportEntities].
+message ExportEntitiesResponse {
+ // Location of the output metadata file. This can be used to begin an import
+ // into Cloud Datastore (this project or another project). See
+ // [google.datastore.admin.v1.ImportEntitiesRequest.input_url][google.datastore.admin.v1.ImportEntitiesRequest.input_url].
+ // Only present if the operation completed successfully.
+ string output_url = 1;
+}
+
+// Metadata for ExportEntities operations.
+message ExportEntitiesMetadata {
+ // Metadata common to all Datastore Admin operations.
+ CommonMetadata common = 1;
+
+ // An estimate of the number of entities processed.
+ Progress progress_entities = 2;
+
+ // An estimate of the number of bytes processed.
+ Progress progress_bytes = 3;
+
+ // Description of which entities are being exported.
+ EntityFilter entity_filter = 4;
+
+ // Location for the export metadata and data files. This will be the same
+ // value as the
+ // [google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix][google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix]
+ // field. The final output location is provided in
+ // [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url].
+ string output_url_prefix = 5;
+}
+
+// Metadata for ImportEntities operations.
+message ImportEntitiesMetadata {
+ // Metadata common to all Datastore Admin operations.
+ CommonMetadata common = 1;
+
+ // An estimate of the number of entities processed.
+ Progress progress_entities = 2;
+
+ // An estimate of the number of bytes processed.
+ Progress progress_bytes = 3;
+
+ // Description of which entities are being imported.
+ EntityFilter entity_filter = 4;
+
+ // The location of the import metadata file. This will be the same value as
+ // the
+ // [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url]
+ // field.
+ string input_url = 5;
+}
+
+// Identifies a subset of entities in a project. This is specified as
+// combinations of kinds and namespaces (either or both of which may be all, as
+// described in the following examples).
+// Example usage:
+//
+// Entire project:
+// kinds=[], namespace_ids=[]
+//
+// Kinds Foo and Bar in all namespaces:
+// kinds=['Foo', 'Bar'], namespace_ids=[]
+//
+// Kinds Foo and Bar only in the default namespace:
+// kinds=['Foo', 'Bar'], namespace_ids=['']
+//
+// Kinds Foo and Bar in both the default and Baz namespaces:
+// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']
+//
+// The entire Baz namespace:
+// kinds=[], namespace_ids=['Baz']
+message EntityFilter {
+ // If empty, then this represents all kinds.
+ repeated string kinds = 1;
+
+ // An empty list represents all namespaces. This is the preferred
+ // usage for projects that don't use namespaces.
+ //
+ // An empty string element represents the default namespace. This should be
+ // used if the project has data in non-default namespaces, but doesn't want to
+ // include them.
+ // Each namespace in this list must be unique.
+ repeated string namespace_ids = 2;
+}
+
+// The request for
+// [google.datastore.admin.v1.DatastoreAdmin.CreateIndex][google.datastore.admin.v1.DatastoreAdmin.CreateIndex].
+message CreateIndexRequest {
+ // Project ID against which to make the request.
+ string project_id = 1;
+
+ // The index to create. The name and state fields are output only and will be
+ // ignored. Single property indexes cannot be created or deleted.
+ Index index = 3;
+}
+
+// The request for
+// [google.datastore.admin.v1.DatastoreAdmin.DeleteIndex][google.datastore.admin.v1.DatastoreAdmin.DeleteIndex].
+message DeleteIndexRequest {
+ // Project ID against which to make the request.
+ string project_id = 1;
+
+ // The resource ID of the index to delete.
+ string index_id = 3;
+}
+
+// The request for
+// [google.datastore.admin.v1.DatastoreAdmin.GetIndex][google.datastore.admin.v1.DatastoreAdmin.GetIndex].
+message GetIndexRequest {
+ // Project ID against which to make the request.
+ string project_id = 1;
+
+ // The resource ID of the index to get.
+ string index_id = 3;
+}
+
+// The request for
+// [google.datastore.admin.v1.DatastoreAdmin.ListIndexes][google.datastore.admin.v1.DatastoreAdmin.ListIndexes].
+message ListIndexesRequest {
+ // Project ID against which to make the request.
+ string project_id = 1;
+
+ string filter = 3;
+
+ // The maximum number of items to return. If zero, then all results will be
+ // returned.
+ int32 page_size = 4;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 5;
+}
+
+// The response for
+// [google.datastore.admin.v1.DatastoreAdmin.ListIndexes][google.datastore.admin.v1.DatastoreAdmin.ListIndexes].
+message ListIndexesResponse {
+ // The indexes.
+ repeated Index indexes = 1;
+
+ // The standard List next-page token.
+ string next_page_token = 2;
+}
+
+// Metadata for Index operations.
+message IndexOperationMetadata {
+ // Metadata common to all Datastore Admin operations.
+ CommonMetadata common = 1;
+
+ // An estimate of the number of entities processed.
+ Progress progress_entities = 2;
+
+ // The index resource ID that this operation is acting on.
+ string index_id = 3;
+}
+
+// Metadata for Datastore to Firestore migration operations.
+//
+// The DatastoreFirestoreMigration operation is not started by the end-user via
+// an explicit "creation" method. This is an intentional deviation from the LRO
+// design pattern.
+//
+// This singleton resource can be accessed at:
+// "projects/{project_id}/operations/datastore-firestore-migration"
+message DatastoreFirestoreMigrationMetadata {
+ // The current state of migration from Cloud Datastore to Cloud Firestore in
+ // Datastore mode.
+ MigrationState migration_state = 1;
+
+ // The current step of migration from Cloud Datastore to Cloud Firestore in
+ // Datastore mode.
+ MigrationStep migration_step = 2;
+}
+
+// Operation types.
+enum OperationType {
+ // Unspecified.
+ OPERATION_TYPE_UNSPECIFIED = 0;
+
+ // ExportEntities.
+ EXPORT_ENTITIES = 1;
+
+ // ImportEntities.
+ IMPORT_ENTITIES = 2;
+
+ // CreateIndex.
+ CREATE_INDEX = 3;
+
+ // DeleteIndex.
+ DELETE_INDEX = 4;
+}
diff --git a/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/index.proto b/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/index.proto
new file mode 100644
index 00000000000..c907660568c
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/index.proto
@@ -0,0 +1,122 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.datastore.admin.v1;
+
+import "google/api/field_behavior.proto";
+
+option csharp_namespace = "Google.Cloud.Datastore.Admin.V1";
+option go_package = "cloud.google.com/go/datastore/admin/apiv1/adminpb;adminpb";
+option java_multiple_files = true;
+option java_outer_classname = "IndexProto";
+option java_package = "com.google.datastore.admin.v1";
+option php_namespace = "Google\\Cloud\\Datastore\\Admin\\V1";
+option ruby_package = "Google::Cloud::Datastore::Admin::V1";
+
+// Datastore composite index definition.
+message Index {
+ // For an ordered index, specifies whether each of the entity's ancestors
+ // will be included.
+ enum AncestorMode {
+ // The ancestor mode is unspecified.
+ ANCESTOR_MODE_UNSPECIFIED = 0;
+
+ // Do not include the entity's ancestors in the index.
+ NONE = 1;
+
+ // Include all the entity's ancestors in the index.
+ ALL_ANCESTORS = 2;
+ }
+
+ // The direction determines how a property is indexed.
+ enum Direction {
+ // The direction is unspecified.
+ DIRECTION_UNSPECIFIED = 0;
+
+ // The property's values are indexed so as to support sequencing in
+ // ascending order and also query by <, >, <=, >=, and =.
+ ASCENDING = 1;
+
+ // The property's values are indexed so as to support sequencing in
+ // descending order and also query by <, >, <=, >=, and =.
+ DESCENDING = 2;
+ }
+
+ // A property of an index.
+ message IndexedProperty {
+ // Required. The property name to index.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The indexed property's direction. Must not be
+ // DIRECTION_UNSPECIFIED.
+ Direction direction = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // The possible set of states of an index.
+ enum State {
+ // The state is unspecified.
+ STATE_UNSPECIFIED = 0;
+
+ // The index is being created, and cannot be used by queries.
+ // There is an active long-running operation for the index.
+ // The index is updated when writing an entity.
+ // Some index data may exist.
+ CREATING = 1;
+
+ // The index is ready to be used.
+ // The index is updated when writing an entity.
+ // The index is fully populated from all stored entities it applies to.
+ READY = 2;
+
+ // The index is being deleted, and cannot be used by queries.
+ // There is an active long-running operation for the index.
+ // The index is not updated when writing an entity.
+ // Some index data may exist.
+ DELETING = 3;
+
+ // The index was being created or deleted, but something went wrong.
+ // The index cannot by used by queries.
+ // There is no active long-running operation for the index,
+ // and the most recently finished long-running operation failed.
+ // The index is not updated when writing an entity.
+ // Some index data may exist.
+ ERROR = 4;
+ }
+
+ // Output only. Project ID.
+ string project_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The resource ID of the index.
+ string index_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The entity kind to which this index applies.
+ string kind = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The index's ancestor mode. Must not be
+ // ANCESTOR_MODE_UNSPECIFIED.
+ AncestorMode ancestor = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. An ordered sequence of property names and their index attributes.
+ //
+ // Requires:
+ //
+ // * A maximum of 100 properties.
+ repeated IndexedProperty properties = 6
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. The state of the index.
+ State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/migration.proto b/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/migration.proto
new file mode 100644
index 00000000000..67ac1ab711d
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/datastore/admin/v1/migration.proto
@@ -0,0 +1,124 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.datastore.admin.v1;
+
+option csharp_namespace = "Google.Cloud.Datastore.Admin.V1";
+option go_package = "cloud.google.com/go/datastore/admin/apiv1/adminpb;adminpb";
+option java_multiple_files = true;
+option java_outer_classname = "MigrationProto";
+option java_package = "com.google.datastore.admin.v1";
+option php_namespace = "Google\\Cloud\\Datastore\\Admin\\V1";
+option ruby_package = "Google::Cloud::Datastore::Admin::V1";
+
+// An event signifying a change in state of a [migration from Cloud Datastore to
+// Cloud Firestore in Datastore
+// mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).
+message MigrationStateEvent {
+ // The new state of the migration.
+ MigrationState state = 1;
+}
+
+// An event signifying the start of a new step in a [migration from Cloud
+// Datastore to Cloud Firestore in Datastore
+// mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).
+message MigrationProgressEvent {
+ // Concurrency modes for transactions in Cloud Firestore.
+ enum ConcurrencyMode {
+ // Unspecified.
+ CONCURRENCY_MODE_UNSPECIFIED = 0;
+
+ // Pessimistic concurrency.
+ PESSIMISTIC = 1;
+
+ // Optimistic concurrency.
+ OPTIMISTIC = 2;
+
+ // Optimistic concurrency with entity groups.
+ OPTIMISTIC_WITH_ENTITY_GROUPS = 3;
+ }
+
+ // Details for the `PREPARE` step.
+ message PrepareStepDetails {
+ // The concurrency mode this database will use when it reaches the
+ // `REDIRECT_WRITES` step.
+ ConcurrencyMode concurrency_mode = 1;
+ }
+
+ // Details for the `REDIRECT_WRITES` step.
+ message RedirectWritesStepDetails {
+ // Ths concurrency mode for this database.
+ ConcurrencyMode concurrency_mode = 1;
+ }
+
+ // The step that is starting.
+ //
+ // An event with step set to `START` indicates that the migration
+ // has been reverted back to the initial pre-migration state.
+ MigrationStep step = 1;
+
+ // Details about this step.
+ oneof step_details {
+ // Details for the `PREPARE` step.
+ PrepareStepDetails prepare_step_details = 2;
+
+ // Details for the `REDIRECT_WRITES` step.
+ RedirectWritesStepDetails redirect_writes_step_details = 3;
+ }
+}
+
+// States for a migration.
+enum MigrationState {
+ // Unspecified.
+ MIGRATION_STATE_UNSPECIFIED = 0;
+
+ // The migration is running.
+ RUNNING = 1;
+
+ // The migration is paused.
+ PAUSED = 2;
+
+ // The migration is complete.
+ COMPLETE = 3;
+}
+
+// Steps in a migration.
+enum MigrationStep {
+ // Unspecified.
+ MIGRATION_STEP_UNSPECIFIED = 0;
+
+ // Pre-migration: the database is prepared for migration.
+ PREPARE = 6;
+
+ // Start of migration.
+ START = 1;
+
+ // Writes are applied synchronously to at least one replica.
+ APPLY_WRITES_SYNCHRONOUSLY = 7;
+
+ // Data is copied to Cloud Firestore and then verified to match the data in
+ // Cloud Datastore.
+ COPY_AND_VERIFY = 2;
+
+ // Eventually-consistent reads are redirected to Cloud Firestore.
+ REDIRECT_EVENTUALLY_CONSISTENT_READS = 3;
+
+ // Strongly-consistent reads are redirected to Cloud Firestore.
+ REDIRECT_STRONGLY_CONSISTENT_READS = 4;
+
+ // Writes are redirected to Cloud Firestore.
+ REDIRECT_WRITES = 5;
+}
diff --git a/handwritten/nodejs-datastore/protos/google/datastore/v1/aggregation_result.proto b/handwritten/nodejs-datastore/protos/google/datastore/v1/aggregation_result.proto
new file mode 100644
index 00000000000..cd51f660c41
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/datastore/v1/aggregation_result.proto
@@ -0,0 +1,62 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.datastore.v1;
+
+import "google/datastore/v1/entity.proto";
+import "google/datastore/v1/query.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Datastore.V1";
+option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb";
+option java_multiple_files = true;
+option java_outer_classname = "AggregationResultProto";
+option java_package = "com.google.datastore.v1";
+option php_namespace = "Google\\Cloud\\Datastore\\V1";
+option ruby_package = "Google::Cloud::Datastore::V1";
+
+// The result of a single bucket from a Datastore aggregation query.
+//
+// The keys of `aggregate_properties` are the same for all results in an
+// aggregation query, unlike entity queries which can have different fields
+// present for each result.
+message AggregationResult {
+ // The result of the aggregation functions, ex: `COUNT(*) AS total_entities`.
+ //
+ // The key is the
+ // [alias][google.datastore.v1.AggregationQuery.Aggregation.alias] assigned to
+ // the aggregation function on input and the size of this map equals the
+ // number of aggregation functions in the query.
+ map aggregate_properties = 2;
+}
+
+// A batch of aggregation results produced by an aggregation query.
+message AggregationResultBatch {
+ // The aggregation results for this batch.
+ repeated AggregationResult aggregation_results = 1;
+
+ // The state of the query after the current batch.
+ // Only COUNT(*) aggregations are supported in the initial launch. Therefore,
+ // expected result type is limited to `NO_MORE_RESULTS`.
+ QueryResultBatch.MoreResultsType more_results = 2;
+
+ // Read timestamp this batch was returned from.
+ //
+ // In a single transaction, subsequent query result batches for the same query
+ // can have a greater timestamp. Each batch's read timestamp
+ // is valid for all preceding batches.
+ google.protobuf.Timestamp read_time = 3;
+}
diff --git a/handwritten/nodejs-datastore/protos/google/datastore/v1/datastore.proto b/handwritten/nodejs-datastore/protos/google/datastore/v1/datastore.proto
new file mode 100644
index 00000000000..c0a281b1879
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/datastore/v1/datastore.proto
@@ -0,0 +1,810 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.datastore.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/routing.proto";
+import "google/datastore/v1/aggregation_result.proto";
+import "google/datastore/v1/entity.proto";
+import "google/datastore/v1/query.proto";
+import "google/datastore/v1/query_profile.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Datastore.V1";
+option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb";
+option java_multiple_files = true;
+option java_outer_classname = "DatastoreProto";
+option java_package = "com.google.datastore.v1";
+option php_namespace = "Google\\Cloud\\Datastore\\V1";
+option ruby_package = "Google::Cloud::Datastore::V1";
+
+// Each RPC normalizes the partition IDs of the keys in its input entities,
+// and always returns entities with keys with normalized partition IDs.
+// This applies to all keys and entities, including those in values, except keys
+// with both an empty path and an empty or unset partition ID. Normalization of
+// input keys sets the project ID (if not already set) to the project ID from
+// the request.
+//
+service Datastore {
+ option (google.api.default_host) = "datastore.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/datastore";
+
+ // Looks up entities by key.
+ rpc Lookup(LookupRequest) returns (LookupResponse) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:lookup"
+ body: "*"
+ };
+ option (google.api.routing) = {
+ routing_parameters { field: "project_id" }
+ routing_parameters { field: "database_id" }
+ };
+ option (google.api.method_signature) = "project_id,read_options,keys";
+ }
+
+ // Queries for entities.
+ rpc RunQuery(RunQueryRequest) returns (RunQueryResponse) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:runQuery"
+ body: "*"
+ };
+ option (google.api.routing) = {
+ routing_parameters { field: "project_id" }
+ routing_parameters { field: "database_id" }
+ };
+ }
+
+ // Runs an aggregation query.
+ rpc RunAggregationQuery(RunAggregationQueryRequest)
+ returns (RunAggregationQueryResponse) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:runAggregationQuery"
+ body: "*"
+ };
+ option (google.api.routing) = {
+ routing_parameters { field: "project_id" }
+ routing_parameters { field: "database_id" }
+ };
+ }
+
+ // Begins a new transaction.
+ rpc BeginTransaction(BeginTransactionRequest)
+ returns (BeginTransactionResponse) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:beginTransaction"
+ body: "*"
+ };
+ option (google.api.routing) = {
+ routing_parameters { field: "project_id" }
+ routing_parameters { field: "database_id" }
+ };
+ option (google.api.method_signature) = "project_id";
+ }
+
+ // Commits a transaction, optionally creating, deleting or modifying some
+ // entities.
+ rpc Commit(CommitRequest) returns (CommitResponse) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:commit"
+ body: "*"
+ };
+ option (google.api.routing) = {
+ routing_parameters { field: "project_id" }
+ routing_parameters { field: "database_id" }
+ };
+ option (google.api.method_signature) =
+ "project_id,mode,transaction,mutations";
+ option (google.api.method_signature) = "project_id,mode,mutations";
+ }
+
+ // Rolls back a transaction.
+ rpc Rollback(RollbackRequest) returns (RollbackResponse) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:rollback"
+ body: "*"
+ };
+ option (google.api.routing) = {
+ routing_parameters { field: "project_id" }
+ routing_parameters { field: "database_id" }
+ };
+ option (google.api.method_signature) = "project_id,transaction";
+ }
+
+ // Allocates IDs for the given keys, which is useful for referencing an entity
+ // before it is inserted.
+ rpc AllocateIds(AllocateIdsRequest) returns (AllocateIdsResponse) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:allocateIds"
+ body: "*"
+ };
+ option (google.api.routing) = {
+ routing_parameters { field: "project_id" }
+ routing_parameters { field: "database_id" }
+ };
+ option (google.api.method_signature) = "project_id,keys";
+ }
+
+ // Prevents the supplied keys' IDs from being auto-allocated by Cloud
+ // Datastore.
+ rpc ReserveIds(ReserveIdsRequest) returns (ReserveIdsResponse) {
+ option (google.api.http) = {
+ post: "/v1/projects/{project_id}:reserveIds"
+ body: "*"
+ };
+ option (google.api.routing) = {
+ routing_parameters { field: "project_id" }
+ routing_parameters { field: "database_id" }
+ };
+ option (google.api.method_signature) = "project_id,keys";
+ }
+}
+
+// The request for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].
+message LookupRequest {
+ // Required. The ID of the project against which to make the request.
+ string project_id = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID of the database against which to make the request.
+ //
+ // '(default)' is not allowed; please use empty string '' to refer the default
+ // database.
+ string database_id = 9;
+
+ // The options for this lookup request.
+ ReadOptions read_options = 1;
+
+ // Required. Keys of entities to look up.
+ repeated Key keys = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The properties to return. Defaults to returning all properties.
+ //
+ // If this field is set and an entity has a property not referenced in the
+ // mask, it will be absent from [LookupResponse.found.entity.properties][].
+ //
+ // The entity's key is always returned.
+ PropertyMask property_mask = 5;
+}
+
+// The response for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].
+message LookupResponse {
+ // Entities found as `ResultType.FULL` entities. The order of results in this
+ // field is undefined and has no relation to the order of the keys in the
+ // input.
+ repeated EntityResult found = 1;
+
+ // Entities not found as `ResultType.KEY_ONLY` entities. The order of results
+ // in this field is undefined and has no relation to the order of the keys
+ // in the input.
+ repeated EntityResult missing = 2;
+
+ // A list of keys that were not looked up due to resource constraints. The
+ // order of results in this field is undefined and has no relation to the
+ // order of the keys in the input.
+ repeated Key deferred = 3;
+
+ // The identifier of the transaction that was started as part of this Lookup
+ // request.
+ //
+ // Set only when
+ // [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction]
+ // was set in
+ // [LookupRequest.read_options][google.datastore.v1.LookupRequest.read_options].
+ bytes transaction = 5;
+
+ // The time at which these entities were read or found missing.
+ google.protobuf.Timestamp read_time = 7;
+}
+
+// The request for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery].
+message RunQueryRequest {
+ // Required. The ID of the project against which to make the request.
+ string project_id = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID of the database against which to make the request.
+ //
+ // '(default)' is not allowed; please use empty string '' to refer the default
+ // database.
+ string database_id = 9;
+
+ // Entities are partitioned into subsets, identified by a partition ID.
+ // Queries are scoped to a single partition.
+ // This partition ID is normalized with the standard default context
+ // partition ID.
+ PartitionId partition_id = 2;
+
+ // The options for this query.
+ ReadOptions read_options = 1;
+
+ // The type of query.
+ oneof query_type {
+ // The query to run.
+ Query query = 3;
+
+ // The GQL query to run. This query must be a non-aggregation query.
+ GqlQuery gql_query = 7;
+ }
+
+ // The properties to return.
+ // This field must not be set for a projection query.
+ //
+ // See
+ // [LookupRequest.property_mask][google.datastore.v1.LookupRequest.property_mask].
+ PropertyMask property_mask = 10;
+
+ // Optional. Explain options for the query. If set, additional query
+ // statistics will be returned. If not, only query results will be returned.
+ ExplainOptions explain_options = 12 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response for
+// [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery].
+message RunQueryResponse {
+ // A batch of query results (always present).
+ QueryResultBatch batch = 1;
+
+ // The parsed form of the `GqlQuery` from the request, if it was set.
+ Query query = 2;
+
+ // The identifier of the transaction that was started as part of this
+ // RunQuery request.
+ //
+ // Set only when
+ // [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction]
+ // was set in
+ // [RunQueryRequest.read_options][google.datastore.v1.RunQueryRequest.read_options].
+ bytes transaction = 5;
+
+ // Query explain metrics. This is only present when the
+ // [RunQueryRequest.explain_options][google.datastore.v1.RunQueryRequest.explain_options]
+ // is provided, and it is sent only once with the last response in the stream.
+ ExplainMetrics explain_metrics = 9;
+}
+
+// The request for
+// [Datastore.RunAggregationQuery][google.datastore.v1.Datastore.RunAggregationQuery].
+message RunAggregationQueryRequest {
+ // Required. The ID of the project against which to make the request.
+ string project_id = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID of the database against which to make the request.
+ //
+ // '(default)' is not allowed; please use empty string '' to refer the default
+ // database.
+ string database_id = 9;
+
+ // Entities are partitioned into subsets, identified by a partition ID.
+ // Queries are scoped to a single partition.
+ // This partition ID is normalized with the standard default context
+ // partition ID.
+ PartitionId partition_id = 2;
+
+ // The options for this query.
+ ReadOptions read_options = 1;
+
+ // The type of query.
+ oneof query_type {
+ // The query to run.
+ AggregationQuery aggregation_query = 3;
+
+ // The GQL query to run. This query must be an aggregation query.
+ GqlQuery gql_query = 7;
+ }
+
+ // Optional. Explain options for the query. If set, additional query
+ // statistics will be returned. If not, only query results will be returned.
+ ExplainOptions explain_options = 11 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response for
+// [Datastore.RunAggregationQuery][google.datastore.v1.Datastore.RunAggregationQuery].
+message RunAggregationQueryResponse {
+ // A batch of aggregation results. Always present.
+ AggregationResultBatch batch = 1;
+
+ // The parsed form of the `GqlQuery` from the request, if it was set.
+ AggregationQuery query = 2;
+
+ // The identifier of the transaction that was started as part of this
+ // RunAggregationQuery request.
+ //
+ // Set only when
+ // [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction]
+ // was set in
+ // [RunAggregationQueryRequest.read_options][google.datastore.v1.RunAggregationQueryRequest.read_options].
+ bytes transaction = 5;
+
+ // Query explain metrics. This is only present when the
+ // [RunAggregationQueryRequest.explain_options][google.datastore.v1.RunAggregationQueryRequest.explain_options]
+ // is provided, and it is sent only once with the last response in the stream.
+ ExplainMetrics explain_metrics = 9;
+}
+
+// The request for
+// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
+message BeginTransactionRequest {
+ // Required. The ID of the project against which to make the request.
+ string project_id = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID of the database against which to make the request.
+ //
+ // '(default)' is not allowed; please use empty string '' to refer the default
+ // database.
+ string database_id = 9;
+
+ // Options for a new transaction.
+ TransactionOptions transaction_options = 10;
+}
+
+// The response for
+// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
+message BeginTransactionResponse {
+ // The transaction identifier (always present).
+ bytes transaction = 1;
+}
+
+// The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
+message RollbackRequest {
+ // Required. The ID of the project against which to make the request.
+ string project_id = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID of the database against which to make the request.
+ //
+ // '(default)' is not allowed; please use empty string '' to refer the default
+ // database.
+ string database_id = 9;
+
+ // Required. The transaction identifier, returned by a call to
+ // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
+ bytes transaction = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The response for
+// [Datastore.Rollback][google.datastore.v1.Datastore.Rollback]. (an empty
+// message).
+message RollbackResponse {}
+
+// The request for [Datastore.Commit][google.datastore.v1.Datastore.Commit].
+message CommitRequest {
+ // The modes available for commits.
+ enum Mode {
+ // Unspecified. This value must not be used.
+ MODE_UNSPECIFIED = 0;
+
+ // Transactional: The mutations are either all applied, or none are applied.
+ // Learn about transactions
+ // [here](https://cloud.google.com/datastore/docs/concepts/transactions).
+ TRANSACTIONAL = 1;
+
+ // Non-transactional: The mutations may not apply as all or none.
+ NON_TRANSACTIONAL = 2;
+ }
+
+ // Required. The ID of the project against which to make the request.
+ string project_id = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID of the database against which to make the request.
+ //
+ // '(default)' is not allowed; please use empty string '' to refer the default
+ // database.
+ string database_id = 9;
+
+ // The type of commit to perform. Defaults to `TRANSACTIONAL`.
+ Mode mode = 5;
+
+ // Must be set when mode is `TRANSACTIONAL`.
+ oneof transaction_selector {
+ // The identifier of the transaction associated with the commit. A
+ // transaction identifier is returned by a call to
+ // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
+ bytes transaction = 1;
+
+ // Options for beginning a new transaction for this request.
+ // The transaction is committed when the request completes. If specified,
+ // [TransactionOptions.mode][google.datastore.v1.TransactionOptions] must be
+ // [TransactionOptions.ReadWrite][google.datastore.v1.TransactionOptions.ReadWrite].
+ TransactionOptions single_use_transaction = 10;
+ }
+
+ // The mutations to perform.
+ //
+ // When mode is `TRANSACTIONAL`, mutations affecting a single entity are
+ // applied in order. The following sequences of mutations affecting a single
+ // entity are not permitted in a single `Commit` request:
+ //
+ // - `insert` followed by `insert`
+ // - `update` followed by `insert`
+ // - `upsert` followed by `insert`
+ // - `delete` followed by `update`
+ //
+ // When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
+ // entity.
+ repeated Mutation mutations = 6;
+}
+
+// The response for [Datastore.Commit][google.datastore.v1.Datastore.Commit].
+message CommitResponse {
+ // The result of performing the mutations.
+ // The i-th mutation result corresponds to the i-th mutation in the request.
+ repeated MutationResult mutation_results = 3;
+
+ // The number of index entries updated during the commit, or zero if none were
+ // updated.
+ int32 index_updates = 4;
+
+ // The transaction commit timestamp. Not set for non-transactional commits.
+ google.protobuf.Timestamp commit_time = 8;
+}
+
+// The request for
+// [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
+message AllocateIdsRequest {
+ // Required. The ID of the project against which to make the request.
+ string project_id = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID of the database against which to make the request.
+ //
+ // '(default)' is not allowed; please use empty string '' to refer the default
+ // database.
+ string database_id = 9;
+
+ // Required. A list of keys with incomplete key paths for which to allocate
+ // IDs. No key may be reserved/read-only.
+ repeated Key keys = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The response for
+// [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
+message AllocateIdsResponse {
+ // The keys specified in the request (in the same order), each with
+ // its key path completed with a newly allocated ID.
+ repeated Key keys = 1;
+}
+
+// The request for
+// [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds].
+message ReserveIdsRequest {
+ // Required. The ID of the project against which to make the request.
+ string project_id = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID of the database against which to make the request.
+ //
+ // '(default)' is not allowed; please use empty string '' to refer the default
+ // database.
+ string database_id = 9;
+
+ // Required. A list of keys with complete key paths whose numeric IDs should
+ // not be auto-allocated.
+ repeated Key keys = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The response for
+// [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds].
+message ReserveIdsResponse {}
+
+// A mutation to apply to an entity.
+message Mutation {
+ // The possible ways to resolve a conflict detected in a mutation.
+ enum ConflictResolutionStrategy {
+ // Unspecified. Defaults to `SERVER_VALUE`.
+ STRATEGY_UNSPECIFIED = 0;
+
+ // The server entity is kept.
+ SERVER_VALUE = 1;
+
+ // The whole commit request fails.
+ FAIL = 3;
+ }
+
+ // The mutation operation.
+ //
+ // For `insert`, `update`, and `upsert`:
+ // - The entity's key must not be reserved/read-only.
+ // - No property in the entity may have a reserved name,
+ // not even a property in an entity in a value.
+ // - No value in the entity may have meaning 18,
+ // not even a value in an entity in another value.
+ oneof operation {
+ // The entity to insert. The entity must not already exist.
+ // The entity key's final path element may be incomplete.
+ Entity insert = 4;
+
+ // The entity to update. The entity must already exist.
+ // Must have a complete key path.
+ Entity update = 5;
+
+ // The entity to upsert. The entity may or may not already exist.
+ // The entity key's final path element may be incomplete.
+ Entity upsert = 6;
+
+ // The key of the entity to delete. The entity may or may not already exist.
+ // Must have a complete key path and must not be reserved/read-only.
+ Key delete = 7;
+ }
+
+ // When set, the server will detect whether or not this mutation conflicts
+ // with the current version of the entity on the server. Conflicting mutations
+ // are not applied, and are marked as such in MutationResult.
+ oneof conflict_detection_strategy {
+ // The version of the entity that this mutation is being applied
+ // to. If this does not match the current version on the server, the
+ // mutation conflicts.
+ int64 base_version = 8;
+
+ // The update time of the entity that this mutation is being applied
+ // to. If this does not match the current update time on the server, the
+ // mutation conflicts.
+ google.protobuf.Timestamp update_time = 11;
+ }
+
+ // The strategy to use when a conflict is detected. Defaults to
+ // `SERVER_VALUE`.
+ // If this is set, then `conflict_detection_strategy` must also be set.
+ ConflictResolutionStrategy conflict_resolution_strategy = 10;
+
+ // The properties to write in this mutation.
+ // None of the properties in the mask may have a reserved name, except for
+ // `__key__`.
+ // This field is ignored for `delete`.
+ //
+ // If the entity already exists, only properties referenced in the mask are
+ // updated, others are left untouched.
+ // Properties referenced in the mask but not in the entity are deleted.
+ PropertyMask property_mask = 9;
+
+ // Optional. The transforms to perform on the entity.
+ //
+ // This field can be set only when the operation is `insert`, `update`,
+ // or `upsert`. If present, the transforms are be applied to the entity
+ // regardless of the property mask, in order, after the operation.
+ repeated PropertyTransform property_transforms = 12
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A transformation of an entity property.
+message PropertyTransform {
+ // A value that is calculated by the server.
+ enum ServerValue {
+ // Unspecified. This value must not be used.
+ SERVER_VALUE_UNSPECIFIED = 0;
+
+ // The time at which the server processed the request, with millisecond
+ // precision. If used on multiple properties (same or different entities)
+ // in a transaction, all the properties will get the same server timestamp.
+ REQUEST_TIME = 1;
+ }
+
+ // Optional. The name of the property.
+ //
+ // Property paths (a list of property names separated by dots (`.`)) may be
+ // used to refer to properties inside entity values. For example `foo.bar`
+ // means the property `bar` inside the entity property `foo`.
+ //
+ // If a property name contains a dot `.` or a backlslash `\`, then that name
+ // must be escaped.
+ string property = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // The transformation to apply to the property.
+ oneof transform_type {
+ // Sets the property to the given server value.
+ ServerValue set_to_server_value = 2;
+
+ // Adds the given value to the property's current value.
+ //
+ // This must be an integer or a double value.
+ // If the property is not an integer or double, or if the property does not
+ // yet exist, the transformation will set the property to the given value.
+ // If either of the given value or the current property value are doubles,
+ // both values will be interpreted as doubles. Double arithmetic and
+ // representation of double values follows IEEE 754 semantics.
+ // If there is positive/negative integer overflow, the property is resolved
+ // to the largest magnitude positive/negative integer.
+ Value increment = 3;
+
+ // Sets the property to the maximum of its current value and the given
+ // value.
+ //
+ // This must be an integer or a double value.
+ // If the property is not an integer or double, or if the property does not
+ // yet exist, the transformation will set the property to the given value.
+ // If a maximum operation is applied where the property and the input value
+ // are of mixed types (that is - one is an integer and one is a double)
+ // the property takes on the type of the larger operand. If the operands are
+ // equivalent (e.g. 3 and 3.0), the property does not change.
+ // 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ // zero input value is always the stored value.
+ // The maximum of any numeric value x and NaN is NaN.
+ Value maximum = 4;
+
+ // Sets the property to the minimum of its current value and the given
+ // value.
+ //
+ // This must be an integer or a double value.
+ // If the property is not an integer or double, or if the property does not
+ // yet exist, the transformation will set the property to the input value.
+ // If a minimum operation is applied where the property and the input value
+ // are of mixed types (that is - one is an integer and one is a double)
+ // the property takes on the type of the smaller operand. If the operands
+ // are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ // and -0.0 are all zero. The minimum of a zero stored value and zero input
+ // value is always the stored value. The minimum of any numeric value x and
+ // NaN is NaN.
+ Value minimum = 5;
+
+ // Appends the given elements in order if they are not already present in
+ // the current property value.
+ // If the property is not an array, or if the property does not yet exist,
+ // it is first set to the empty array.
+ //
+ // Equivalent numbers of different types (e.g. 3L and 3.0) are
+ // considered equal when checking if a value is missing.
+ // NaN is equal to NaN, and the null value is equal to the null value.
+ // If the input contains multiple equivalent values, only the first will
+ // be considered.
+ //
+ // The corresponding transform result will be the null value.
+ ArrayValue append_missing_elements = 6;
+
+ // Removes all of the given elements from the array in the property.
+ // If the property is not an array, or if the property does not yet exist,
+ // it is set to the empty array.
+ //
+ // Equivalent numbers of different types (e.g. 3L and 3.0) are
+ // considered equal when deciding whether an element should be removed.
+ // NaN is equal to NaN, and the null value is equal to the null value.
+ // This will remove all equivalent values if there are duplicates.
+ //
+ // The corresponding transform result will be the null value.
+ ArrayValue remove_all_from_array = 7;
+ }
+}
+
+// The result of applying a mutation.
+message MutationResult {
+ // The automatically allocated key.
+ // Set only when the mutation allocated a key.
+ Key key = 3;
+
+ // The version of the entity on the server after processing the mutation. If
+ // the mutation doesn't change anything on the server, then the version will
+ // be the version of the current entity or, if no entity is present, a version
+ // that is strictly greater than the version of any previous entity and less
+ // than the version of any possible future entity.
+ int64 version = 4;
+
+ // The create time of the entity. This field will not be set after a 'delete'.
+ google.protobuf.Timestamp create_time = 7;
+
+ // The update time of the entity on the server after processing the mutation.
+ // If the mutation doesn't change anything on the server, then the timestamp
+ // will be the update timestamp of the current entity. This field will not be
+ // set after a 'delete'.
+ google.protobuf.Timestamp update_time = 6;
+
+ // Whether a conflict was detected for this mutation. Always false when a
+ // conflict detection strategy field is not set in the mutation.
+ bool conflict_detected = 5;
+
+ // The results of applying each
+ // [PropertyTransform][google.datastore.v1.PropertyTransform], in the same
+ // order of the request.
+ repeated Value transform_results = 8;
+}
+
+// The set of arbitrarily nested property paths used to restrict an operation to
+// only a subset of properties in an entity.
+message PropertyMask {
+ // The paths to the properties covered by this mask.
+ //
+ // A path is a list of property names separated by dots (`.`), for example
+ // `foo.bar` means the property `bar` inside the entity property `foo` inside
+ // the entity associated with this path.
+ //
+ // If a property name contains a dot `.` or a backslash `\`, then that
+ // name must be escaped.
+ //
+ // A path must not be empty, and may not reference a value inside an
+ // [array value][google.datastore.v1.Value.array_value].
+ repeated string paths = 1;
+}
+
+// The options shared by read requests.
+message ReadOptions {
+ // The possible values for read consistencies.
+ enum ReadConsistency {
+ // Unspecified. This value must not be used.
+ READ_CONSISTENCY_UNSPECIFIED = 0;
+
+ // Strong consistency.
+ STRONG = 1;
+
+ // Eventual consistency.
+ EVENTUAL = 2;
+ }
+
+ // For Cloud Firestore in Datastore mode, if you don't specify
+ // read_consistency then all lookups and queries default to
+ // `read_consistency`=`STRONG`. Note that, in Cloud Datastore, global queries
+ // defaulted to `read_consistency`=`EVENTUAL`.
+ //
+ // Explicitly setting `read_consistency`=`EVENTUAL` will result in eventually
+ // consistent lookups and queries.
+ oneof consistency_type {
+ // The non-transactional read consistency to use.
+ ReadConsistency read_consistency = 1;
+
+ // The identifier of the transaction in which to read. A
+ // transaction identifier is returned by a call to
+ // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
+ bytes transaction = 2;
+
+ // Options for beginning a new transaction for this request.
+ //
+ // The new transaction identifier will be returned in the corresponding
+ // response as either
+ // [LookupResponse.transaction][google.datastore.v1.LookupResponse.transaction]
+ // or
+ // [RunQueryResponse.transaction][google.datastore.v1.RunQueryResponse.transaction].
+ TransactionOptions new_transaction = 3;
+
+ // Reads entities as they were at the given time. This value is only
+ // supported for Cloud Firestore in Datastore mode.
+ //
+ // This must be a microsecond precision timestamp within the past one hour,
+ // or if Point-in-Time Recovery is enabled, can additionally be a whole
+ // minute timestamp within the past 7 days.
+ google.protobuf.Timestamp read_time = 4;
+ }
+}
+
+// Options for beginning a new transaction.
+//
+// Transactions can be created explicitly with calls to
+// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]
+// or implicitly by setting
+// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction]
+// in read requests.
+message TransactionOptions {
+ // Options specific to read / write transactions.
+ message ReadWrite {
+ // The transaction identifier of the transaction being retried.
+ bytes previous_transaction = 1;
+ }
+
+ // Options specific to read-only transactions.
+ message ReadOnly {
+ // Reads entities at the given time.
+ //
+ // This must be a microsecond precision timestamp within the past one hour,
+ // or if Point-in-Time Recovery is enabled, can additionally be a whole
+ // minute timestamp within the past 7 days.
+ google.protobuf.Timestamp read_time = 1;
+ }
+
+ // The `mode` of the transaction, indicating whether write operations are
+ // supported.
+ oneof mode {
+ // The transaction should allow both reads and writes.
+ ReadWrite read_write = 1;
+
+ // The transaction should only allow reads.
+ ReadOnly read_only = 2;
+ }
+}
diff --git a/handwritten/nodejs-datastore/protos/google/datastore/v1/entity.proto b/handwritten/nodejs-datastore/protos/google/datastore/v1/entity.proto
new file mode 100644
index 00000000000..fdf0a32cb7f
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/datastore/v1/entity.proto
@@ -0,0 +1,217 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.datastore.v1;
+
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/latlng.proto";
+
+option csharp_namespace = "Google.Cloud.Datastore.V1";
+option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb";
+option java_multiple_files = true;
+option java_outer_classname = "EntityProto";
+option java_package = "com.google.datastore.v1";
+option php_namespace = "Google\\Cloud\\Datastore\\V1";
+option ruby_package = "Google::Cloud::Datastore::V1";
+
+// A partition ID identifies a grouping of entities. The grouping is always
+// by project and namespace, however the namespace ID may be empty.
+//
+// A partition ID contains several dimensions:
+// project ID and namespace ID.
+//
+// Partition dimensions:
+//
+// - May be `""`.
+// - Must be valid UTF-8 bytes.
+// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+// If the value of any dimension matches regex `__.*__`, the partition is
+// reserved/read-only.
+// A reserved/read-only partition ID is forbidden in certain documented
+// contexts.
+//
+// Foreign partition IDs (in which the project ID does
+// not match the context project ID ) are discouraged.
+// Reads and writes of foreign partition IDs may fail if the project is not in
+// an active state.
+message PartitionId {
+ // The ID of the project to which the entities belong.
+ string project_id = 2;
+
+ // If not empty, the ID of the database to which the entities
+ // belong.
+ string database_id = 3;
+
+ // If not empty, the ID of the namespace to which the entities belong.
+ string namespace_id = 4;
+}
+
+// A unique identifier for an entity.
+// If a key's partition ID or any of its path kinds or names are
+// reserved/read-only, the key is reserved/read-only.
+// A reserved/read-only key is forbidden in certain documented contexts.
+message Key {
+ // A (kind, ID/name) pair used to construct a key path.
+ //
+ // If either name or ID is set, the element is complete.
+ // If neither is set, the element is incomplete.
+ message PathElement {
+ // The kind of the entity.
+ //
+ // A kind matching regex `__.*__` is reserved/read-only.
+ // A kind must not contain more than 1500 bytes when UTF-8 encoded.
+ // Cannot be `""`.
+ //
+ // Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are
+ // encoded as `__bytes__` where `` is the base-64 encoding of the
+ // bytes.
+ string kind = 1;
+
+ // The type of ID.
+ oneof id_type {
+ // The auto-allocated ID of the entity.
+ //
+ // Never equal to zero. Values less than zero are discouraged and may not
+ // be supported in the future.
+ int64 id = 2;
+
+ // The name of the entity.
+ //
+ // A name matching regex `__.*__` is reserved/read-only.
+ // A name must not be more than 1500 bytes when UTF-8 encoded.
+ // Cannot be `""`.
+ //
+ // Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are
+ // encoded as `__bytes__` where `` is the base-64 encoding of the
+ // bytes.
+ string name = 3;
+ }
+ }
+
+ // Entities are partitioned into subsets, currently identified by a project
+ // ID and namespace ID.
+ // Queries are scoped to a single partition.
+ PartitionId partition_id = 1;
+
+ // The entity path.
+ // An entity path consists of one or more elements composed of a kind and a
+ // string or numerical identifier, which identify entities. The first
+ // element identifies a _root entity_, the second element identifies
+ // a _child_ of the root entity, the third element identifies a child of the
+ // second entity, and so forth. The entities identified by all prefixes of
+ // the path are called the element's _ancestors_.
+ //
+ // An entity path is always fully complete: *all* of the entity's ancestors
+ // are required to be in the path along with the entity identifier itself.
+ // The only exception is that in some documented cases, the identifier in the
+ // last path element (for the entity) itself may be omitted. For example,
+ // the last path element of the key of `Mutation.insert` may have no
+ // identifier.
+ //
+ // A path can never be empty, and a path can have at most 100 elements.
+ repeated PathElement path = 2;
+}
+
+// An array value.
+message ArrayValue {
+ // Values in the array.
+ // The order of values in an array is preserved as long as all values have
+ // identical settings for 'exclude_from_indexes'.
+ repeated Value values = 1;
+}
+
+// A message that can hold any of the supported value types and associated
+// metadata.
+message Value {
+ // Must have a value set.
+ oneof value_type {
+ // A null value.
+ google.protobuf.NullValue null_value = 11;
+
+ // A boolean value.
+ bool boolean_value = 1;
+
+ // An integer value.
+ int64 integer_value = 2;
+
+ // A double value.
+ double double_value = 3;
+
+ // A timestamp value.
+ // When stored in the Datastore, precise only to microseconds;
+ // any additional precision is rounded down.
+ google.protobuf.Timestamp timestamp_value = 10;
+
+ // A key value.
+ Key key_value = 5;
+
+ // A UTF-8 encoded string value.
+ // When `exclude_from_indexes` is false (it is indexed) , may have at most
+ // 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+ string string_value = 17;
+
+ // A blob value.
+ // May have at most 1,000,000 bytes.
+ // When `exclude_from_indexes` is false, may have at most 1500 bytes.
+ // In JSON requests, must be base64-encoded.
+ bytes blob_value = 18;
+
+ // A geo point value representing a point on the surface of Earth.
+ google.type.LatLng geo_point_value = 8;
+
+ // An entity value.
+ //
+ // - May have no key.
+ // - May have a key with an incomplete key path.
+ // - May have a reserved/read-only key.
+ Entity entity_value = 6;
+
+ // An array value.
+ // Cannot contain another array value.
+ // A `Value` instance that sets field `array_value` must not set fields
+ // `meaning` or `exclude_from_indexes`.
+ ArrayValue array_value = 9;
+ }
+
+ // The `meaning` field should only be populated for backwards compatibility.
+ int32 meaning = 14;
+
+ // If the value should be excluded from all indexes including those defined
+ // explicitly.
+ bool exclude_from_indexes = 19;
+}
+
+// A Datastore data object.
+//
+// Must not exceed 1 MiB - 4 bytes.
+message Entity {
+ // The entity's key.
+ //
+ // An entity must have a key, unless otherwise documented (for example,
+ // an entity in `Value.entity_value` may have no key).
+ // An entity's kind is its key path's last element's kind,
+ // or null if it has no key.
+ Key key = 1;
+
+ // The entity's properties.
+ // The map's keys are property names.
+ // A property name matching regex `__.*__` is reserved.
+ // A reserved property name is forbidden in certain documented contexts.
+ // The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot
+ // be empty.
+ map properties = 3;
+}
diff --git a/handwritten/nodejs-datastore/protos/google/datastore/v1/query.proto b/handwritten/nodejs-datastore/protos/google/datastore/v1/query.proto
new file mode 100644
index 00000000000..2e36f958b67
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/datastore/v1/query.proto
@@ -0,0 +1,622 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.datastore.v1;
+
+import "google/api/field_behavior.proto";
+import "google/datastore/v1/entity.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Cloud.Datastore.V1";
+option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb";
+option java_multiple_files = true;
+option java_outer_classname = "QueryProto";
+option java_package = "com.google.datastore.v1";
+option php_namespace = "Google\\Cloud\\Datastore\\V1";
+option ruby_package = "Google::Cloud::Datastore::V1";
+
+// The result of fetching an entity from Datastore.
+message EntityResult {
+ // Specifies what data the 'entity' field contains.
+ // A `ResultType` is either implied (for example, in `LookupResponse.missing`
+ // from `datastore.proto`, it is always `KEY_ONLY`) or specified by context
+ // (for example, in message `QueryResultBatch`, field `entity_result_type`
+ // specifies a `ResultType` for all the values in field `entity_results`).
+ enum ResultType {
+ // Unspecified. This value is never used.
+ RESULT_TYPE_UNSPECIFIED = 0;
+
+ // The key and properties.
+ FULL = 1;
+
+ // A projected subset of properties. The entity may have no key.
+ PROJECTION = 2;
+
+ // Only the key.
+ KEY_ONLY = 3;
+ }
+
+ // The resulting entity.
+ Entity entity = 1;
+
+ // The version of the entity, a strictly positive number that monotonically
+ // increases with changes to the entity.
+ //
+ // This field is set for
+ // [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results.
+ //
+ // For [missing][google.datastore.v1.LookupResponse.missing] entities in
+ // `LookupResponse`, this is the version of the snapshot that was used to look
+ // up the entity, and it is always set except for eventually consistent reads.
+ int64 version = 4;
+
+ // The time at which the entity was created.
+ // This field is set for
+ // [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results.
+ // If this entity is missing, this field will not be set.
+ google.protobuf.Timestamp create_time = 6;
+
+ // The time at which the entity was last changed.
+ // This field is set for
+ // [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results.
+ // If this entity is missing, this field will not be set.
+ google.protobuf.Timestamp update_time = 5;
+
+ // A cursor that points to the position after the result entity.
+ // Set only when the `EntityResult` is part of a `QueryResultBatch` message.
+ bytes cursor = 3;
+}
+
+// A query for entities.
+//
+// The query stages are executed in the following order:
+// 1. kind
+// 2. filter
+// 3. projection
+// 4. order + start_cursor + end_cursor
+// 5. offset
+// 6. limit
+// 7. find_nearest
+message Query {
+ // The projection to return. Defaults to returning all properties.
+ repeated Projection projection = 2;
+
+ // The kinds to query (if empty, returns entities of all kinds).
+ // Currently at most 1 kind may be specified.
+ repeated KindExpression kind = 3;
+
+ // The filter to apply.
+ Filter filter = 4;
+
+ // The order to apply to the query results (if empty, order is unspecified).
+ repeated PropertyOrder order = 5;
+
+ // The properties to make distinct. The query results will contain the first
+ // result for each distinct combination of values for the given properties
+ // (if empty, all results are returned).
+ //
+ // Requires:
+ //
+ // * If `order` is specified, the set of distinct on properties must appear
+ // before the non-distinct on properties in `order`.
+ repeated PropertyReference distinct_on = 6;
+
+ // A starting point for the query results. Query cursors are
+ // returned in query result batches and
+ // [can only be used to continue the same
+ // query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
+ bytes start_cursor = 7;
+
+ // An ending point for the query results. Query cursors are
+ // returned in query result batches and
+ // [can only be used to limit the same
+ // query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
+ bytes end_cursor = 8;
+
+ // The number of results to skip. Applies before limit, but after all other
+ // constraints. Optional. Must be >= 0 if specified.
+ int32 offset = 10;
+
+ // The maximum number of results to return. Applies after all other
+ // constraints. Optional.
+ // Unspecified is interpreted as no limit.
+ // Must be >= 0 if specified.
+ google.protobuf.Int32Value limit = 12;
+
+ // Optional. A potential Nearest Neighbors Search.
+ //
+ // Applies after all other filters and ordering.
+ //
+ // Finds the closest vector embeddings to the given query vector.
+ FindNearest find_nearest = 13 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Datastore query for running an aggregation over a
+// [Query][google.datastore.v1.Query].
+message AggregationQuery {
+ // Defines an aggregation that produces a single result.
+ message Aggregation {
+ // Count of entities that match the query.
+ //
+ // The `COUNT(*)` aggregation function operates on the entire entity
+ // so it does not require a field reference.
+ message Count {
+ // Optional. Optional constraint on the maximum number of entities to
+ // count.
+ //
+ // This provides a way to set an upper bound on the number of entities
+ // to scan, limiting latency, and cost.
+ //
+ // Unspecified is interpreted as no bound.
+ //
+ // If a zero value is provided, a count result of zero should always be
+ // expected.
+ //
+ // High-Level Example:
+ //
+ // ```
+ // AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k );
+ // ```
+ //
+ // Requires:
+ //
+ // * Must be non-negative when present.
+ google.protobuf.Int64Value up_to = 1
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Sum of the values of the requested property.
+ //
+ // * Only numeric values will be aggregated. All non-numeric values
+ // including `NULL` are skipped.
+ //
+ // * If the aggregated values contain `NaN`, returns `NaN`. Infinity math
+ // follows IEEE-754 standards.
+ //
+ // * If the aggregated value set is empty, returns 0.
+ //
+ // * Returns a 64-bit integer if all aggregated numbers are integers and the
+ // sum result does not overflow. Otherwise, the result is returned as a
+ // double. Note that even if all the aggregated values are integers, the
+ // result is returned as a double if it cannot fit within a 64-bit signed
+ // integer. When this occurs, the returned value will lose precision.
+ //
+ // * When underflow occurs, floating-point aggregation is non-deterministic.
+ // This means that running the same query repeatedly without any changes to
+ // the underlying values could produce slightly different results each
+ // time. In those cases, values should be stored as integers over
+ // floating-point numbers.
+ message Sum {
+ // The property to aggregate on.
+ PropertyReference property = 1;
+ }
+
+ // Average of the values of the requested property.
+ //
+ // * Only numeric values will be aggregated. All non-numeric values
+ // including `NULL` are skipped.
+ //
+ // * If the aggregated values contain `NaN`, returns `NaN`. Infinity math
+ // follows IEEE-754 standards.
+ //
+ // * If the aggregated value set is empty, returns `NULL`.
+ //
+ // * Always returns the result as a double.
+ message Avg {
+ // The property to aggregate on.
+ PropertyReference property = 1;
+ }
+
+ // The type of aggregation to perform, required.
+ oneof operator {
+ // Count aggregator.
+ Count count = 1;
+
+ // Sum aggregator.
+ Sum sum = 2;
+
+ // Average aggregator.
+ Avg avg = 3;
+ }
+
+ // Optional. Optional name of the property to store the result of the
+ // aggregation.
+ //
+ // If not provided, Datastore will pick a default name following the format
+ // `property_`. For example:
+ //
+ // ```
+ // AGGREGATE
+ // COUNT_UP_TO(1) AS count_up_to_1,
+ // COUNT_UP_TO(2),
+ // COUNT_UP_TO(3) AS count_up_to_3,
+ // COUNT(*)
+ // OVER (
+ // ...
+ // );
+ // ```
+ //
+ // becomes:
+ //
+ // ```
+ // AGGREGATE
+ // COUNT_UP_TO(1) AS count_up_to_1,
+ // COUNT_UP_TO(2) AS property_1,
+ // COUNT_UP_TO(3) AS count_up_to_3,
+ // COUNT(*) AS property_2
+ // OVER (
+ // ...
+ // );
+ // ```
+ //
+ // Requires:
+ //
+ // * Must be unique across all aggregation aliases.
+ // * Conform to [entity property
+ // name][google.datastore.v1.Entity.properties] limitations.
+ string alias = 7 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // The base query to aggregate over.
+ oneof query_type {
+ // Nested query for aggregation
+ Query nested_query = 1;
+ }
+
+ // Optional. Series of aggregations to apply over the results of the
+ // `nested_query`.
+ //
+ // Requires:
+ //
+ // * A minimum of one and maximum of five aggregations per query.
+ repeated Aggregation aggregations = 3
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A representation of a kind.
+message KindExpression {
+ // The name of the kind.
+ string name = 1;
+}
+
+// A reference to a property relative to the kind expressions.
+message PropertyReference {
+ // A reference to a property.
+ //
+ // Requires:
+ //
+ // * MUST be a dot-delimited (`.`) string of segments, where each segment
+ // conforms to [entity property name][google.datastore.v1.Entity.properties]
+ // limitations.
+ string name = 2;
+}
+
+// A representation of a property in a projection.
+message Projection {
+ // The property to project.
+ PropertyReference property = 1;
+}
+
+// The desired order for a specific property.
+message PropertyOrder {
+ // The sort direction.
+ enum Direction {
+ // Unspecified. This value must not be used.
+ DIRECTION_UNSPECIFIED = 0;
+
+ // Ascending.
+ ASCENDING = 1;
+
+ // Descending.
+ DESCENDING = 2;
+ }
+
+ // The property to order by.
+ PropertyReference property = 1;
+
+ // The direction to order by. Defaults to `ASCENDING`.
+ Direction direction = 2;
+}
+
+// A holder for any type of filter.
+message Filter {
+ // The type of filter.
+ oneof filter_type {
+ // A composite filter.
+ CompositeFilter composite_filter = 1;
+
+ // A filter on a property.
+ PropertyFilter property_filter = 2;
+ }
+}
+
+// A filter that merges multiple other filters using the given operator.
+message CompositeFilter {
+ // A composite filter operator.
+ enum Operator {
+ // Unspecified. This value must not be used.
+ OPERATOR_UNSPECIFIED = 0;
+
+ // The results are required to satisfy each of the combined filters.
+ AND = 1;
+
+ // Documents are required to satisfy at least one of the combined filters.
+ OR = 2;
+ }
+
+ // The operator for combining multiple filters.
+ Operator op = 1;
+
+ // The list of filters to combine.
+ //
+ // Requires:
+ //
+ // * At least one filter is present.
+ repeated Filter filters = 2;
+}
+
+// A filter on a specific property.
+message PropertyFilter {
+ // A property filter operator.
+ enum Operator {
+ // Unspecified. This value must not be used.
+ OPERATOR_UNSPECIFIED = 0;
+
+ // The given `property` is less than the given `value`.
+ //
+ // Requires:
+ //
+ // * That `property` comes first in `order_by`.
+ LESS_THAN = 1;
+
+ // The given `property` is less than or equal to the given `value`.
+ //
+ // Requires:
+ //
+ // * That `property` comes first in `order_by`.
+ LESS_THAN_OR_EQUAL = 2;
+
+ // The given `property` is greater than the given `value`.
+ //
+ // Requires:
+ //
+ // * That `property` comes first in `order_by`.
+ GREATER_THAN = 3;
+
+ // The given `property` is greater than or equal to the given `value`.
+ //
+ // Requires:
+ //
+ // * That `property` comes first in `order_by`.
+ GREATER_THAN_OR_EQUAL = 4;
+
+ // The given `property` is equal to the given `value`.
+ EQUAL = 5;
+
+ // The given `property` is equal to at least one value in the given array.
+ //
+ // Requires:
+ //
+ // * That `value` is a non-empty `ArrayValue`, subject to disjunction
+ // limits.
+ // * No `NOT_IN` is in the same query.
+ IN = 6;
+
+ // The given `property` is not equal to the given `value`.
+ //
+ // Requires:
+ //
+ // * No other `NOT_EQUAL` or `NOT_IN` is in the same query.
+ // * That `property` comes first in the `order_by`.
+ NOT_EQUAL = 9;
+
+ // Limit the result set to the given entity and its descendants.
+ //
+ // Requires:
+ //
+ // * That `value` is an entity key.
+ // * All evaluated disjunctions must have the same `HAS_ANCESTOR` filter.
+ HAS_ANCESTOR = 11;
+
+ // The value of the `property` is not in the given array.
+ //
+ // Requires:
+ //
+ // * That `value` is a non-empty `ArrayValue` with at most 10 values.
+ // * No other `OR`, `IN`, `NOT_IN`, `NOT_EQUAL` is in the same query.
+ // * That `field` comes first in the `order_by`.
+ NOT_IN = 13;
+ }
+
+ // The property to filter by.
+ PropertyReference property = 1;
+
+ // The operator to filter by.
+ Operator op = 2;
+
+ // The value to compare the property to.
+ Value value = 3;
+}
+
+// Nearest Neighbors search config. The ordering provided by FindNearest
+// supersedes the order_by stage. If multiple documents have the same vector
+// distance, the returned document order is not guaranteed to be stable between
+// queries.
+message FindNearest {
+ // The distance measure to use when comparing vectors.
+ enum DistanceMeasure {
+ // Should not be set.
+ DISTANCE_MEASURE_UNSPECIFIED = 0;
+
+ // Measures the EUCLIDEAN distance between the vectors. See
+ // [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance) to learn
+ // more. The resulting distance decreases the more similar two vectors are.
+ EUCLIDEAN = 1;
+
+ // COSINE distance compares vectors based on the angle between them, which
+ // allows you to measure similarity that isn't based on the vectors
+ // magnitude. We recommend using DOT_PRODUCT with unit normalized vectors
+ // instead of COSINE distance, which is mathematically equivalent with
+ // better performance. See [Cosine
+ // Similarity](https://en.wikipedia.org/wiki/Cosine_similarity) to learn
+ // more about COSINE similarity and COSINE distance. The resulting COSINE
+ // distance decreases the more similar two vectors are.
+ COSINE = 2;
+
+ // Similar to cosine but is affected by the magnitude of the vectors. See
+ // [Dot Product](https://en.wikipedia.org/wiki/Dot_product) to learn more.
+ // The resulting distance increases the more similar two vectors are.
+ DOT_PRODUCT = 3;
+ }
+
+ // Required. An indexed vector property to search upon. Only documents which
+ // contain vectors whose dimensionality match the query_vector can be
+ // returned.
+ PropertyReference vector_property = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The query vector that we are searching on. Must be a vector of no
+ // more than 2048 dimensions.
+ Value query_vector = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The Distance Measure to use, required.
+ DistanceMeasure distance_measure = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The number of nearest neighbors to return. Must be a positive
+ // integer of no more than 100.
+ google.protobuf.Int32Value limit = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Optional name of the field to output the result of the vector
+ // distance calculation. Must conform to [entity
+ // property][google.datastore.v1.Entity.properties] limitations.
+ string distance_result_property = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Option to specify a threshold for which no less similar documents
+ // will be returned. The behavior of the specified `distance_measure` will
+ // affect the meaning of the distance threshold. Since DOT_PRODUCT distances
+ // increase when the vectors are more similar, the comparison is inverted.
+ //
+ // For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold
+ // For DOT_PRODUCT: WHERE distance >= distance_threshold
+ google.protobuf.DoubleValue distance_threshold = 6
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [GQL
+// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
+message GqlQuery {
+ // A string of the format described
+ // [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
+ string query_string = 1;
+
+ // When false, the query string must not contain any literals and instead must
+ // bind all values. For example,
+ // `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
+ // `SELECT * FROM Kind WHERE a = @value` is.
+ bool allow_literals = 2;
+
+ // For each non-reserved named binding site in the query string, there must be
+ // a named parameter with that name, but not necessarily the inverse.
+ //
+ // Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex
+ // `__.*__`, and must not be `""`.
+ map named_bindings = 5;
+
+ // Numbered binding site @1 references the first numbered parameter,
+ // effectively using 1-based indexing, rather than the usual 0.
+ //
+ // For each binding site numbered i in `query_string`, there must be an i-th
+ // numbered parameter. The inverse must also be true.
+ repeated GqlQueryParameter positional_bindings = 4;
+}
+
+// A binding parameter for a GQL query.
+message GqlQueryParameter {
+ // The type of parameter.
+ oneof parameter_type {
+ // A value parameter.
+ Value value = 2;
+
+ // A query cursor. Query cursors are returned in query
+ // result batches.
+ bytes cursor = 3;
+ }
+}
+
+// A batch of results produced by a query.
+message QueryResultBatch {
+ // The possible values for the `more_results` field.
+ enum MoreResultsType {
+ // Unspecified. This value is never used.
+ MORE_RESULTS_TYPE_UNSPECIFIED = 0;
+
+ // There may be additional batches to fetch from this query.
+ NOT_FINISHED = 1;
+
+ // The query is finished, but there may be more results after the limit.
+ MORE_RESULTS_AFTER_LIMIT = 2;
+
+ // The query is finished, but there may be more results after the end
+ // cursor.
+ MORE_RESULTS_AFTER_CURSOR = 4;
+
+ // The query is finished, and there are no more results.
+ NO_MORE_RESULTS = 3;
+ }
+
+ // The number of results skipped, typically because of an offset.
+ int32 skipped_results = 6;
+
+ // A cursor that points to the position after the last skipped result.
+ // Will be set when `skipped_results` != 0.
+ bytes skipped_cursor = 3;
+
+ // The result type for every entity in `entity_results`.
+ EntityResult.ResultType entity_result_type = 1;
+
+ // The results for this batch.
+ repeated EntityResult entity_results = 2;
+
+ // A cursor that points to the position after the last result in the batch.
+ bytes end_cursor = 4;
+
+ // The state of the query after the current batch.
+ MoreResultsType more_results = 5;
+
+ // The version number of the snapshot this batch was returned from.
+ // This applies to the range of results from the query's `start_cursor` (or
+ // the beginning of the query if no cursor was given) to this batch's
+ // `end_cursor` (not the query's `end_cursor`).
+ //
+ // In a single transaction, subsequent query result batches for the same query
+ // can have a greater snapshot version number. Each batch's snapshot version
+ // is valid for all preceding batches.
+ // The value will be zero for eventually consistent queries.
+ int64 snapshot_version = 7;
+
+ // Read timestamp this batch was returned from.
+ // This applies to the range of results from the query's `start_cursor` (or
+ // the beginning of the query if no cursor was given) to this batch's
+ // `end_cursor` (not the query's `end_cursor`).
+ //
+ // In a single transaction, subsequent query result batches for the same query
+ // can have a greater timestamp. Each batch's read timestamp
+ // is valid for all preceding batches.
+ // This value will not be set for eventually consistent queries in Cloud
+ // Datastore.
+ google.protobuf.Timestamp read_time = 8;
+}
diff --git a/handwritten/nodejs-datastore/protos/google/datastore/v1/query_profile.proto b/handwritten/nodejs-datastore/protos/google/datastore/v1/query_profile.proto
new file mode 100644
index 00000000000..71a4eb59933
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/google/datastore/v1/query_profile.proto
@@ -0,0 +1,91 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.datastore.v1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/struct.proto";
+
+option csharp_namespace = "Google.Cloud.Datastore.V1";
+option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb";
+option java_multiple_files = true;
+option java_outer_classname = "QueryProfileProto";
+option java_package = "com.google.datastore.v1";
+option php_namespace = "Google\\Cloud\\Datastore\\V1";
+option ruby_package = "Google::Cloud::Datastore::V1";
+
+// Specification of the Datastore Query Profile fields.
+
+// Explain options for the query.
+message ExplainOptions {
+ // Optional. Whether to execute this query.
+ //
+ // When false (the default), the query will be planned, returning only
+ // metrics from the planning stages.
+ //
+ // When true, the query will be planned and executed, returning the full
+ // query results along with both planning and execution stage metrics.
+ bool analyze = 1 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Explain metrics for the query.
+message ExplainMetrics {
+ // Planning phase information for the query.
+ PlanSummary plan_summary = 1;
+
+ // Aggregated stats from the execution of the query. Only present when
+ // [ExplainOptions.analyze][google.datastore.v1.ExplainOptions.analyze] is set
+ // to true.
+ ExecutionStats execution_stats = 2;
+}
+
+// Planning phase information for the query.
+message PlanSummary {
+ // The indexes selected for the query. For example:
+ // [
+ // {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"},
+ // {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"}
+ // ]
+ repeated google.protobuf.Struct indexes_used = 1;
+}
+
+// Execution statistics for the query.
+message ExecutionStats {
+ // Total number of results returned, including documents, projections,
+ // aggregation results, keys.
+ int64 results_returned = 1;
+
+ // Total time to execute the query in the backend.
+ google.protobuf.Duration execution_duration = 3;
+
+ // Total billable read operations.
+ int64 read_operations = 4;
+
+ // Debugging statistics from the execution of the query. Note that the
+ // debugging stats are subject to change as Firestore evolves. It could
+ // include:
+ // {
+ // "indexes_entries_scanned": "1000",
+ // "documents_scanned": "20",
+ // "billing_details" : {
+ // "documents_billable": "20",
+ // "index_entries_billable": "1000",
+ // "min_query_cost": "0"
+ // }
+ // }
+ google.protobuf.Struct debug_stats = 5;
+}
diff --git a/handwritten/nodejs-datastore/protos/protos.d.ts b/handwritten/nodejs-datastore/protos/protos.d.ts
new file mode 100644
index 00000000000..33ec9fcd7a0
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/protos.d.ts
@@ -0,0 +1,18362 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import type {protobuf as $protobuf} from "google-gax";
+import Long = require("long");
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace datastore. */
+ namespace datastore {
+
+ /** Namespace admin. */
+ namespace admin {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Represents a DatastoreAdmin */
+ class DatastoreAdmin extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new DatastoreAdmin service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new DatastoreAdmin service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): DatastoreAdmin;
+
+ /**
+ * Calls ExportEntities.
+ * @param request ExportEntitiesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public exportEntities(request: google.datastore.admin.v1.IExportEntitiesRequest, callback: google.datastore.admin.v1.DatastoreAdmin.ExportEntitiesCallback): void;
+
+ /**
+ * Calls ExportEntities.
+ * @param request ExportEntitiesRequest message or plain object
+ * @returns Promise
+ */
+ public exportEntities(request: google.datastore.admin.v1.IExportEntitiesRequest): Promise;
+
+ /**
+ * Calls ImportEntities.
+ * @param request ImportEntitiesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importEntities(request: google.datastore.admin.v1.IImportEntitiesRequest, callback: google.datastore.admin.v1.DatastoreAdmin.ImportEntitiesCallback): void;
+
+ /**
+ * Calls ImportEntities.
+ * @param request ImportEntitiesRequest message or plain object
+ * @returns Promise
+ */
+ public importEntities(request: google.datastore.admin.v1.IImportEntitiesRequest): Promise;
+
+ /**
+ * Calls CreateIndex.
+ * @param request CreateIndexRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createIndex(request: google.datastore.admin.v1.ICreateIndexRequest, callback: google.datastore.admin.v1.DatastoreAdmin.CreateIndexCallback): void;
+
+ /**
+ * Calls CreateIndex.
+ * @param request CreateIndexRequest message or plain object
+ * @returns Promise
+ */
+ public createIndex(request: google.datastore.admin.v1.ICreateIndexRequest): Promise;
+
+ /**
+ * Calls DeleteIndex.
+ * @param request DeleteIndexRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteIndex(request: google.datastore.admin.v1.IDeleteIndexRequest, callback: google.datastore.admin.v1.DatastoreAdmin.DeleteIndexCallback): void;
+
+ /**
+ * Calls DeleteIndex.
+ * @param request DeleteIndexRequest message or plain object
+ * @returns Promise
+ */
+ public deleteIndex(request: google.datastore.admin.v1.IDeleteIndexRequest): Promise;
+
+ /**
+ * Calls GetIndex.
+ * @param request GetIndexRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Index
+ */
+ public getIndex(request: google.datastore.admin.v1.IGetIndexRequest, callback: google.datastore.admin.v1.DatastoreAdmin.GetIndexCallback): void;
+
+ /**
+ * Calls GetIndex.
+ * @param request GetIndexRequest message or plain object
+ * @returns Promise
+ */
+ public getIndex(request: google.datastore.admin.v1.IGetIndexRequest): Promise;
+
+ /**
+ * Calls ListIndexes.
+ * @param request ListIndexesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListIndexesResponse
+ */
+ public listIndexes(request: google.datastore.admin.v1.IListIndexesRequest, callback: google.datastore.admin.v1.DatastoreAdmin.ListIndexesCallback): void;
+
+ /**
+ * Calls ListIndexes.
+ * @param request ListIndexesRequest message or plain object
+ * @returns Promise
+ */
+ public listIndexes(request: google.datastore.admin.v1.IListIndexesRequest): Promise;
+ }
+
+ namespace DatastoreAdmin {
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|exportEntities}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ExportEntitiesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|importEntities}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportEntitiesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|createIndex}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateIndexCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|deleteIndex}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteIndexCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|getIndex}.
+ * @param error Error, if any
+ * @param [response] Index
+ */
+ type GetIndexCallback = (error: (Error|null), response?: google.datastore.admin.v1.Index) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|listIndexes}.
+ * @param error Error, if any
+ * @param [response] ListIndexesResponse
+ */
+ type ListIndexesCallback = (error: (Error|null), response?: google.datastore.admin.v1.ListIndexesResponse) => void;
+ }
+
+ /** Properties of a CommonMetadata. */
+ interface ICommonMetadata {
+
+ /** CommonMetadata startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** CommonMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** CommonMetadata operationType */
+ operationType?: (google.datastore.admin.v1.OperationType|keyof typeof google.datastore.admin.v1.OperationType|null);
+
+ /** CommonMetadata labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** CommonMetadata state */
+ state?: (google.datastore.admin.v1.CommonMetadata.State|keyof typeof google.datastore.admin.v1.CommonMetadata.State|null);
+ }
+
+ /** Represents a CommonMetadata. */
+ class CommonMetadata implements ICommonMetadata {
+
+ /**
+ * Constructs a new CommonMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.ICommonMetadata);
+
+ /** CommonMetadata startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** CommonMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** CommonMetadata operationType. */
+ public operationType: (google.datastore.admin.v1.OperationType|keyof typeof google.datastore.admin.v1.OperationType);
+
+ /** CommonMetadata labels. */
+ public labels: { [k: string]: string };
+
+ /** CommonMetadata state. */
+ public state: (google.datastore.admin.v1.CommonMetadata.State|keyof typeof google.datastore.admin.v1.CommonMetadata.State);
+
+ /**
+ * Creates a new CommonMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommonMetadata instance
+ */
+ public static create(properties?: google.datastore.admin.v1.ICommonMetadata): google.datastore.admin.v1.CommonMetadata;
+
+ /**
+ * Encodes the specified CommonMetadata message. Does not implicitly {@link google.datastore.admin.v1.CommonMetadata.verify|verify} messages.
+ * @param message CommonMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.ICommonMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommonMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.CommonMetadata.verify|verify} messages.
+ * @param message CommonMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.ICommonMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommonMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommonMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.CommonMetadata;
+
+ /**
+ * Decodes a CommonMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommonMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.CommonMetadata;
+
+ /**
+ * Verifies a CommonMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CommonMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommonMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.CommonMetadata;
+
+ /**
+ * Creates a plain object from a CommonMetadata message. Also converts values to other types if specified.
+ * @param message CommonMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.CommonMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommonMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommonMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CommonMetadata {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ INITIALIZING = 1,
+ PROCESSING = 2,
+ CANCELLING = 3,
+ FINALIZING = 4,
+ SUCCESSFUL = 5,
+ FAILED = 6,
+ CANCELLED = 7
+ }
+ }
+
+ /** Properties of a Progress. */
+ interface IProgress {
+
+ /** Progress workCompleted */
+ workCompleted?: (number|Long|string|null);
+
+ /** Progress workEstimated */
+ workEstimated?: (number|Long|string|null);
+ }
+
+ /** Represents a Progress. */
+ class Progress implements IProgress {
+
+ /**
+ * Constructs a new Progress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IProgress);
+
+ /** Progress workCompleted. */
+ public workCompleted: (number|Long|string);
+
+ /** Progress workEstimated. */
+ public workEstimated: (number|Long|string);
+
+ /**
+ * Creates a new Progress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Progress instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IProgress): google.datastore.admin.v1.Progress;
+
+ /**
+ * Encodes the specified Progress message. Does not implicitly {@link google.datastore.admin.v1.Progress.verify|verify} messages.
+ * @param message Progress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Progress message, length delimited. Does not implicitly {@link google.datastore.admin.v1.Progress.verify|verify} messages.
+ * @param message Progress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Progress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Progress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.Progress;
+
+ /**
+ * Decodes a Progress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Progress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.Progress;
+
+ /**
+ * Verifies a Progress message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Progress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Progress
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.Progress;
+
+ /**
+ * Creates a plain object from a Progress message. Also converts values to other types if specified.
+ * @param message Progress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.Progress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Progress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Progress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportEntitiesRequest. */
+ interface IExportEntitiesRequest {
+
+ /** ExportEntitiesRequest projectId */
+ projectId?: (string|null);
+
+ /** ExportEntitiesRequest labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** ExportEntitiesRequest entityFilter */
+ entityFilter?: (google.datastore.admin.v1.IEntityFilter|null);
+
+ /** ExportEntitiesRequest outputUrlPrefix */
+ outputUrlPrefix?: (string|null);
+ }
+
+ /** Represents an ExportEntitiesRequest. */
+ class ExportEntitiesRequest implements IExportEntitiesRequest {
+
+ /**
+ * Constructs a new ExportEntitiesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IExportEntitiesRequest);
+
+ /** ExportEntitiesRequest projectId. */
+ public projectId: string;
+
+ /** ExportEntitiesRequest labels. */
+ public labels: { [k: string]: string };
+
+ /** ExportEntitiesRequest entityFilter. */
+ public entityFilter?: (google.datastore.admin.v1.IEntityFilter|null);
+
+ /** ExportEntitiesRequest outputUrlPrefix. */
+ public outputUrlPrefix: string;
+
+ /**
+ * Creates a new ExportEntitiesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportEntitiesRequest instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IExportEntitiesRequest): google.datastore.admin.v1.ExportEntitiesRequest;
+
+ /**
+ * Encodes the specified ExportEntitiesRequest message. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesRequest.verify|verify} messages.
+ * @param message ExportEntitiesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IExportEntitiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportEntitiesRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesRequest.verify|verify} messages.
+ * @param message ExportEntitiesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IExportEntitiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportEntitiesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportEntitiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.ExportEntitiesRequest;
+
+ /**
+ * Decodes an ExportEntitiesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportEntitiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.ExportEntitiesRequest;
+
+ /**
+ * Verifies an ExportEntitiesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExportEntitiesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportEntitiesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.ExportEntitiesRequest;
+
+ /**
+ * Creates a plain object from an ExportEntitiesRequest message. Also converts values to other types if specified.
+ * @param message ExportEntitiesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.ExportEntitiesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportEntitiesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportEntitiesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportEntitiesRequest. */
+ interface IImportEntitiesRequest {
+
+ /** ImportEntitiesRequest projectId */
+ projectId?: (string|null);
+
+ /** ImportEntitiesRequest labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** ImportEntitiesRequest inputUrl */
+ inputUrl?: (string|null);
+
+ /** ImportEntitiesRequest entityFilter */
+ entityFilter?: (google.datastore.admin.v1.IEntityFilter|null);
+ }
+
+ /** Represents an ImportEntitiesRequest. */
+ class ImportEntitiesRequest implements IImportEntitiesRequest {
+
+ /**
+ * Constructs a new ImportEntitiesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IImportEntitiesRequest);
+
+ /** ImportEntitiesRequest projectId. */
+ public projectId: string;
+
+ /** ImportEntitiesRequest labels. */
+ public labels: { [k: string]: string };
+
+ /** ImportEntitiesRequest inputUrl. */
+ public inputUrl: string;
+
+ /** ImportEntitiesRequest entityFilter. */
+ public entityFilter?: (google.datastore.admin.v1.IEntityFilter|null);
+
+ /**
+ * Creates a new ImportEntitiesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportEntitiesRequest instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IImportEntitiesRequest): google.datastore.admin.v1.ImportEntitiesRequest;
+
+ /**
+ * Encodes the specified ImportEntitiesRequest message. Does not implicitly {@link google.datastore.admin.v1.ImportEntitiesRequest.verify|verify} messages.
+ * @param message ImportEntitiesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IImportEntitiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportEntitiesRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ImportEntitiesRequest.verify|verify} messages.
+ * @param message ImportEntitiesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IImportEntitiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportEntitiesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportEntitiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.ImportEntitiesRequest;
+
+ /**
+ * Decodes an ImportEntitiesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportEntitiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.ImportEntitiesRequest;
+
+ /**
+ * Verifies an ImportEntitiesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ImportEntitiesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportEntitiesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.ImportEntitiesRequest;
+
+ /**
+ * Creates a plain object from an ImportEntitiesRequest message. Also converts values to other types if specified.
+ * @param message ImportEntitiesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.ImportEntitiesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportEntitiesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportEntitiesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportEntitiesResponse. */
+ interface IExportEntitiesResponse {
+
+ /** ExportEntitiesResponse outputUrl */
+ outputUrl?: (string|null);
+ }
+
+ /** Represents an ExportEntitiesResponse. */
+ class ExportEntitiesResponse implements IExportEntitiesResponse {
+
+ /**
+ * Constructs a new ExportEntitiesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IExportEntitiesResponse);
+
+ /** ExportEntitiesResponse outputUrl. */
+ public outputUrl: string;
+
+ /**
+ * Creates a new ExportEntitiesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportEntitiesResponse instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IExportEntitiesResponse): google.datastore.admin.v1.ExportEntitiesResponse;
+
+ /**
+ * Encodes the specified ExportEntitiesResponse message. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesResponse.verify|verify} messages.
+ * @param message ExportEntitiesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IExportEntitiesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportEntitiesResponse message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesResponse.verify|verify} messages.
+ * @param message ExportEntitiesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IExportEntitiesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportEntitiesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportEntitiesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.ExportEntitiesResponse;
+
+ /**
+ * Decodes an ExportEntitiesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportEntitiesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.ExportEntitiesResponse;
+
+ /**
+ * Verifies an ExportEntitiesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExportEntitiesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportEntitiesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.ExportEntitiesResponse;
+
+ /**
+ * Creates a plain object from an ExportEntitiesResponse message. Also converts values to other types if specified.
+ * @param message ExportEntitiesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.ExportEntitiesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportEntitiesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportEntitiesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportEntitiesMetadata. */
+ interface IExportEntitiesMetadata {
+
+ /** ExportEntitiesMetadata common */
+ common?: (google.datastore.admin.v1.ICommonMetadata|null);
+
+ /** ExportEntitiesMetadata progressEntities */
+ progressEntities?: (google.datastore.admin.v1.IProgress|null);
+
+ /** ExportEntitiesMetadata progressBytes */
+ progressBytes?: (google.datastore.admin.v1.IProgress|null);
+
+ /** ExportEntitiesMetadata entityFilter */
+ entityFilter?: (google.datastore.admin.v1.IEntityFilter|null);
+
+ /** ExportEntitiesMetadata outputUrlPrefix */
+ outputUrlPrefix?: (string|null);
+ }
+
+ /** Represents an ExportEntitiesMetadata. */
+ class ExportEntitiesMetadata implements IExportEntitiesMetadata {
+
+ /**
+ * Constructs a new ExportEntitiesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IExportEntitiesMetadata);
+
+ /** ExportEntitiesMetadata common. */
+ public common?: (google.datastore.admin.v1.ICommonMetadata|null);
+
+ /** ExportEntitiesMetadata progressEntities. */
+ public progressEntities?: (google.datastore.admin.v1.IProgress|null);
+
+ /** ExportEntitiesMetadata progressBytes. */
+ public progressBytes?: (google.datastore.admin.v1.IProgress|null);
+
+ /** ExportEntitiesMetadata entityFilter. */
+ public entityFilter?: (google.datastore.admin.v1.IEntityFilter|null);
+
+ /** ExportEntitiesMetadata outputUrlPrefix. */
+ public outputUrlPrefix: string;
+
+ /**
+ * Creates a new ExportEntitiesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportEntitiesMetadata instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IExportEntitiesMetadata): google.datastore.admin.v1.ExportEntitiesMetadata;
+
+ /**
+ * Encodes the specified ExportEntitiesMetadata message. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesMetadata.verify|verify} messages.
+ * @param message ExportEntitiesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IExportEntitiesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportEntitiesMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesMetadata.verify|verify} messages.
+ * @param message ExportEntitiesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IExportEntitiesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportEntitiesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportEntitiesMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.ExportEntitiesMetadata;
+
+ /**
+ * Decodes an ExportEntitiesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportEntitiesMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.ExportEntitiesMetadata;
+
+ /**
+ * Verifies an ExportEntitiesMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExportEntitiesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportEntitiesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.ExportEntitiesMetadata;
+
+ /**
+ * Creates a plain object from an ExportEntitiesMetadata message. Also converts values to other types if specified.
+ * @param message ExportEntitiesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.ExportEntitiesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportEntitiesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportEntitiesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportEntitiesMetadata. */
+ interface IImportEntitiesMetadata {
+
+ /** ImportEntitiesMetadata common */
+ common?: (google.datastore.admin.v1.ICommonMetadata|null);
+
+ /** ImportEntitiesMetadata progressEntities */
+ progressEntities?: (google.datastore.admin.v1.IProgress|null);
+
+ /** ImportEntitiesMetadata progressBytes */
+ progressBytes?: (google.datastore.admin.v1.IProgress|null);
+
+ /** ImportEntitiesMetadata entityFilter */
+ entityFilter?: (google.datastore.admin.v1.IEntityFilter|null);
+
+ /** ImportEntitiesMetadata inputUrl */
+ inputUrl?: (string|null);
+ }
+
+ /** Represents an ImportEntitiesMetadata. */
+ class ImportEntitiesMetadata implements IImportEntitiesMetadata {
+
+ /**
+ * Constructs a new ImportEntitiesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IImportEntitiesMetadata);
+
+ /** ImportEntitiesMetadata common. */
+ public common?: (google.datastore.admin.v1.ICommonMetadata|null);
+
+ /** ImportEntitiesMetadata progressEntities. */
+ public progressEntities?: (google.datastore.admin.v1.IProgress|null);
+
+ /** ImportEntitiesMetadata progressBytes. */
+ public progressBytes?: (google.datastore.admin.v1.IProgress|null);
+
+ /** ImportEntitiesMetadata entityFilter. */
+ public entityFilter?: (google.datastore.admin.v1.IEntityFilter|null);
+
+ /** ImportEntitiesMetadata inputUrl. */
+ public inputUrl: string;
+
+ /**
+ * Creates a new ImportEntitiesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportEntitiesMetadata instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IImportEntitiesMetadata): google.datastore.admin.v1.ImportEntitiesMetadata;
+
+ /**
+ * Encodes the specified ImportEntitiesMetadata message. Does not implicitly {@link google.datastore.admin.v1.ImportEntitiesMetadata.verify|verify} messages.
+ * @param message ImportEntitiesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IImportEntitiesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportEntitiesMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ImportEntitiesMetadata.verify|verify} messages.
+ * @param message ImportEntitiesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IImportEntitiesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportEntitiesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportEntitiesMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.ImportEntitiesMetadata;
+
+ /**
+ * Decodes an ImportEntitiesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportEntitiesMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.ImportEntitiesMetadata;
+
+ /**
+ * Verifies an ImportEntitiesMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ImportEntitiesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportEntitiesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.ImportEntitiesMetadata;
+
+ /**
+ * Creates a plain object from an ImportEntitiesMetadata message. Also converts values to other types if specified.
+ * @param message ImportEntitiesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.ImportEntitiesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportEntitiesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportEntitiesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EntityFilter. */
+ interface IEntityFilter {
+
+ /** EntityFilter kinds */
+ kinds?: (string[]|null);
+
+ /** EntityFilter namespaceIds */
+ namespaceIds?: (string[]|null);
+ }
+
+ /** Represents an EntityFilter. */
+ class EntityFilter implements IEntityFilter {
+
+ /**
+ * Constructs a new EntityFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IEntityFilter);
+
+ /** EntityFilter kinds. */
+ public kinds: string[];
+
+ /** EntityFilter namespaceIds. */
+ public namespaceIds: string[];
+
+ /**
+ * Creates a new EntityFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EntityFilter instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IEntityFilter): google.datastore.admin.v1.EntityFilter;
+
+ /**
+ * Encodes the specified EntityFilter message. Does not implicitly {@link google.datastore.admin.v1.EntityFilter.verify|verify} messages.
+ * @param message EntityFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IEntityFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EntityFilter message, length delimited. Does not implicitly {@link google.datastore.admin.v1.EntityFilter.verify|verify} messages.
+ * @param message EntityFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IEntityFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EntityFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EntityFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.EntityFilter;
+
+ /**
+ * Decodes an EntityFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EntityFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.EntityFilter;
+
+ /**
+ * Verifies an EntityFilter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EntityFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EntityFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.EntityFilter;
+
+ /**
+ * Creates a plain object from an EntityFilter message. Also converts values to other types if specified.
+ * @param message EntityFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.EntityFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EntityFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EntityFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateIndexRequest. */
+ interface ICreateIndexRequest {
+
+ /** CreateIndexRequest projectId */
+ projectId?: (string|null);
+
+ /** CreateIndexRequest index */
+ index?: (google.datastore.admin.v1.IIndex|null);
+ }
+
+ /** Represents a CreateIndexRequest. */
+ class CreateIndexRequest implements ICreateIndexRequest {
+
+ /**
+ * Constructs a new CreateIndexRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.ICreateIndexRequest);
+
+ /** CreateIndexRequest projectId. */
+ public projectId: string;
+
+ /** CreateIndexRequest index. */
+ public index?: (google.datastore.admin.v1.IIndex|null);
+
+ /**
+ * Creates a new CreateIndexRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateIndexRequest instance
+ */
+ public static create(properties?: google.datastore.admin.v1.ICreateIndexRequest): google.datastore.admin.v1.CreateIndexRequest;
+
+ /**
+ * Encodes the specified CreateIndexRequest message. Does not implicitly {@link google.datastore.admin.v1.CreateIndexRequest.verify|verify} messages.
+ * @param message CreateIndexRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.ICreateIndexRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateIndexRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.CreateIndexRequest.verify|verify} messages.
+ * @param message CreateIndexRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.ICreateIndexRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateIndexRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.CreateIndexRequest;
+
+ /**
+ * Decodes a CreateIndexRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.CreateIndexRequest;
+
+ /**
+ * Verifies a CreateIndexRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateIndexRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateIndexRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.CreateIndexRequest;
+
+ /**
+ * Creates a plain object from a CreateIndexRequest message. Also converts values to other types if specified.
+ * @param message CreateIndexRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.CreateIndexRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateIndexRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateIndexRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteIndexRequest. */
+ interface IDeleteIndexRequest {
+
+ /** DeleteIndexRequest projectId */
+ projectId?: (string|null);
+
+ /** DeleteIndexRequest indexId */
+ indexId?: (string|null);
+ }
+
+ /** Represents a DeleteIndexRequest. */
+ class DeleteIndexRequest implements IDeleteIndexRequest {
+
+ /**
+ * Constructs a new DeleteIndexRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IDeleteIndexRequest);
+
+ /** DeleteIndexRequest projectId. */
+ public projectId: string;
+
+ /** DeleteIndexRequest indexId. */
+ public indexId: string;
+
+ /**
+ * Creates a new DeleteIndexRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteIndexRequest instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IDeleteIndexRequest): google.datastore.admin.v1.DeleteIndexRequest;
+
+ /**
+ * Encodes the specified DeleteIndexRequest message. Does not implicitly {@link google.datastore.admin.v1.DeleteIndexRequest.verify|verify} messages.
+ * @param message DeleteIndexRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IDeleteIndexRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteIndexRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.DeleteIndexRequest.verify|verify} messages.
+ * @param message DeleteIndexRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IDeleteIndexRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteIndexRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.DeleteIndexRequest;
+
+ /**
+ * Decodes a DeleteIndexRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.DeleteIndexRequest;
+
+ /**
+ * Verifies a DeleteIndexRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteIndexRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteIndexRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.DeleteIndexRequest;
+
+ /**
+ * Creates a plain object from a DeleteIndexRequest message. Also converts values to other types if specified.
+ * @param message DeleteIndexRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.DeleteIndexRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteIndexRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteIndexRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetIndexRequest. */
+ interface IGetIndexRequest {
+
+ /** GetIndexRequest projectId */
+ projectId?: (string|null);
+
+ /** GetIndexRequest indexId */
+ indexId?: (string|null);
+ }
+
+ /** Represents a GetIndexRequest. */
+ class GetIndexRequest implements IGetIndexRequest {
+
+ /**
+ * Constructs a new GetIndexRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IGetIndexRequest);
+
+ /** GetIndexRequest projectId. */
+ public projectId: string;
+
+ /** GetIndexRequest indexId. */
+ public indexId: string;
+
+ /**
+ * Creates a new GetIndexRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetIndexRequest instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IGetIndexRequest): google.datastore.admin.v1.GetIndexRequest;
+
+ /**
+ * Encodes the specified GetIndexRequest message. Does not implicitly {@link google.datastore.admin.v1.GetIndexRequest.verify|verify} messages.
+ * @param message GetIndexRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IGetIndexRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetIndexRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.GetIndexRequest.verify|verify} messages.
+ * @param message GetIndexRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IGetIndexRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetIndexRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.GetIndexRequest;
+
+ /**
+ * Decodes a GetIndexRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.GetIndexRequest;
+
+ /**
+ * Verifies a GetIndexRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetIndexRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetIndexRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.GetIndexRequest;
+
+ /**
+ * Creates a plain object from a GetIndexRequest message. Also converts values to other types if specified.
+ * @param message GetIndexRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.GetIndexRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetIndexRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetIndexRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListIndexesRequest. */
+ interface IListIndexesRequest {
+
+ /** ListIndexesRequest projectId */
+ projectId?: (string|null);
+
+ /** ListIndexesRequest filter */
+ filter?: (string|null);
+
+ /** ListIndexesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListIndexesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListIndexesRequest. */
+ class ListIndexesRequest implements IListIndexesRequest {
+
+ /**
+ * Constructs a new ListIndexesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IListIndexesRequest);
+
+ /** ListIndexesRequest projectId. */
+ public projectId: string;
+
+ /** ListIndexesRequest filter. */
+ public filter: string;
+
+ /** ListIndexesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListIndexesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListIndexesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListIndexesRequest instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IListIndexesRequest): google.datastore.admin.v1.ListIndexesRequest;
+
+ /**
+ * Encodes the specified ListIndexesRequest message. Does not implicitly {@link google.datastore.admin.v1.ListIndexesRequest.verify|verify} messages.
+ * @param message ListIndexesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IListIndexesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListIndexesRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ListIndexesRequest.verify|verify} messages.
+ * @param message ListIndexesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IListIndexesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListIndexesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListIndexesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.ListIndexesRequest;
+
+ /**
+ * Decodes a ListIndexesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListIndexesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.ListIndexesRequest;
+
+ /**
+ * Verifies a ListIndexesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListIndexesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListIndexesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.ListIndexesRequest;
+
+ /**
+ * Creates a plain object from a ListIndexesRequest message. Also converts values to other types if specified.
+ * @param message ListIndexesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.ListIndexesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListIndexesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListIndexesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListIndexesResponse. */
+ interface IListIndexesResponse {
+
+ /** ListIndexesResponse indexes */
+ indexes?: (google.datastore.admin.v1.IIndex[]|null);
+
+ /** ListIndexesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListIndexesResponse. */
+ class ListIndexesResponse implements IListIndexesResponse {
+
+ /**
+ * Constructs a new ListIndexesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IListIndexesResponse);
+
+ /** ListIndexesResponse indexes. */
+ public indexes: google.datastore.admin.v1.IIndex[];
+
+ /** ListIndexesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListIndexesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListIndexesResponse instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IListIndexesResponse): google.datastore.admin.v1.ListIndexesResponse;
+
+ /**
+ * Encodes the specified ListIndexesResponse message. Does not implicitly {@link google.datastore.admin.v1.ListIndexesResponse.verify|verify} messages.
+ * @param message ListIndexesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IListIndexesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListIndexesResponse message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ListIndexesResponse.verify|verify} messages.
+ * @param message ListIndexesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IListIndexesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListIndexesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListIndexesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.ListIndexesResponse;
+
+ /**
+ * Decodes a ListIndexesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListIndexesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.ListIndexesResponse;
+
+ /**
+ * Verifies a ListIndexesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListIndexesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListIndexesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.ListIndexesResponse;
+
+ /**
+ * Creates a plain object from a ListIndexesResponse message. Also converts values to other types if specified.
+ * @param message ListIndexesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.ListIndexesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListIndexesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListIndexesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IndexOperationMetadata. */
+ interface IIndexOperationMetadata {
+
+ /** IndexOperationMetadata common */
+ common?: (google.datastore.admin.v1.ICommonMetadata|null);
+
+ /** IndexOperationMetadata progressEntities */
+ progressEntities?: (google.datastore.admin.v1.IProgress|null);
+
+ /** IndexOperationMetadata indexId */
+ indexId?: (string|null);
+ }
+
+ /** Represents an IndexOperationMetadata. */
+ class IndexOperationMetadata implements IIndexOperationMetadata {
+
+ /**
+ * Constructs a new IndexOperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IIndexOperationMetadata);
+
+ /** IndexOperationMetadata common. */
+ public common?: (google.datastore.admin.v1.ICommonMetadata|null);
+
+ /** IndexOperationMetadata progressEntities. */
+ public progressEntities?: (google.datastore.admin.v1.IProgress|null);
+
+ /** IndexOperationMetadata indexId. */
+ public indexId: string;
+
+ /**
+ * Creates a new IndexOperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IndexOperationMetadata instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IIndexOperationMetadata): google.datastore.admin.v1.IndexOperationMetadata;
+
+ /**
+ * Encodes the specified IndexOperationMetadata message. Does not implicitly {@link google.datastore.admin.v1.IndexOperationMetadata.verify|verify} messages.
+ * @param message IndexOperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IIndexOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IndexOperationMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.IndexOperationMetadata.verify|verify} messages.
+ * @param message IndexOperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IIndexOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IndexOperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IndexOperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.IndexOperationMetadata;
+
+ /**
+ * Decodes an IndexOperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IndexOperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.IndexOperationMetadata;
+
+ /**
+ * Verifies an IndexOperationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an IndexOperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IndexOperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.IndexOperationMetadata;
+
+ /**
+ * Creates a plain object from an IndexOperationMetadata message. Also converts values to other types if specified.
+ * @param message IndexOperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.IndexOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IndexOperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IndexOperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DatastoreFirestoreMigrationMetadata. */
+ interface IDatastoreFirestoreMigrationMetadata {
+
+ /** DatastoreFirestoreMigrationMetadata migrationState */
+ migrationState?: (google.datastore.admin.v1.MigrationState|keyof typeof google.datastore.admin.v1.MigrationState|null);
+
+ /** DatastoreFirestoreMigrationMetadata migrationStep */
+ migrationStep?: (google.datastore.admin.v1.MigrationStep|keyof typeof google.datastore.admin.v1.MigrationStep|null);
+ }
+
+ /** Represents a DatastoreFirestoreMigrationMetadata. */
+ class DatastoreFirestoreMigrationMetadata implements IDatastoreFirestoreMigrationMetadata {
+
+ /**
+ * Constructs a new DatastoreFirestoreMigrationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IDatastoreFirestoreMigrationMetadata);
+
+ /** DatastoreFirestoreMigrationMetadata migrationState. */
+ public migrationState: (google.datastore.admin.v1.MigrationState|keyof typeof google.datastore.admin.v1.MigrationState);
+
+ /** DatastoreFirestoreMigrationMetadata migrationStep. */
+ public migrationStep: (google.datastore.admin.v1.MigrationStep|keyof typeof google.datastore.admin.v1.MigrationStep);
+
+ /**
+ * Creates a new DatastoreFirestoreMigrationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DatastoreFirestoreMigrationMetadata instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IDatastoreFirestoreMigrationMetadata): google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata;
+
+ /**
+ * Encodes the specified DatastoreFirestoreMigrationMetadata message. Does not implicitly {@link google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata.verify|verify} messages.
+ * @param message DatastoreFirestoreMigrationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IDatastoreFirestoreMigrationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DatastoreFirestoreMigrationMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata.verify|verify} messages.
+ * @param message DatastoreFirestoreMigrationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IDatastoreFirestoreMigrationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DatastoreFirestoreMigrationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DatastoreFirestoreMigrationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata;
+
+ /**
+ * Decodes a DatastoreFirestoreMigrationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DatastoreFirestoreMigrationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata;
+
+ /**
+ * Verifies a DatastoreFirestoreMigrationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DatastoreFirestoreMigrationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DatastoreFirestoreMigrationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata;
+
+ /**
+ * Creates a plain object from a DatastoreFirestoreMigrationMetadata message. Also converts values to other types if specified.
+ * @param message DatastoreFirestoreMigrationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DatastoreFirestoreMigrationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DatastoreFirestoreMigrationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** OperationType enum. */
+ enum OperationType {
+ OPERATION_TYPE_UNSPECIFIED = 0,
+ EXPORT_ENTITIES = 1,
+ IMPORT_ENTITIES = 2,
+ CREATE_INDEX = 3,
+ DELETE_INDEX = 4
+ }
+
+ /** Properties of an Index. */
+ interface IIndex {
+
+ /** Index projectId */
+ projectId?: (string|null);
+
+ /** Index indexId */
+ indexId?: (string|null);
+
+ /** Index kind */
+ kind?: (string|null);
+
+ /** Index ancestor */
+ ancestor?: (google.datastore.admin.v1.Index.AncestorMode|keyof typeof google.datastore.admin.v1.Index.AncestorMode|null);
+
+ /** Index properties */
+ properties?: (google.datastore.admin.v1.Index.IIndexedProperty[]|null);
+
+ /** Index state */
+ state?: (google.datastore.admin.v1.Index.State|keyof typeof google.datastore.admin.v1.Index.State|null);
+ }
+
+ /** Represents an Index. */
+ class Index implements IIndex {
+
+ /**
+ * Constructs a new Index.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IIndex);
+
+ /** Index projectId. */
+ public projectId: string;
+
+ /** Index indexId. */
+ public indexId: string;
+
+ /** Index kind. */
+ public kind: string;
+
+ /** Index ancestor. */
+ public ancestor: (google.datastore.admin.v1.Index.AncestorMode|keyof typeof google.datastore.admin.v1.Index.AncestorMode);
+
+ /** Index properties. */
+ public properties: google.datastore.admin.v1.Index.IIndexedProperty[];
+
+ /** Index state. */
+ public state: (google.datastore.admin.v1.Index.State|keyof typeof google.datastore.admin.v1.Index.State);
+
+ /**
+ * Creates a new Index instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Index instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IIndex): google.datastore.admin.v1.Index;
+
+ /**
+ * Encodes the specified Index message. Does not implicitly {@link google.datastore.admin.v1.Index.verify|verify} messages.
+ * @param message Index message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IIndex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Index message, length delimited. Does not implicitly {@link google.datastore.admin.v1.Index.verify|verify} messages.
+ * @param message Index message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IIndex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Index message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Index
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.Index;
+
+ /**
+ * Decodes an Index message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Index
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.Index;
+
+ /**
+ * Verifies an Index message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Index message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Index
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.Index;
+
+ /**
+ * Creates a plain object from an Index message. Also converts values to other types if specified.
+ * @param message Index
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.Index, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Index to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Index
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Index {
+
+ /** AncestorMode enum. */
+ enum AncestorMode {
+ ANCESTOR_MODE_UNSPECIFIED = 0,
+ NONE = 1,
+ ALL_ANCESTORS = 2
+ }
+
+ /** Direction enum. */
+ enum Direction {
+ DIRECTION_UNSPECIFIED = 0,
+ ASCENDING = 1,
+ DESCENDING = 2
+ }
+
+ /** Properties of an IndexedProperty. */
+ interface IIndexedProperty {
+
+ /** IndexedProperty name */
+ name?: (string|null);
+
+ /** IndexedProperty direction */
+ direction?: (google.datastore.admin.v1.Index.Direction|keyof typeof google.datastore.admin.v1.Index.Direction|null);
+ }
+
+ /** Represents an IndexedProperty. */
+ class IndexedProperty implements IIndexedProperty {
+
+ /**
+ * Constructs a new IndexedProperty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.Index.IIndexedProperty);
+
+ /** IndexedProperty name. */
+ public name: string;
+
+ /** IndexedProperty direction. */
+ public direction: (google.datastore.admin.v1.Index.Direction|keyof typeof google.datastore.admin.v1.Index.Direction);
+
+ /**
+ * Creates a new IndexedProperty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IndexedProperty instance
+ */
+ public static create(properties?: google.datastore.admin.v1.Index.IIndexedProperty): google.datastore.admin.v1.Index.IndexedProperty;
+
+ /**
+ * Encodes the specified IndexedProperty message. Does not implicitly {@link google.datastore.admin.v1.Index.IndexedProperty.verify|verify} messages.
+ * @param message IndexedProperty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.Index.IIndexedProperty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IndexedProperty message, length delimited. Does not implicitly {@link google.datastore.admin.v1.Index.IndexedProperty.verify|verify} messages.
+ * @param message IndexedProperty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.Index.IIndexedProperty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IndexedProperty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IndexedProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.Index.IndexedProperty;
+
+ /**
+ * Decodes an IndexedProperty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IndexedProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.Index.IndexedProperty;
+
+ /**
+ * Verifies an IndexedProperty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an IndexedProperty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IndexedProperty
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.Index.IndexedProperty;
+
+ /**
+ * Creates a plain object from an IndexedProperty message. Also converts values to other types if specified.
+ * @param message IndexedProperty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.Index.IndexedProperty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IndexedProperty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IndexedProperty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ CREATING = 1,
+ READY = 2,
+ DELETING = 3,
+ ERROR = 4
+ }
+ }
+
+ /** Properties of a MigrationStateEvent. */
+ interface IMigrationStateEvent {
+
+ /** MigrationStateEvent state */
+ state?: (google.datastore.admin.v1.MigrationState|keyof typeof google.datastore.admin.v1.MigrationState|null);
+ }
+
+ /** Represents a MigrationStateEvent. */
+ class MigrationStateEvent implements IMigrationStateEvent {
+
+ /**
+ * Constructs a new MigrationStateEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IMigrationStateEvent);
+
+ /** MigrationStateEvent state. */
+ public state: (google.datastore.admin.v1.MigrationState|keyof typeof google.datastore.admin.v1.MigrationState);
+
+ /**
+ * Creates a new MigrationStateEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MigrationStateEvent instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IMigrationStateEvent): google.datastore.admin.v1.MigrationStateEvent;
+
+ /**
+ * Encodes the specified MigrationStateEvent message. Does not implicitly {@link google.datastore.admin.v1.MigrationStateEvent.verify|verify} messages.
+ * @param message MigrationStateEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IMigrationStateEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MigrationStateEvent message, length delimited. Does not implicitly {@link google.datastore.admin.v1.MigrationStateEvent.verify|verify} messages.
+ * @param message MigrationStateEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IMigrationStateEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MigrationStateEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MigrationStateEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.MigrationStateEvent;
+
+ /**
+ * Decodes a MigrationStateEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MigrationStateEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.MigrationStateEvent;
+
+ /**
+ * Verifies a MigrationStateEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MigrationStateEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MigrationStateEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.MigrationStateEvent;
+
+ /**
+ * Creates a plain object from a MigrationStateEvent message. Also converts values to other types if specified.
+ * @param message MigrationStateEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.MigrationStateEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MigrationStateEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MigrationStateEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MigrationProgressEvent. */
+ interface IMigrationProgressEvent {
+
+ /** MigrationProgressEvent step */
+ step?: (google.datastore.admin.v1.MigrationStep|keyof typeof google.datastore.admin.v1.MigrationStep|null);
+
+ /** MigrationProgressEvent prepareStepDetails */
+ prepareStepDetails?: (google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails|null);
+
+ /** MigrationProgressEvent redirectWritesStepDetails */
+ redirectWritesStepDetails?: (google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails|null);
+ }
+
+ /** Represents a MigrationProgressEvent. */
+ class MigrationProgressEvent implements IMigrationProgressEvent {
+
+ /**
+ * Constructs a new MigrationProgressEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.IMigrationProgressEvent);
+
+ /** MigrationProgressEvent step. */
+ public step: (google.datastore.admin.v1.MigrationStep|keyof typeof google.datastore.admin.v1.MigrationStep);
+
+ /** MigrationProgressEvent prepareStepDetails. */
+ public prepareStepDetails?: (google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails|null);
+
+ /** MigrationProgressEvent redirectWritesStepDetails. */
+ public redirectWritesStepDetails?: (google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails|null);
+
+ /** MigrationProgressEvent stepDetails. */
+ public stepDetails?: ("prepareStepDetails"|"redirectWritesStepDetails");
+
+ /**
+ * Creates a new MigrationProgressEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MigrationProgressEvent instance
+ */
+ public static create(properties?: google.datastore.admin.v1.IMigrationProgressEvent): google.datastore.admin.v1.MigrationProgressEvent;
+
+ /**
+ * Encodes the specified MigrationProgressEvent message. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.verify|verify} messages.
+ * @param message MigrationProgressEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.IMigrationProgressEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MigrationProgressEvent message, length delimited. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.verify|verify} messages.
+ * @param message MigrationProgressEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.IMigrationProgressEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MigrationProgressEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MigrationProgressEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.MigrationProgressEvent;
+
+ /**
+ * Decodes a MigrationProgressEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MigrationProgressEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.MigrationProgressEvent;
+
+ /**
+ * Verifies a MigrationProgressEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MigrationProgressEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MigrationProgressEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.MigrationProgressEvent;
+
+ /**
+ * Creates a plain object from a MigrationProgressEvent message. Also converts values to other types if specified.
+ * @param message MigrationProgressEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.MigrationProgressEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MigrationProgressEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MigrationProgressEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MigrationProgressEvent {
+
+ /** ConcurrencyMode enum. */
+ enum ConcurrencyMode {
+ CONCURRENCY_MODE_UNSPECIFIED = 0,
+ PESSIMISTIC = 1,
+ OPTIMISTIC = 2,
+ OPTIMISTIC_WITH_ENTITY_GROUPS = 3
+ }
+
+ /** Properties of a PrepareStepDetails. */
+ interface IPrepareStepDetails {
+
+ /** PrepareStepDetails concurrencyMode */
+ concurrencyMode?: (google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode|keyof typeof google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode|null);
+ }
+
+ /** Represents a PrepareStepDetails. */
+ class PrepareStepDetails implements IPrepareStepDetails {
+
+ /**
+ * Constructs a new PrepareStepDetails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails);
+
+ /** PrepareStepDetails concurrencyMode. */
+ public concurrencyMode: (google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode|keyof typeof google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode);
+
+ /**
+ * Creates a new PrepareStepDetails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PrepareStepDetails instance
+ */
+ public static create(properties?: google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails): google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails;
+
+ /**
+ * Encodes the specified PrepareStepDetails message. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.verify|verify} messages.
+ * @param message PrepareStepDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PrepareStepDetails message, length delimited. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.verify|verify} messages.
+ * @param message PrepareStepDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PrepareStepDetails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PrepareStepDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails;
+
+ /**
+ * Decodes a PrepareStepDetails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PrepareStepDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails;
+
+ /**
+ * Verifies a PrepareStepDetails message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PrepareStepDetails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PrepareStepDetails
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails;
+
+ /**
+ * Creates a plain object from a PrepareStepDetails message. Also converts values to other types if specified.
+ * @param message PrepareStepDetails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PrepareStepDetails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PrepareStepDetails
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RedirectWritesStepDetails. */
+ interface IRedirectWritesStepDetails {
+
+ /** RedirectWritesStepDetails concurrencyMode */
+ concurrencyMode?: (google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode|keyof typeof google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode|null);
+ }
+
+ /** Represents a RedirectWritesStepDetails. */
+ class RedirectWritesStepDetails implements IRedirectWritesStepDetails {
+
+ /**
+ * Constructs a new RedirectWritesStepDetails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails);
+
+ /** RedirectWritesStepDetails concurrencyMode. */
+ public concurrencyMode: (google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode|keyof typeof google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode);
+
+ /**
+ * Creates a new RedirectWritesStepDetails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RedirectWritesStepDetails instance
+ */
+ public static create(properties?: google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails): google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails;
+
+ /**
+ * Encodes the specified RedirectWritesStepDetails message. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.verify|verify} messages.
+ * @param message RedirectWritesStepDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RedirectWritesStepDetails message, length delimited. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.verify|verify} messages.
+ * @param message RedirectWritesStepDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RedirectWritesStepDetails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RedirectWritesStepDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails;
+
+ /**
+ * Decodes a RedirectWritesStepDetails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RedirectWritesStepDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails;
+
+ /**
+ * Verifies a RedirectWritesStepDetails message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RedirectWritesStepDetails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RedirectWritesStepDetails
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails;
+
+ /**
+ * Creates a plain object from a RedirectWritesStepDetails message. Also converts values to other types if specified.
+ * @param message RedirectWritesStepDetails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RedirectWritesStepDetails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RedirectWritesStepDetails
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** MigrationState enum. */
+ enum MigrationState {
+ MIGRATION_STATE_UNSPECIFIED = 0,
+ RUNNING = 1,
+ PAUSED = 2,
+ COMPLETE = 3
+ }
+
+ /** MigrationStep enum. */
+ enum MigrationStep {
+ MIGRATION_STEP_UNSPECIFIED = 0,
+ PREPARE = 6,
+ START = 1,
+ APPLY_WRITES_SYNCHRONOUSLY = 7,
+ COPY_AND_VERIFY = 2,
+ REDIRECT_EVENTUALLY_CONSISTENT_READS = 3,
+ REDIRECT_STRONGLY_CONSISTENT_READS = 4,
+ REDIRECT_WRITES = 5
+ }
+ }
+ }
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of an AggregationResult. */
+ interface IAggregationResult {
+
+ /** AggregationResult aggregateProperties */
+ aggregateProperties?: ({ [k: string]: google.datastore.v1.IValue }|null);
+ }
+
+ /** Represents an AggregationResult. */
+ class AggregationResult implements IAggregationResult {
+
+ /**
+ * Constructs a new AggregationResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IAggregationResult);
+
+ /** AggregationResult aggregateProperties. */
+ public aggregateProperties: { [k: string]: google.datastore.v1.IValue };
+
+ /**
+ * Creates a new AggregationResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AggregationResult instance
+ */
+ public static create(properties?: google.datastore.v1.IAggregationResult): google.datastore.v1.AggregationResult;
+
+ /**
+ * Encodes the specified AggregationResult message. Does not implicitly {@link google.datastore.v1.AggregationResult.verify|verify} messages.
+ * @param message AggregationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IAggregationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AggregationResult message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationResult.verify|verify} messages.
+ * @param message AggregationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IAggregationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AggregationResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AggregationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AggregationResult;
+
+ /**
+ * Decodes an AggregationResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AggregationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AggregationResult;
+
+ /**
+ * Verifies an AggregationResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AggregationResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AggregationResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AggregationResult;
+
+ /**
+ * Creates a plain object from an AggregationResult message. Also converts values to other types if specified.
+ * @param message AggregationResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AggregationResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AggregationResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AggregationResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AggregationResultBatch. */
+ interface IAggregationResultBatch {
+
+ /** AggregationResultBatch aggregationResults */
+ aggregationResults?: (google.datastore.v1.IAggregationResult[]|null);
+
+ /** AggregationResultBatch moreResults */
+ moreResults?: (google.datastore.v1.QueryResultBatch.MoreResultsType|keyof typeof google.datastore.v1.QueryResultBatch.MoreResultsType|null);
+
+ /** AggregationResultBatch readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an AggregationResultBatch. */
+ class AggregationResultBatch implements IAggregationResultBatch {
+
+ /**
+ * Constructs a new AggregationResultBatch.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IAggregationResultBatch);
+
+ /** AggregationResultBatch aggregationResults. */
+ public aggregationResults: google.datastore.v1.IAggregationResult[];
+
+ /** AggregationResultBatch moreResults. */
+ public moreResults: (google.datastore.v1.QueryResultBatch.MoreResultsType|keyof typeof google.datastore.v1.QueryResultBatch.MoreResultsType);
+
+ /** AggregationResultBatch readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new AggregationResultBatch instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AggregationResultBatch instance
+ */
+ public static create(properties?: google.datastore.v1.IAggregationResultBatch): google.datastore.v1.AggregationResultBatch;
+
+ /**
+ * Encodes the specified AggregationResultBatch message. Does not implicitly {@link google.datastore.v1.AggregationResultBatch.verify|verify} messages.
+ * @param message AggregationResultBatch message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IAggregationResultBatch, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AggregationResultBatch message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationResultBatch.verify|verify} messages.
+ * @param message AggregationResultBatch message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IAggregationResultBatch, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AggregationResultBatch message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AggregationResultBatch
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AggregationResultBatch;
+
+ /**
+ * Decodes an AggregationResultBatch message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AggregationResultBatch
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AggregationResultBatch;
+
+ /**
+ * Verifies an AggregationResultBatch message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AggregationResultBatch message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AggregationResultBatch
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AggregationResultBatch;
+
+ /**
+ * Creates a plain object from an AggregationResultBatch message. Also converts values to other types if specified.
+ * @param message AggregationResultBatch
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AggregationResultBatch, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AggregationResultBatch to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AggregationResultBatch
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PartitionId. */
+ interface IPartitionId {
+
+ /** PartitionId projectId */
+ projectId?: (string|null);
+
+ /** PartitionId databaseId */
+ databaseId?: (string|null);
+
+ /** PartitionId namespaceId */
+ namespaceId?: (string|null);
+ }
+
+ /** Represents a PartitionId. */
+ class PartitionId implements IPartitionId {
+
+ /**
+ * Constructs a new PartitionId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IPartitionId);
+
+ /** PartitionId projectId. */
+ public projectId: string;
+
+ /** PartitionId databaseId. */
+ public databaseId: string;
+
+ /** PartitionId namespaceId. */
+ public namespaceId: string;
+
+ /**
+ * Creates a new PartitionId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PartitionId instance
+ */
+ public static create(properties?: google.datastore.v1.IPartitionId): google.datastore.v1.PartitionId;
+
+ /**
+ * Encodes the specified PartitionId message. Does not implicitly {@link google.datastore.v1.PartitionId.verify|verify} messages.
+ * @param message PartitionId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IPartitionId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PartitionId message, length delimited. Does not implicitly {@link google.datastore.v1.PartitionId.verify|verify} messages.
+ * @param message PartitionId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IPartitionId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PartitionId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PartitionId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.PartitionId;
+
+ /**
+ * Decodes a PartitionId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PartitionId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.PartitionId;
+
+ /**
+ * Verifies a PartitionId message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PartitionId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PartitionId
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.PartitionId;
+
+ /**
+ * Creates a plain object from a PartitionId message. Also converts values to other types if specified.
+ * @param message PartitionId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.PartitionId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PartitionId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PartitionId
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Key. */
+ interface IKey {
+
+ /** Key partitionId */
+ partitionId?: (google.datastore.v1.IPartitionId|null);
+
+ /** Key path */
+ path?: (google.datastore.v1.Key.IPathElement[]|null);
+ }
+
+ /** Represents a Key. */
+ class Key implements IKey {
+
+ /**
+ * Constructs a new Key.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IKey);
+
+ /** Key partitionId. */
+ public partitionId?: (google.datastore.v1.IPartitionId|null);
+
+ /** Key path. */
+ public path: google.datastore.v1.Key.IPathElement[];
+
+ /**
+ * Creates a new Key instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Key instance
+ */
+ public static create(properties?: google.datastore.v1.IKey): google.datastore.v1.Key;
+
+ /**
+ * Encodes the specified Key message. Does not implicitly {@link google.datastore.v1.Key.verify|verify} messages.
+ * @param message Key message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Key message, length delimited. Does not implicitly {@link google.datastore.v1.Key.verify|verify} messages.
+ * @param message Key message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Key message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Key
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.Key;
+
+ /**
+ * Decodes a Key message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Key
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.Key;
+
+ /**
+ * Verifies a Key message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Key message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Key
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.Key;
+
+ /**
+ * Creates a plain object from a Key message. Also converts values to other types if specified.
+ * @param message Key
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.Key, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Key to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Key
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Key {
+
+ /** Properties of a PathElement. */
+ interface IPathElement {
+
+ /** PathElement kind */
+ kind?: (string|null);
+
+ /** PathElement id */
+ id?: (number|Long|string|null);
+
+ /** PathElement name */
+ name?: (string|null);
+ }
+
+ /** Represents a PathElement. */
+ class PathElement implements IPathElement {
+
+ /**
+ * Constructs a new PathElement.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.Key.IPathElement);
+
+ /** PathElement kind. */
+ public kind: string;
+
+ /** PathElement id. */
+ public id?: (number|Long|string|null);
+
+ /** PathElement name. */
+ public name?: (string|null);
+
+ /** PathElement idType. */
+ public idType?: ("id"|"name");
+
+ /**
+ * Creates a new PathElement instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PathElement instance
+ */
+ public static create(properties?: google.datastore.v1.Key.IPathElement): google.datastore.v1.Key.PathElement;
+
+ /**
+ * Encodes the specified PathElement message. Does not implicitly {@link google.datastore.v1.Key.PathElement.verify|verify} messages.
+ * @param message PathElement message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.Key.IPathElement, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PathElement message, length delimited. Does not implicitly {@link google.datastore.v1.Key.PathElement.verify|verify} messages.
+ * @param message PathElement message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.Key.IPathElement, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PathElement message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PathElement
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.Key.PathElement;
+
+ /**
+ * Decodes a PathElement message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PathElement
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.Key.PathElement;
+
+ /**
+ * Verifies a PathElement message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PathElement message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PathElement
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.Key.PathElement;
+
+ /**
+ * Creates a plain object from a PathElement message. Also converts values to other types if specified.
+ * @param message PathElement
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.Key.PathElement, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PathElement to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PathElement
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ArrayValue. */
+ interface IArrayValue {
+
+ /** ArrayValue values */
+ values?: (google.datastore.v1.IValue[]|null);
+ }
+
+ /** Represents an ArrayValue. */
+ class ArrayValue implements IArrayValue {
+
+ /**
+ * Constructs a new ArrayValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IArrayValue);
+
+ /** ArrayValue values. */
+ public values: google.datastore.v1.IValue[];
+
+ /**
+ * Creates a new ArrayValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ArrayValue instance
+ */
+ public static create(properties?: google.datastore.v1.IArrayValue): google.datastore.v1.ArrayValue;
+
+ /**
+ * Encodes the specified ArrayValue message. Does not implicitly {@link google.datastore.v1.ArrayValue.verify|verify} messages.
+ * @param message ArrayValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IArrayValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ArrayValue message, length delimited. Does not implicitly {@link google.datastore.v1.ArrayValue.verify|verify} messages.
+ * @param message ArrayValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IArrayValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ArrayValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ArrayValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.ArrayValue;
+
+ /**
+ * Decodes an ArrayValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ArrayValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.ArrayValue;
+
+ /**
+ * Verifies an ArrayValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ArrayValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ArrayValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.ArrayValue;
+
+ /**
+ * Creates a plain object from an ArrayValue message. Also converts values to other types if specified.
+ * @param message ArrayValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.ArrayValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ArrayValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ArrayValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Value. */
+ interface IValue {
+
+ /** Value nullValue */
+ nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value booleanValue */
+ booleanValue?: (boolean|null);
+
+ /** Value integerValue */
+ integerValue?: (number|Long|string|null);
+
+ /** Value doubleValue */
+ doubleValue?: (number|null);
+
+ /** Value timestampValue */
+ timestampValue?: (google.protobuf.ITimestamp|null);
+
+ /** Value keyValue */
+ keyValue?: (google.datastore.v1.IKey|null);
+
+ /** Value stringValue */
+ stringValue?: (string|null);
+
+ /** Value blobValue */
+ blobValue?: (Uint8Array|Buffer|string|null);
+
+ /** Value geoPointValue */
+ geoPointValue?: (google.type.ILatLng|null);
+
+ /** Value entityValue */
+ entityValue?: (google.datastore.v1.IEntity|null);
+
+ /** Value arrayValue */
+ arrayValue?: (google.datastore.v1.IArrayValue|null);
+
+ /** Value meaning */
+ meaning?: (number|null);
+
+ /** Value excludeFromIndexes */
+ excludeFromIndexes?: (boolean|null);
+ }
+
+ /** Represents a Value. */
+ class Value implements IValue {
+
+ /**
+ * Constructs a new Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IValue);
+
+ /** Value nullValue. */
+ public nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value booleanValue. */
+ public booleanValue?: (boolean|null);
+
+ /** Value integerValue. */
+ public integerValue?: (number|Long|string|null);
+
+ /** Value doubleValue. */
+ public doubleValue?: (number|null);
+
+ /** Value timestampValue. */
+ public timestampValue?: (google.protobuf.ITimestamp|null);
+
+ /** Value keyValue. */
+ public keyValue?: (google.datastore.v1.IKey|null);
+
+ /** Value stringValue. */
+ public stringValue?: (string|null);
+
+ /** Value blobValue. */
+ public blobValue?: (Uint8Array|Buffer|string|null);
+
+ /** Value geoPointValue. */
+ public geoPointValue?: (google.type.ILatLng|null);
+
+ /** Value entityValue. */
+ public entityValue?: (google.datastore.v1.IEntity|null);
+
+ /** Value arrayValue. */
+ public arrayValue?: (google.datastore.v1.IArrayValue|null);
+
+ /** Value meaning. */
+ public meaning: number;
+
+ /** Value excludeFromIndexes. */
+ public excludeFromIndexes: boolean;
+
+ /** Value valueType. */
+ public valueType?: ("nullValue"|"booleanValue"|"integerValue"|"doubleValue"|"timestampValue"|"keyValue"|"stringValue"|"blobValue"|"geoPointValue"|"entityValue"|"arrayValue");
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Value instance
+ */
+ public static create(properties?: google.datastore.v1.IValue): google.datastore.v1.Value;
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.datastore.v1.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.datastore.v1.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.Value;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.Value;
+
+ /**
+ * Verifies a Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.Value;
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @param message Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Entity. */
+ interface IEntity {
+
+ /** Entity key */
+ key?: (google.datastore.v1.IKey|null);
+
+ /** Entity properties */
+ properties?: ({ [k: string]: google.datastore.v1.IValue }|null);
+ }
+
+ /** Represents an Entity. */
+ class Entity implements IEntity {
+
+ /**
+ * Constructs a new Entity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IEntity);
+
+ /** Entity key. */
+ public key?: (google.datastore.v1.IKey|null);
+
+ /** Entity properties. */
+ public properties: { [k: string]: google.datastore.v1.IValue };
+
+ /**
+ * Creates a new Entity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Entity instance
+ */
+ public static create(properties?: google.datastore.v1.IEntity): google.datastore.v1.Entity;
+
+ /**
+ * Encodes the specified Entity message. Does not implicitly {@link google.datastore.v1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.datastore.v1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.Entity;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.Entity;
+
+ /**
+ * Verifies an Entity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Entity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Entity
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.Entity;
+
+ /**
+ * Creates a plain object from an Entity message. Also converts values to other types if specified.
+ * @param message Entity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Entity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Entity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EntityResult. */
+ interface IEntityResult {
+
+ /** EntityResult entity */
+ entity?: (google.datastore.v1.IEntity|null);
+
+ /** EntityResult version */
+ version?: (number|Long|string|null);
+
+ /** EntityResult createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** EntityResult updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** EntityResult cursor */
+ cursor?: (Uint8Array|Buffer|string|null);
+ }
+
+ /** Represents an EntityResult. */
+ class EntityResult implements IEntityResult {
+
+ /**
+ * Constructs a new EntityResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IEntityResult);
+
+ /** EntityResult entity. */
+ public entity?: (google.datastore.v1.IEntity|null);
+
+ /** EntityResult version. */
+ public version: (number|Long|string);
+
+ /** EntityResult createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** EntityResult updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** EntityResult cursor. */
+ public cursor: (Uint8Array|Buffer|string);
+
+ /**
+ * Creates a new EntityResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EntityResult instance
+ */
+ public static create(properties?: google.datastore.v1.IEntityResult): google.datastore.v1.EntityResult;
+
+ /**
+ * Encodes the specified EntityResult message. Does not implicitly {@link google.datastore.v1.EntityResult.verify|verify} messages.
+ * @param message EntityResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IEntityResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EntityResult message, length delimited. Does not implicitly {@link google.datastore.v1.EntityResult.verify|verify} messages.
+ * @param message EntityResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IEntityResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EntityResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EntityResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.EntityResult;
+
+ /**
+ * Decodes an EntityResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EntityResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.EntityResult;
+
+ /**
+ * Verifies an EntityResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EntityResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EntityResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.EntityResult;
+
+ /**
+ * Creates a plain object from an EntityResult message. Also converts values to other types if specified.
+ * @param message EntityResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.EntityResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EntityResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EntityResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EntityResult {
+
+ /** ResultType enum. */
+ enum ResultType {
+ RESULT_TYPE_UNSPECIFIED = 0,
+ FULL = 1,
+ PROJECTION = 2,
+ KEY_ONLY = 3
+ }
+ }
+
+ /** Properties of a Query. */
+ interface IQuery {
+
+ /** Query projection */
+ projection?: (google.datastore.v1.IProjection[]|null);
+
+ /** Query kind */
+ kind?: (google.datastore.v1.IKindExpression[]|null);
+
+ /** Query filter */
+ filter?: (google.datastore.v1.IFilter|null);
+
+ /** Query order */
+ order?: (google.datastore.v1.IPropertyOrder[]|null);
+
+ /** Query distinctOn */
+ distinctOn?: (google.datastore.v1.IPropertyReference[]|null);
+
+ /** Query startCursor */
+ startCursor?: (Uint8Array|Buffer|string|null);
+
+ /** Query endCursor */
+ endCursor?: (Uint8Array|Buffer|string|null);
+
+ /** Query offset */
+ offset?: (number|null);
+
+ /** Query limit */
+ limit?: (google.protobuf.IInt32Value|null);
+
+ /** Query findNearest */
+ findNearest?: (google.datastore.v1.IFindNearest|null);
+ }
+
+ /** Represents a Query. */
+ class Query implements IQuery {
+
+ /**
+ * Constructs a new Query.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IQuery);
+
+ /** Query projection. */
+ public projection: google.datastore.v1.IProjection[];
+
+ /** Query kind. */
+ public kind: google.datastore.v1.IKindExpression[];
+
+ /** Query filter. */
+ public filter?: (google.datastore.v1.IFilter|null);
+
+ /** Query order. */
+ public order: google.datastore.v1.IPropertyOrder[];
+
+ /** Query distinctOn. */
+ public distinctOn: google.datastore.v1.IPropertyReference[];
+
+ /** Query startCursor. */
+ public startCursor: (Uint8Array|Buffer|string);
+
+ /** Query endCursor. */
+ public endCursor: (Uint8Array|Buffer|string);
+
+ /** Query offset. */
+ public offset: number;
+
+ /** Query limit. */
+ public limit?: (google.protobuf.IInt32Value|null);
+
+ /** Query findNearest. */
+ public findNearest?: (google.datastore.v1.IFindNearest|null);
+
+ /**
+ * Creates a new Query instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Query instance
+ */
+ public static create(properties?: google.datastore.v1.IQuery): google.datastore.v1.Query;
+
+ /**
+ * Encodes the specified Query message. Does not implicitly {@link google.datastore.v1.Query.verify|verify} messages.
+ * @param message Query message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Query message, length delimited. Does not implicitly {@link google.datastore.v1.Query.verify|verify} messages.
+ * @param message Query message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Query message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Query
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.Query;
+
+ /**
+ * Decodes a Query message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Query
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.Query;
+
+ /**
+ * Verifies a Query message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Query message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Query
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.Query;
+
+ /**
+ * Creates a plain object from a Query message. Also converts values to other types if specified.
+ * @param message Query
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.Query, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Query to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Query
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AggregationQuery. */
+ interface IAggregationQuery {
+
+ /** AggregationQuery nestedQuery */
+ nestedQuery?: (google.datastore.v1.IQuery|null);
+
+ /** AggregationQuery aggregations */
+ aggregations?: (google.datastore.v1.AggregationQuery.IAggregation[]|null);
+ }
+
+ /** Represents an AggregationQuery. */
+ class AggregationQuery implements IAggregationQuery {
+
+ /**
+ * Constructs a new AggregationQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IAggregationQuery);
+
+ /** AggregationQuery nestedQuery. */
+ public nestedQuery?: (google.datastore.v1.IQuery|null);
+
+ /** AggregationQuery aggregations. */
+ public aggregations: google.datastore.v1.AggregationQuery.IAggregation[];
+
+ /** AggregationQuery queryType. */
+ public queryType?: "nestedQuery";
+
+ /**
+ * Creates a new AggregationQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AggregationQuery instance
+ */
+ public static create(properties?: google.datastore.v1.IAggregationQuery): google.datastore.v1.AggregationQuery;
+
+ /**
+ * Encodes the specified AggregationQuery message. Does not implicitly {@link google.datastore.v1.AggregationQuery.verify|verify} messages.
+ * @param message AggregationQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IAggregationQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AggregationQuery message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.verify|verify} messages.
+ * @param message AggregationQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IAggregationQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AggregationQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AggregationQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AggregationQuery;
+
+ /**
+ * Decodes an AggregationQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AggregationQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AggregationQuery;
+
+ /**
+ * Verifies an AggregationQuery message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AggregationQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AggregationQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AggregationQuery;
+
+ /**
+ * Creates a plain object from an AggregationQuery message. Also converts values to other types if specified.
+ * @param message AggregationQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AggregationQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AggregationQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AggregationQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AggregationQuery {
+
+ /** Properties of an Aggregation. */
+ interface IAggregation {
+
+ /** Aggregation count */
+ count?: (google.datastore.v1.AggregationQuery.Aggregation.ICount|null);
+
+ /** Aggregation sum */
+ sum?: (google.datastore.v1.AggregationQuery.Aggregation.ISum|null);
+
+ /** Aggregation avg */
+ avg?: (google.datastore.v1.AggregationQuery.Aggregation.IAvg|null);
+
+ /** Aggregation alias */
+ alias?: (string|null);
+ }
+
+ /** Represents an Aggregation. */
+ class Aggregation implements IAggregation {
+
+ /**
+ * Constructs a new Aggregation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.AggregationQuery.IAggregation);
+
+ /** Aggregation count. */
+ public count?: (google.datastore.v1.AggregationQuery.Aggregation.ICount|null);
+
+ /** Aggregation sum. */
+ public sum?: (google.datastore.v1.AggregationQuery.Aggregation.ISum|null);
+
+ /** Aggregation avg. */
+ public avg?: (google.datastore.v1.AggregationQuery.Aggregation.IAvg|null);
+
+ /** Aggregation alias. */
+ public alias: string;
+
+ /** Aggregation operator. */
+ public operator?: ("count"|"sum"|"avg");
+
+ /**
+ * Creates a new Aggregation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Aggregation instance
+ */
+ public static create(properties?: google.datastore.v1.AggregationQuery.IAggregation): google.datastore.v1.AggregationQuery.Aggregation;
+
+ /**
+ * Encodes the specified Aggregation message. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.verify|verify} messages.
+ * @param message Aggregation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.AggregationQuery.IAggregation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Aggregation message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.verify|verify} messages.
+ * @param message Aggregation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.AggregationQuery.IAggregation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Aggregation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Aggregation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AggregationQuery.Aggregation;
+
+ /**
+ * Decodes an Aggregation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Aggregation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AggregationQuery.Aggregation;
+
+ /**
+ * Verifies an Aggregation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Aggregation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Aggregation
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AggregationQuery.Aggregation;
+
+ /**
+ * Creates a plain object from an Aggregation message. Also converts values to other types if specified.
+ * @param message Aggregation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AggregationQuery.Aggregation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Aggregation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Aggregation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Aggregation {
+
+ /** Properties of a Count. */
+ interface ICount {
+
+ /** Count upTo */
+ upTo?: (google.protobuf.IInt64Value|null);
+ }
+
+ /** Represents a Count. */
+ class Count implements ICount {
+
+ /**
+ * Constructs a new Count.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.AggregationQuery.Aggregation.ICount);
+
+ /** Count upTo. */
+ public upTo?: (google.protobuf.IInt64Value|null);
+
+ /**
+ * Creates a new Count instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Count instance
+ */
+ public static create(properties?: google.datastore.v1.AggregationQuery.Aggregation.ICount): google.datastore.v1.AggregationQuery.Aggregation.Count;
+
+ /**
+ * Encodes the specified Count message. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Count.verify|verify} messages.
+ * @param message Count message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.AggregationQuery.Aggregation.ICount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Count message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Count.verify|verify} messages.
+ * @param message Count message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.AggregationQuery.Aggregation.ICount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Count message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Count
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AggregationQuery.Aggregation.Count;
+
+ /**
+ * Decodes a Count message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Count
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AggregationQuery.Aggregation.Count;
+
+ /**
+ * Verifies a Count message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Count message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Count
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AggregationQuery.Aggregation.Count;
+
+ /**
+ * Creates a plain object from a Count message. Also converts values to other types if specified.
+ * @param message Count
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AggregationQuery.Aggregation.Count, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Count to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Count
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Sum. */
+ interface ISum {
+
+ /** Sum property */
+ property?: (google.datastore.v1.IPropertyReference|null);
+ }
+
+ /** Represents a Sum. */
+ class Sum implements ISum {
+
+ /**
+ * Constructs a new Sum.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.AggregationQuery.Aggregation.ISum);
+
+ /** Sum property. */
+ public property?: (google.datastore.v1.IPropertyReference|null);
+
+ /**
+ * Creates a new Sum instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Sum instance
+ */
+ public static create(properties?: google.datastore.v1.AggregationQuery.Aggregation.ISum): google.datastore.v1.AggregationQuery.Aggregation.Sum;
+
+ /**
+ * Encodes the specified Sum message. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Sum.verify|verify} messages.
+ * @param message Sum message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.AggregationQuery.Aggregation.ISum, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Sum message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Sum.verify|verify} messages.
+ * @param message Sum message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.AggregationQuery.Aggregation.ISum, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Sum message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Sum
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AggregationQuery.Aggregation.Sum;
+
+ /**
+ * Decodes a Sum message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Sum
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AggregationQuery.Aggregation.Sum;
+
+ /**
+ * Verifies a Sum message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Sum message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Sum
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AggregationQuery.Aggregation.Sum;
+
+ /**
+ * Creates a plain object from a Sum message. Also converts values to other types if specified.
+ * @param message Sum
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AggregationQuery.Aggregation.Sum, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Sum to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Sum
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Avg. */
+ interface IAvg {
+
+ /** Avg property */
+ property?: (google.datastore.v1.IPropertyReference|null);
+ }
+
+ /** Represents an Avg. */
+ class Avg implements IAvg {
+
+ /**
+ * Constructs a new Avg.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.AggregationQuery.Aggregation.IAvg);
+
+ /** Avg property. */
+ public property?: (google.datastore.v1.IPropertyReference|null);
+
+ /**
+ * Creates a new Avg instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Avg instance
+ */
+ public static create(properties?: google.datastore.v1.AggregationQuery.Aggregation.IAvg): google.datastore.v1.AggregationQuery.Aggregation.Avg;
+
+ /**
+ * Encodes the specified Avg message. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Avg.verify|verify} messages.
+ * @param message Avg message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.AggregationQuery.Aggregation.IAvg, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Avg message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Avg.verify|verify} messages.
+ * @param message Avg message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.AggregationQuery.Aggregation.IAvg, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Avg message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Avg
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AggregationQuery.Aggregation.Avg;
+
+ /**
+ * Decodes an Avg message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Avg
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AggregationQuery.Aggregation.Avg;
+
+ /**
+ * Verifies an Avg message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Avg message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Avg
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AggregationQuery.Aggregation.Avg;
+
+ /**
+ * Creates a plain object from an Avg message. Also converts values to other types if specified.
+ * @param message Avg
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AggregationQuery.Aggregation.Avg, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Avg to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Avg
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Properties of a KindExpression. */
+ interface IKindExpression {
+
+ /** KindExpression name */
+ name?: (string|null);
+ }
+
+ /** Represents a KindExpression. */
+ class KindExpression implements IKindExpression {
+
+ /**
+ * Constructs a new KindExpression.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IKindExpression);
+
+ /** KindExpression name. */
+ public name: string;
+
+ /**
+ * Creates a new KindExpression instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KindExpression instance
+ */
+ public static create(properties?: google.datastore.v1.IKindExpression): google.datastore.v1.KindExpression;
+
+ /**
+ * Encodes the specified KindExpression message. Does not implicitly {@link google.datastore.v1.KindExpression.verify|verify} messages.
+ * @param message KindExpression message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IKindExpression, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KindExpression message, length delimited. Does not implicitly {@link google.datastore.v1.KindExpression.verify|verify} messages.
+ * @param message KindExpression message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IKindExpression, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KindExpression message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KindExpression
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.KindExpression;
+
+ /**
+ * Decodes a KindExpression message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KindExpression
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.KindExpression;
+
+ /**
+ * Verifies a KindExpression message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KindExpression message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KindExpression
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.KindExpression;
+
+ /**
+ * Creates a plain object from a KindExpression message. Also converts values to other types if specified.
+ * @param message KindExpression
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.KindExpression, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KindExpression to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KindExpression
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PropertyReference. */
+ interface IPropertyReference {
+
+ /** PropertyReference name */
+ name?: (string|null);
+ }
+
+ /** Represents a PropertyReference. */
+ class PropertyReference implements IPropertyReference {
+
+ /**
+ * Constructs a new PropertyReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IPropertyReference);
+
+ /** PropertyReference name. */
+ public name: string;
+
+ /**
+ * Creates a new PropertyReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PropertyReference instance
+ */
+ public static create(properties?: google.datastore.v1.IPropertyReference): google.datastore.v1.PropertyReference;
+
+ /**
+ * Encodes the specified PropertyReference message. Does not implicitly {@link google.datastore.v1.PropertyReference.verify|verify} messages.
+ * @param message PropertyReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IPropertyReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PropertyReference message, length delimited. Does not implicitly {@link google.datastore.v1.PropertyReference.verify|verify} messages.
+ * @param message PropertyReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IPropertyReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PropertyReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PropertyReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.PropertyReference;
+
+ /**
+ * Decodes a PropertyReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PropertyReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.PropertyReference;
+
+ /**
+ * Verifies a PropertyReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PropertyReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PropertyReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.PropertyReference;
+
+ /**
+ * Creates a plain object from a PropertyReference message. Also converts values to other types if specified.
+ * @param message PropertyReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.PropertyReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PropertyReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PropertyReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Projection. */
+ interface IProjection {
+
+ /** Projection property */
+ property?: (google.datastore.v1.IPropertyReference|null);
+ }
+
+ /** Represents a Projection. */
+ class Projection implements IProjection {
+
+ /**
+ * Constructs a new Projection.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IProjection);
+
+ /** Projection property. */
+ public property?: (google.datastore.v1.IPropertyReference|null);
+
+ /**
+ * Creates a new Projection instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Projection instance
+ */
+ public static create(properties?: google.datastore.v1.IProjection): google.datastore.v1.Projection;
+
+ /**
+ * Encodes the specified Projection message. Does not implicitly {@link google.datastore.v1.Projection.verify|verify} messages.
+ * @param message Projection message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IProjection, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Projection message, length delimited. Does not implicitly {@link google.datastore.v1.Projection.verify|verify} messages.
+ * @param message Projection message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IProjection, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Projection message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Projection
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.Projection;
+
+ /**
+ * Decodes a Projection message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Projection
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.Projection;
+
+ /**
+ * Verifies a Projection message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Projection message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Projection
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.Projection;
+
+ /**
+ * Creates a plain object from a Projection message. Also converts values to other types if specified.
+ * @param message Projection
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.Projection, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Projection to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Projection
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PropertyOrder. */
+ interface IPropertyOrder {
+
+ /** PropertyOrder property */
+ property?: (google.datastore.v1.IPropertyReference|null);
+
+ /** PropertyOrder direction */
+ direction?: (google.datastore.v1.PropertyOrder.Direction|keyof typeof google.datastore.v1.PropertyOrder.Direction|null);
+ }
+
+ /** Represents a PropertyOrder. */
+ class PropertyOrder implements IPropertyOrder {
+
+ /**
+ * Constructs a new PropertyOrder.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IPropertyOrder);
+
+ /** PropertyOrder property. */
+ public property?: (google.datastore.v1.IPropertyReference|null);
+
+ /** PropertyOrder direction. */
+ public direction: (google.datastore.v1.PropertyOrder.Direction|keyof typeof google.datastore.v1.PropertyOrder.Direction);
+
+ /**
+ * Creates a new PropertyOrder instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PropertyOrder instance
+ */
+ public static create(properties?: google.datastore.v1.IPropertyOrder): google.datastore.v1.PropertyOrder;
+
+ /**
+ * Encodes the specified PropertyOrder message. Does not implicitly {@link google.datastore.v1.PropertyOrder.verify|verify} messages.
+ * @param message PropertyOrder message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IPropertyOrder, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PropertyOrder message, length delimited. Does not implicitly {@link google.datastore.v1.PropertyOrder.verify|verify} messages.
+ * @param message PropertyOrder message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IPropertyOrder, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PropertyOrder message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PropertyOrder
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.PropertyOrder;
+
+ /**
+ * Decodes a PropertyOrder message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PropertyOrder
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.PropertyOrder;
+
+ /**
+ * Verifies a PropertyOrder message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PropertyOrder message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PropertyOrder
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.PropertyOrder;
+
+ /**
+ * Creates a plain object from a PropertyOrder message. Also converts values to other types if specified.
+ * @param message PropertyOrder
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.PropertyOrder, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PropertyOrder to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PropertyOrder
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PropertyOrder {
+
+ /** Direction enum. */
+ enum Direction {
+ DIRECTION_UNSPECIFIED = 0,
+ ASCENDING = 1,
+ DESCENDING = 2
+ }
+ }
+
+ /** Properties of a Filter. */
+ interface IFilter {
+
+ /** Filter compositeFilter */
+ compositeFilter?: (google.datastore.v1.ICompositeFilter|null);
+
+ /** Filter propertyFilter */
+ propertyFilter?: (google.datastore.v1.IPropertyFilter|null);
+ }
+
+ /** Represents a Filter. */
+ class Filter implements IFilter {
+
+ /**
+ * Constructs a new Filter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IFilter);
+
+ /** Filter compositeFilter. */
+ public compositeFilter?: (google.datastore.v1.ICompositeFilter|null);
+
+ /** Filter propertyFilter. */
+ public propertyFilter?: (google.datastore.v1.IPropertyFilter|null);
+
+ /** Filter filterType. */
+ public filterType?: ("compositeFilter"|"propertyFilter");
+
+ /**
+ * Creates a new Filter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Filter instance
+ */
+ public static create(properties?: google.datastore.v1.IFilter): google.datastore.v1.Filter;
+
+ /**
+ * Encodes the specified Filter message. Does not implicitly {@link google.datastore.v1.Filter.verify|verify} messages.
+ * @param message Filter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Filter message, length delimited. Does not implicitly {@link google.datastore.v1.Filter.verify|verify} messages.
+ * @param message Filter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Filter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Filter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.Filter;
+
+ /**
+ * Decodes a Filter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Filter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.Filter;
+
+ /**
+ * Verifies a Filter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Filter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Filter
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.Filter;
+
+ /**
+ * Creates a plain object from a Filter message. Also converts values to other types if specified.
+ * @param message Filter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.Filter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Filter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Filter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompositeFilter. */
+ interface ICompositeFilter {
+
+ /** CompositeFilter op */
+ op?: (google.datastore.v1.CompositeFilter.Operator|keyof typeof google.datastore.v1.CompositeFilter.Operator|null);
+
+ /** CompositeFilter filters */
+ filters?: (google.datastore.v1.IFilter[]|null);
+ }
+
+ /** Represents a CompositeFilter. */
+ class CompositeFilter implements ICompositeFilter {
+
+ /**
+ * Constructs a new CompositeFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.ICompositeFilter);
+
+ /** CompositeFilter op. */
+ public op: (google.datastore.v1.CompositeFilter.Operator|keyof typeof google.datastore.v1.CompositeFilter.Operator);
+
+ /** CompositeFilter filters. */
+ public filters: google.datastore.v1.IFilter[];
+
+ /**
+ * Creates a new CompositeFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompositeFilter instance
+ */
+ public static create(properties?: google.datastore.v1.ICompositeFilter): google.datastore.v1.CompositeFilter;
+
+ /**
+ * Encodes the specified CompositeFilter message. Does not implicitly {@link google.datastore.v1.CompositeFilter.verify|verify} messages.
+ * @param message CompositeFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.ICompositeFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompositeFilter message, length delimited. Does not implicitly {@link google.datastore.v1.CompositeFilter.verify|verify} messages.
+ * @param message CompositeFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.ICompositeFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompositeFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompositeFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.CompositeFilter;
+
+ /**
+ * Decodes a CompositeFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompositeFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.CompositeFilter;
+
+ /**
+ * Verifies a CompositeFilter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompositeFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompositeFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.CompositeFilter;
+
+ /**
+ * Creates a plain object from a CompositeFilter message. Also converts values to other types if specified.
+ * @param message CompositeFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.CompositeFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompositeFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompositeFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompositeFilter {
+
+ /** Operator enum. */
+ enum Operator {
+ OPERATOR_UNSPECIFIED = 0,
+ AND = 1,
+ OR = 2
+ }
+ }
+
+ /** Properties of a PropertyFilter. */
+ interface IPropertyFilter {
+
+ /** PropertyFilter property */
+ property?: (google.datastore.v1.IPropertyReference|null);
+
+ /** PropertyFilter op */
+ op?: (google.datastore.v1.PropertyFilter.Operator|keyof typeof google.datastore.v1.PropertyFilter.Operator|null);
+
+ /** PropertyFilter value */
+ value?: (google.datastore.v1.IValue|null);
+ }
+
+ /** Represents a PropertyFilter. */
+ class PropertyFilter implements IPropertyFilter {
+
+ /**
+ * Constructs a new PropertyFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IPropertyFilter);
+
+ /** PropertyFilter property. */
+ public property?: (google.datastore.v1.IPropertyReference|null);
+
+ /** PropertyFilter op. */
+ public op: (google.datastore.v1.PropertyFilter.Operator|keyof typeof google.datastore.v1.PropertyFilter.Operator);
+
+ /** PropertyFilter value. */
+ public value?: (google.datastore.v1.IValue|null);
+
+ /**
+ * Creates a new PropertyFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PropertyFilter instance
+ */
+ public static create(properties?: google.datastore.v1.IPropertyFilter): google.datastore.v1.PropertyFilter;
+
+ /**
+ * Encodes the specified PropertyFilter message. Does not implicitly {@link google.datastore.v1.PropertyFilter.verify|verify} messages.
+ * @param message PropertyFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IPropertyFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PropertyFilter message, length delimited. Does not implicitly {@link google.datastore.v1.PropertyFilter.verify|verify} messages.
+ * @param message PropertyFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IPropertyFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PropertyFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PropertyFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.PropertyFilter;
+
+ /**
+ * Decodes a PropertyFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PropertyFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.PropertyFilter;
+
+ /**
+ * Verifies a PropertyFilter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PropertyFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PropertyFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.PropertyFilter;
+
+ /**
+ * Creates a plain object from a PropertyFilter message. Also converts values to other types if specified.
+ * @param message PropertyFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.PropertyFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PropertyFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PropertyFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PropertyFilter {
+
+ /** Operator enum. */
+ enum Operator {
+ OPERATOR_UNSPECIFIED = 0,
+ LESS_THAN = 1,
+ LESS_THAN_OR_EQUAL = 2,
+ GREATER_THAN = 3,
+ GREATER_THAN_OR_EQUAL = 4,
+ EQUAL = 5,
+ IN = 6,
+ NOT_EQUAL = 9,
+ HAS_ANCESTOR = 11,
+ NOT_IN = 13
+ }
+ }
+
+ /** Properties of a FindNearest. */
+ interface IFindNearest {
+
+ /** FindNearest vectorProperty */
+ vectorProperty?: (google.datastore.v1.IPropertyReference|null);
+
+ /** FindNearest queryVector */
+ queryVector?: (google.datastore.v1.IValue|null);
+
+ /** FindNearest distanceMeasure */
+ distanceMeasure?: (google.datastore.v1.FindNearest.DistanceMeasure|keyof typeof google.datastore.v1.FindNearest.DistanceMeasure|null);
+
+ /** FindNearest limit */
+ limit?: (google.protobuf.IInt32Value|null);
+
+ /** FindNearest distanceResultProperty */
+ distanceResultProperty?: (string|null);
+
+ /** FindNearest distanceThreshold */
+ distanceThreshold?: (google.protobuf.IDoubleValue|null);
+ }
+
+ /** Represents a FindNearest. */
+ class FindNearest implements IFindNearest {
+
+ /**
+ * Constructs a new FindNearest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IFindNearest);
+
+ /** FindNearest vectorProperty. */
+ public vectorProperty?: (google.datastore.v1.IPropertyReference|null);
+
+ /** FindNearest queryVector. */
+ public queryVector?: (google.datastore.v1.IValue|null);
+
+ /** FindNearest distanceMeasure. */
+ public distanceMeasure: (google.datastore.v1.FindNearest.DistanceMeasure|keyof typeof google.datastore.v1.FindNearest.DistanceMeasure);
+
+ /** FindNearest limit. */
+ public limit?: (google.protobuf.IInt32Value|null);
+
+ /** FindNearest distanceResultProperty. */
+ public distanceResultProperty: string;
+
+ /** FindNearest distanceThreshold. */
+ public distanceThreshold?: (google.protobuf.IDoubleValue|null);
+
+ /**
+ * Creates a new FindNearest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FindNearest instance
+ */
+ public static create(properties?: google.datastore.v1.IFindNearest): google.datastore.v1.FindNearest;
+
+ /**
+ * Encodes the specified FindNearest message. Does not implicitly {@link google.datastore.v1.FindNearest.verify|verify} messages.
+ * @param message FindNearest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IFindNearest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FindNearest message, length delimited. Does not implicitly {@link google.datastore.v1.FindNearest.verify|verify} messages.
+ * @param message FindNearest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IFindNearest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FindNearest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FindNearest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.FindNearest;
+
+ /**
+ * Decodes a FindNearest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FindNearest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.FindNearest;
+
+ /**
+ * Verifies a FindNearest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FindNearest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FindNearest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.FindNearest;
+
+ /**
+ * Creates a plain object from a FindNearest message. Also converts values to other types if specified.
+ * @param message FindNearest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.FindNearest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FindNearest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FindNearest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FindNearest {
+
+ /** DistanceMeasure enum. */
+ enum DistanceMeasure {
+ DISTANCE_MEASURE_UNSPECIFIED = 0,
+ EUCLIDEAN = 1,
+ COSINE = 2,
+ DOT_PRODUCT = 3
+ }
+ }
+
+ /** Properties of a GqlQuery. */
+ interface IGqlQuery {
+
+ /** GqlQuery queryString */
+ queryString?: (string|null);
+
+ /** GqlQuery allowLiterals */
+ allowLiterals?: (boolean|null);
+
+ /** GqlQuery namedBindings */
+ namedBindings?: ({ [k: string]: google.datastore.v1.IGqlQueryParameter }|null);
+
+ /** GqlQuery positionalBindings */
+ positionalBindings?: (google.datastore.v1.IGqlQueryParameter[]|null);
+ }
+
+ /** Represents a GqlQuery. */
+ class GqlQuery implements IGqlQuery {
+
+ /**
+ * Constructs a new GqlQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IGqlQuery);
+
+ /** GqlQuery queryString. */
+ public queryString: string;
+
+ /** GqlQuery allowLiterals. */
+ public allowLiterals: boolean;
+
+ /** GqlQuery namedBindings. */
+ public namedBindings: { [k: string]: google.datastore.v1.IGqlQueryParameter };
+
+ /** GqlQuery positionalBindings. */
+ public positionalBindings: google.datastore.v1.IGqlQueryParameter[];
+
+ /**
+ * Creates a new GqlQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GqlQuery instance
+ */
+ public static create(properties?: google.datastore.v1.IGqlQuery): google.datastore.v1.GqlQuery;
+
+ /**
+ * Encodes the specified GqlQuery message. Does not implicitly {@link google.datastore.v1.GqlQuery.verify|verify} messages.
+ * @param message GqlQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IGqlQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GqlQuery message, length delimited. Does not implicitly {@link google.datastore.v1.GqlQuery.verify|verify} messages.
+ * @param message GqlQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IGqlQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GqlQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GqlQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.GqlQuery;
+
+ /**
+ * Decodes a GqlQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GqlQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.GqlQuery;
+
+ /**
+ * Verifies a GqlQuery message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GqlQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GqlQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.GqlQuery;
+
+ /**
+ * Creates a plain object from a GqlQuery message. Also converts values to other types if specified.
+ * @param message GqlQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.GqlQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GqlQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GqlQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GqlQueryParameter. */
+ interface IGqlQueryParameter {
+
+ /** GqlQueryParameter value */
+ value?: (google.datastore.v1.IValue|null);
+
+ /** GqlQueryParameter cursor */
+ cursor?: (Uint8Array|Buffer|string|null);
+ }
+
+ /** Represents a GqlQueryParameter. */
+ class GqlQueryParameter implements IGqlQueryParameter {
+
+ /**
+ * Constructs a new GqlQueryParameter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IGqlQueryParameter);
+
+ /** GqlQueryParameter value. */
+ public value?: (google.datastore.v1.IValue|null);
+
+ /** GqlQueryParameter cursor. */
+ public cursor?: (Uint8Array|Buffer|string|null);
+
+ /** GqlQueryParameter parameterType. */
+ public parameterType?: ("value"|"cursor");
+
+ /**
+ * Creates a new GqlQueryParameter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GqlQueryParameter instance
+ */
+ public static create(properties?: google.datastore.v1.IGqlQueryParameter): google.datastore.v1.GqlQueryParameter;
+
+ /**
+ * Encodes the specified GqlQueryParameter message. Does not implicitly {@link google.datastore.v1.GqlQueryParameter.verify|verify} messages.
+ * @param message GqlQueryParameter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IGqlQueryParameter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GqlQueryParameter message, length delimited. Does not implicitly {@link google.datastore.v1.GqlQueryParameter.verify|verify} messages.
+ * @param message GqlQueryParameter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IGqlQueryParameter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GqlQueryParameter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GqlQueryParameter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.GqlQueryParameter;
+
+ /**
+ * Decodes a GqlQueryParameter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GqlQueryParameter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.GqlQueryParameter;
+
+ /**
+ * Verifies a GqlQueryParameter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GqlQueryParameter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GqlQueryParameter
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.GqlQueryParameter;
+
+ /**
+ * Creates a plain object from a GqlQueryParameter message. Also converts values to other types if specified.
+ * @param message GqlQueryParameter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.GqlQueryParameter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GqlQueryParameter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GqlQueryParameter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a QueryResultBatch. */
+ interface IQueryResultBatch {
+
+ /** QueryResultBatch skippedResults */
+ skippedResults?: (number|null);
+
+ /** QueryResultBatch skippedCursor */
+ skippedCursor?: (Uint8Array|Buffer|string|null);
+
+ /** QueryResultBatch entityResultType */
+ entityResultType?: (google.datastore.v1.EntityResult.ResultType|keyof typeof google.datastore.v1.EntityResult.ResultType|null);
+
+ /** QueryResultBatch entityResults */
+ entityResults?: (google.datastore.v1.IEntityResult[]|null);
+
+ /** QueryResultBatch endCursor */
+ endCursor?: (Uint8Array|Buffer|string|null);
+
+ /** QueryResultBatch moreResults */
+ moreResults?: (google.datastore.v1.QueryResultBatch.MoreResultsType|keyof typeof google.datastore.v1.QueryResultBatch.MoreResultsType|null);
+
+ /** QueryResultBatch snapshotVersion */
+ snapshotVersion?: (number|Long|string|null);
+
+ /** QueryResultBatch readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a QueryResultBatch. */
+ class QueryResultBatch implements IQueryResultBatch {
+
+ /**
+ * Constructs a new QueryResultBatch.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IQueryResultBatch);
+
+ /** QueryResultBatch skippedResults. */
+ public skippedResults: number;
+
+ /** QueryResultBatch skippedCursor. */
+ public skippedCursor: (Uint8Array|Buffer|string);
+
+ /** QueryResultBatch entityResultType. */
+ public entityResultType: (google.datastore.v1.EntityResult.ResultType|keyof typeof google.datastore.v1.EntityResult.ResultType);
+
+ /** QueryResultBatch entityResults. */
+ public entityResults: google.datastore.v1.IEntityResult[];
+
+ /** QueryResultBatch endCursor. */
+ public endCursor: (Uint8Array|Buffer|string);
+
+ /** QueryResultBatch moreResults. */
+ public moreResults: (google.datastore.v1.QueryResultBatch.MoreResultsType|keyof typeof google.datastore.v1.QueryResultBatch.MoreResultsType);
+
+ /** QueryResultBatch snapshotVersion. */
+ public snapshotVersion: (number|Long|string);
+
+ /** QueryResultBatch readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new QueryResultBatch instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryResultBatch instance
+ */
+ public static create(properties?: google.datastore.v1.IQueryResultBatch): google.datastore.v1.QueryResultBatch;
+
+ /**
+ * Encodes the specified QueryResultBatch message. Does not implicitly {@link google.datastore.v1.QueryResultBatch.verify|verify} messages.
+ * @param message QueryResultBatch message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IQueryResultBatch, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryResultBatch message, length delimited. Does not implicitly {@link google.datastore.v1.QueryResultBatch.verify|verify} messages.
+ * @param message QueryResultBatch message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IQueryResultBatch, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryResultBatch message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryResultBatch
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.QueryResultBatch;
+
+ /**
+ * Decodes a QueryResultBatch message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryResultBatch
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.QueryResultBatch;
+
+ /**
+ * Verifies a QueryResultBatch message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryResultBatch message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryResultBatch
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.QueryResultBatch;
+
+ /**
+ * Creates a plain object from a QueryResultBatch message. Also converts values to other types if specified.
+ * @param message QueryResultBatch
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.QueryResultBatch, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryResultBatch to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryResultBatch
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace QueryResultBatch {
+
+ /** MoreResultsType enum. */
+ enum MoreResultsType {
+ MORE_RESULTS_TYPE_UNSPECIFIED = 0,
+ NOT_FINISHED = 1,
+ MORE_RESULTS_AFTER_LIMIT = 2,
+ MORE_RESULTS_AFTER_CURSOR = 4,
+ NO_MORE_RESULTS = 3
+ }
+ }
+
+ /** Represents a Datastore */
+ class Datastore extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Datastore service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Datastore service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Datastore;
+
+ /**
+ * Calls Lookup.
+ * @param request LookupRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LookupResponse
+ */
+ public lookup(request: google.datastore.v1.ILookupRequest, callback: google.datastore.v1.Datastore.LookupCallback): void;
+
+ /**
+ * Calls Lookup.
+ * @param request LookupRequest message or plain object
+ * @returns Promise
+ */
+ public lookup(request: google.datastore.v1.ILookupRequest): Promise;
+
+ /**
+ * Calls RunQuery.
+ * @param request RunQueryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and RunQueryResponse
+ */
+ public runQuery(request: google.datastore.v1.IRunQueryRequest, callback: google.datastore.v1.Datastore.RunQueryCallback): void;
+
+ /**
+ * Calls RunQuery.
+ * @param request RunQueryRequest message or plain object
+ * @returns Promise
+ */
+ public runQuery(request: google.datastore.v1.IRunQueryRequest): Promise;
+
+ /**
+ * Calls RunAggregationQuery.
+ * @param request RunAggregationQueryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and RunAggregationQueryResponse
+ */
+ public runAggregationQuery(request: google.datastore.v1.IRunAggregationQueryRequest, callback: google.datastore.v1.Datastore.RunAggregationQueryCallback): void;
+
+ /**
+ * Calls RunAggregationQuery.
+ * @param request RunAggregationQueryRequest message or plain object
+ * @returns Promise
+ */
+ public runAggregationQuery(request: google.datastore.v1.IRunAggregationQueryRequest): Promise;
+
+ /**
+ * Calls BeginTransaction.
+ * @param request BeginTransactionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and BeginTransactionResponse
+ */
+ public beginTransaction(request: google.datastore.v1.IBeginTransactionRequest, callback: google.datastore.v1.Datastore.BeginTransactionCallback): void;
+
+ /**
+ * Calls BeginTransaction.
+ * @param request BeginTransactionRequest message or plain object
+ * @returns Promise
+ */
+ public beginTransaction(request: google.datastore.v1.IBeginTransactionRequest): Promise;
+
+ /**
+ * Calls Commit.
+ * @param request CommitRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CommitResponse
+ */
+ public commit(request: google.datastore.v1.ICommitRequest, callback: google.datastore.v1.Datastore.CommitCallback): void;
+
+ /**
+ * Calls Commit.
+ * @param request CommitRequest message or plain object
+ * @returns Promise
+ */
+ public commit(request: google.datastore.v1.ICommitRequest): Promise;
+
+ /**
+ * Calls Rollback.
+ * @param request RollbackRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and RollbackResponse
+ */
+ public rollback(request: google.datastore.v1.IRollbackRequest, callback: google.datastore.v1.Datastore.RollbackCallback): void;
+
+ /**
+ * Calls Rollback.
+ * @param request RollbackRequest message or plain object
+ * @returns Promise
+ */
+ public rollback(request: google.datastore.v1.IRollbackRequest): Promise;
+
+ /**
+ * Calls AllocateIds.
+ * @param request AllocateIdsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AllocateIdsResponse
+ */
+ public allocateIds(request: google.datastore.v1.IAllocateIdsRequest, callback: google.datastore.v1.Datastore.AllocateIdsCallback): void;
+
+ /**
+ * Calls AllocateIds.
+ * @param request AllocateIdsRequest message or plain object
+ * @returns Promise
+ */
+ public allocateIds(request: google.datastore.v1.IAllocateIdsRequest): Promise;
+
+ /**
+ * Calls ReserveIds.
+ * @param request ReserveIdsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ReserveIdsResponse
+ */
+ public reserveIds(request: google.datastore.v1.IReserveIdsRequest, callback: google.datastore.v1.Datastore.ReserveIdsCallback): void;
+
+ /**
+ * Calls ReserveIds.
+ * @param request ReserveIdsRequest message or plain object
+ * @returns Promise
+ */
+ public reserveIds(request: google.datastore.v1.IReserveIdsRequest): Promise;
+ }
+
+ namespace Datastore {
+
+ /**
+ * Callback as used by {@link google.datastore.v1.Datastore|lookup}.
+ * @param error Error, if any
+ * @param [response] LookupResponse
+ */
+ type LookupCallback = (error: (Error|null), response?: google.datastore.v1.LookupResponse) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.v1.Datastore|runQuery}.
+ * @param error Error, if any
+ * @param [response] RunQueryResponse
+ */
+ type RunQueryCallback = (error: (Error|null), response?: google.datastore.v1.RunQueryResponse) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.v1.Datastore|runAggregationQuery}.
+ * @param error Error, if any
+ * @param [response] RunAggregationQueryResponse
+ */
+ type RunAggregationQueryCallback = (error: (Error|null), response?: google.datastore.v1.RunAggregationQueryResponse) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.v1.Datastore|beginTransaction}.
+ * @param error Error, if any
+ * @param [response] BeginTransactionResponse
+ */
+ type BeginTransactionCallback = (error: (Error|null), response?: google.datastore.v1.BeginTransactionResponse) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.v1.Datastore|commit}.
+ * @param error Error, if any
+ * @param [response] CommitResponse
+ */
+ type CommitCallback = (error: (Error|null), response?: google.datastore.v1.CommitResponse) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.v1.Datastore|rollback}.
+ * @param error Error, if any
+ * @param [response] RollbackResponse
+ */
+ type RollbackCallback = (error: (Error|null), response?: google.datastore.v1.RollbackResponse) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.v1.Datastore|allocateIds}.
+ * @param error Error, if any
+ * @param [response] AllocateIdsResponse
+ */
+ type AllocateIdsCallback = (error: (Error|null), response?: google.datastore.v1.AllocateIdsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.datastore.v1.Datastore|reserveIds}.
+ * @param error Error, if any
+ * @param [response] ReserveIdsResponse
+ */
+ type ReserveIdsCallback = (error: (Error|null), response?: google.datastore.v1.ReserveIdsResponse) => void;
+ }
+
+ /** Properties of a LookupRequest. */
+ interface ILookupRequest {
+
+ /** LookupRequest projectId */
+ projectId?: (string|null);
+
+ /** LookupRequest databaseId */
+ databaseId?: (string|null);
+
+ /** LookupRequest readOptions */
+ readOptions?: (google.datastore.v1.IReadOptions|null);
+
+ /** LookupRequest keys */
+ keys?: (google.datastore.v1.IKey[]|null);
+
+ /** LookupRequest propertyMask */
+ propertyMask?: (google.datastore.v1.IPropertyMask|null);
+ }
+
+ /** Represents a LookupRequest. */
+ class LookupRequest implements ILookupRequest {
+
+ /**
+ * Constructs a new LookupRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.ILookupRequest);
+
+ /** LookupRequest projectId. */
+ public projectId: string;
+
+ /** LookupRequest databaseId. */
+ public databaseId: string;
+
+ /** LookupRequest readOptions. */
+ public readOptions?: (google.datastore.v1.IReadOptions|null);
+
+ /** LookupRequest keys. */
+ public keys: google.datastore.v1.IKey[];
+
+ /** LookupRequest propertyMask. */
+ public propertyMask?: (google.datastore.v1.IPropertyMask|null);
+
+ /**
+ * Creates a new LookupRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LookupRequest instance
+ */
+ public static create(properties?: google.datastore.v1.ILookupRequest): google.datastore.v1.LookupRequest;
+
+ /**
+ * Encodes the specified LookupRequest message. Does not implicitly {@link google.datastore.v1.LookupRequest.verify|verify} messages.
+ * @param message LookupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.ILookupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LookupRequest message, length delimited. Does not implicitly {@link google.datastore.v1.LookupRequest.verify|verify} messages.
+ * @param message LookupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.ILookupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LookupRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LookupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.LookupRequest;
+
+ /**
+ * Decodes a LookupRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LookupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.LookupRequest;
+
+ /**
+ * Verifies a LookupRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LookupRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LookupRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.LookupRequest;
+
+ /**
+ * Creates a plain object from a LookupRequest message. Also converts values to other types if specified.
+ * @param message LookupRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.LookupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LookupRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LookupRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LookupResponse. */
+ interface ILookupResponse {
+
+ /** LookupResponse found */
+ found?: (google.datastore.v1.IEntityResult[]|null);
+
+ /** LookupResponse missing */
+ missing?: (google.datastore.v1.IEntityResult[]|null);
+
+ /** LookupResponse deferred */
+ deferred?: (google.datastore.v1.IKey[]|null);
+
+ /** LookupResponse transaction */
+ transaction?: (Uint8Array|Buffer|string|null);
+
+ /** LookupResponse readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a LookupResponse. */
+ class LookupResponse implements ILookupResponse {
+
+ /**
+ * Constructs a new LookupResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.ILookupResponse);
+
+ /** LookupResponse found. */
+ public found: google.datastore.v1.IEntityResult[];
+
+ /** LookupResponse missing. */
+ public missing: google.datastore.v1.IEntityResult[];
+
+ /** LookupResponse deferred. */
+ public deferred: google.datastore.v1.IKey[];
+
+ /** LookupResponse transaction. */
+ public transaction: (Uint8Array|Buffer|string);
+
+ /** LookupResponse readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new LookupResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LookupResponse instance
+ */
+ public static create(properties?: google.datastore.v1.ILookupResponse): google.datastore.v1.LookupResponse;
+
+ /**
+ * Encodes the specified LookupResponse message. Does not implicitly {@link google.datastore.v1.LookupResponse.verify|verify} messages.
+ * @param message LookupResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.ILookupResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LookupResponse message, length delimited. Does not implicitly {@link google.datastore.v1.LookupResponse.verify|verify} messages.
+ * @param message LookupResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.ILookupResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LookupResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LookupResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.LookupResponse;
+
+ /**
+ * Decodes a LookupResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LookupResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.LookupResponse;
+
+ /**
+ * Verifies a LookupResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LookupResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LookupResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.LookupResponse;
+
+ /**
+ * Creates a plain object from a LookupResponse message. Also converts values to other types if specified.
+ * @param message LookupResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.LookupResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LookupResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LookupResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RunQueryRequest. */
+ interface IRunQueryRequest {
+
+ /** RunQueryRequest projectId */
+ projectId?: (string|null);
+
+ /** RunQueryRequest databaseId */
+ databaseId?: (string|null);
+
+ /** RunQueryRequest partitionId */
+ partitionId?: (google.datastore.v1.IPartitionId|null);
+
+ /** RunQueryRequest readOptions */
+ readOptions?: (google.datastore.v1.IReadOptions|null);
+
+ /** RunQueryRequest query */
+ query?: (google.datastore.v1.IQuery|null);
+
+ /** RunQueryRequest gqlQuery */
+ gqlQuery?: (google.datastore.v1.IGqlQuery|null);
+
+ /** RunQueryRequest propertyMask */
+ propertyMask?: (google.datastore.v1.IPropertyMask|null);
+
+ /** RunQueryRequest explainOptions */
+ explainOptions?: (google.datastore.v1.IExplainOptions|null);
+ }
+
+ /** Represents a RunQueryRequest. */
+ class RunQueryRequest implements IRunQueryRequest {
+
+ /**
+ * Constructs a new RunQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IRunQueryRequest);
+
+ /** RunQueryRequest projectId. */
+ public projectId: string;
+
+ /** RunQueryRequest databaseId. */
+ public databaseId: string;
+
+ /** RunQueryRequest partitionId. */
+ public partitionId?: (google.datastore.v1.IPartitionId|null);
+
+ /** RunQueryRequest readOptions. */
+ public readOptions?: (google.datastore.v1.IReadOptions|null);
+
+ /** RunQueryRequest query. */
+ public query?: (google.datastore.v1.IQuery|null);
+
+ /** RunQueryRequest gqlQuery. */
+ public gqlQuery?: (google.datastore.v1.IGqlQuery|null);
+
+ /** RunQueryRequest propertyMask. */
+ public propertyMask?: (google.datastore.v1.IPropertyMask|null);
+
+ /** RunQueryRequest explainOptions. */
+ public explainOptions?: (google.datastore.v1.IExplainOptions|null);
+
+ /** RunQueryRequest queryType. */
+ public queryType?: ("query"|"gqlQuery");
+
+ /**
+ * Creates a new RunQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RunQueryRequest instance
+ */
+ public static create(properties?: google.datastore.v1.IRunQueryRequest): google.datastore.v1.RunQueryRequest;
+
+ /**
+ * Encodes the specified RunQueryRequest message. Does not implicitly {@link google.datastore.v1.RunQueryRequest.verify|verify} messages.
+ * @param message RunQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IRunQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RunQueryRequest message, length delimited. Does not implicitly {@link google.datastore.v1.RunQueryRequest.verify|verify} messages.
+ * @param message RunQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IRunQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RunQueryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RunQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.RunQueryRequest;
+
+ /**
+ * Decodes a RunQueryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RunQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.RunQueryRequest;
+
+ /**
+ * Verifies a RunQueryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RunQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RunQueryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.RunQueryRequest;
+
+ /**
+ * Creates a plain object from a RunQueryRequest message. Also converts values to other types if specified.
+ * @param message RunQueryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.RunQueryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RunQueryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RunQueryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RunQueryResponse. */
+ interface IRunQueryResponse {
+
+ /** RunQueryResponse batch */
+ batch?: (google.datastore.v1.IQueryResultBatch|null);
+
+ /** RunQueryResponse query */
+ query?: (google.datastore.v1.IQuery|null);
+
+ /** RunQueryResponse transaction */
+ transaction?: (Uint8Array|Buffer|string|null);
+
+ /** RunQueryResponse explainMetrics */
+ explainMetrics?: (google.datastore.v1.IExplainMetrics|null);
+ }
+
+ /** Represents a RunQueryResponse. */
+ class RunQueryResponse implements IRunQueryResponse {
+
+ /**
+ * Constructs a new RunQueryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IRunQueryResponse);
+
+ /** RunQueryResponse batch. */
+ public batch?: (google.datastore.v1.IQueryResultBatch|null);
+
+ /** RunQueryResponse query. */
+ public query?: (google.datastore.v1.IQuery|null);
+
+ /** RunQueryResponse transaction. */
+ public transaction: (Uint8Array|Buffer|string);
+
+ /** RunQueryResponse explainMetrics. */
+ public explainMetrics?: (google.datastore.v1.IExplainMetrics|null);
+
+ /**
+ * Creates a new RunQueryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RunQueryResponse instance
+ */
+ public static create(properties?: google.datastore.v1.IRunQueryResponse): google.datastore.v1.RunQueryResponse;
+
+ /**
+ * Encodes the specified RunQueryResponse message. Does not implicitly {@link google.datastore.v1.RunQueryResponse.verify|verify} messages.
+ * @param message RunQueryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IRunQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RunQueryResponse message, length delimited. Does not implicitly {@link google.datastore.v1.RunQueryResponse.verify|verify} messages.
+ * @param message RunQueryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IRunQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RunQueryResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RunQueryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.RunQueryResponse;
+
+ /**
+ * Decodes a RunQueryResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RunQueryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.RunQueryResponse;
+
+ /**
+ * Verifies a RunQueryResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RunQueryResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RunQueryResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.RunQueryResponse;
+
+ /**
+ * Creates a plain object from a RunQueryResponse message. Also converts values to other types if specified.
+ * @param message RunQueryResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.RunQueryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RunQueryResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RunQueryResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RunAggregationQueryRequest. */
+ interface IRunAggregationQueryRequest {
+
+ /** RunAggregationQueryRequest projectId */
+ projectId?: (string|null);
+
+ /** RunAggregationQueryRequest databaseId */
+ databaseId?: (string|null);
+
+ /** RunAggregationQueryRequest partitionId */
+ partitionId?: (google.datastore.v1.IPartitionId|null);
+
+ /** RunAggregationQueryRequest readOptions */
+ readOptions?: (google.datastore.v1.IReadOptions|null);
+
+ /** RunAggregationQueryRequest aggregationQuery */
+ aggregationQuery?: (google.datastore.v1.IAggregationQuery|null);
+
+ /** RunAggregationQueryRequest gqlQuery */
+ gqlQuery?: (google.datastore.v1.IGqlQuery|null);
+
+ /** RunAggregationQueryRequest explainOptions */
+ explainOptions?: (google.datastore.v1.IExplainOptions|null);
+ }
+
+ /** Represents a RunAggregationQueryRequest. */
+ class RunAggregationQueryRequest implements IRunAggregationQueryRequest {
+
+ /**
+ * Constructs a new RunAggregationQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IRunAggregationQueryRequest);
+
+ /** RunAggregationQueryRequest projectId. */
+ public projectId: string;
+
+ /** RunAggregationQueryRequest databaseId. */
+ public databaseId: string;
+
+ /** RunAggregationQueryRequest partitionId. */
+ public partitionId?: (google.datastore.v1.IPartitionId|null);
+
+ /** RunAggregationQueryRequest readOptions. */
+ public readOptions?: (google.datastore.v1.IReadOptions|null);
+
+ /** RunAggregationQueryRequest aggregationQuery. */
+ public aggregationQuery?: (google.datastore.v1.IAggregationQuery|null);
+
+ /** RunAggregationQueryRequest gqlQuery. */
+ public gqlQuery?: (google.datastore.v1.IGqlQuery|null);
+
+ /** RunAggregationQueryRequest explainOptions. */
+ public explainOptions?: (google.datastore.v1.IExplainOptions|null);
+
+ /** RunAggregationQueryRequest queryType. */
+ public queryType?: ("aggregationQuery"|"gqlQuery");
+
+ /**
+ * Creates a new RunAggregationQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RunAggregationQueryRequest instance
+ */
+ public static create(properties?: google.datastore.v1.IRunAggregationQueryRequest): google.datastore.v1.RunAggregationQueryRequest;
+
+ /**
+ * Encodes the specified RunAggregationQueryRequest message. Does not implicitly {@link google.datastore.v1.RunAggregationQueryRequest.verify|verify} messages.
+ * @param message RunAggregationQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IRunAggregationQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RunAggregationQueryRequest message, length delimited. Does not implicitly {@link google.datastore.v1.RunAggregationQueryRequest.verify|verify} messages.
+ * @param message RunAggregationQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IRunAggregationQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RunAggregationQueryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RunAggregationQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.RunAggregationQueryRequest;
+
+ /**
+ * Decodes a RunAggregationQueryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RunAggregationQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.RunAggregationQueryRequest;
+
+ /**
+ * Verifies a RunAggregationQueryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RunAggregationQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RunAggregationQueryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.RunAggregationQueryRequest;
+
+ /**
+ * Creates a plain object from a RunAggregationQueryRequest message. Also converts values to other types if specified.
+ * @param message RunAggregationQueryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.RunAggregationQueryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RunAggregationQueryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RunAggregationQueryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RunAggregationQueryResponse. */
+ interface IRunAggregationQueryResponse {
+
+ /** RunAggregationQueryResponse batch */
+ batch?: (google.datastore.v1.IAggregationResultBatch|null);
+
+ /** RunAggregationQueryResponse query */
+ query?: (google.datastore.v1.IAggregationQuery|null);
+
+ /** RunAggregationQueryResponse transaction */
+ transaction?: (Uint8Array|Buffer|string|null);
+
+ /** RunAggregationQueryResponse explainMetrics */
+ explainMetrics?: (google.datastore.v1.IExplainMetrics|null);
+ }
+
+ /** Represents a RunAggregationQueryResponse. */
+ class RunAggregationQueryResponse implements IRunAggregationQueryResponse {
+
+ /**
+ * Constructs a new RunAggregationQueryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IRunAggregationQueryResponse);
+
+ /** RunAggregationQueryResponse batch. */
+ public batch?: (google.datastore.v1.IAggregationResultBatch|null);
+
+ /** RunAggregationQueryResponse query. */
+ public query?: (google.datastore.v1.IAggregationQuery|null);
+
+ /** RunAggregationQueryResponse transaction. */
+ public transaction: (Uint8Array|Buffer|string);
+
+ /** RunAggregationQueryResponse explainMetrics. */
+ public explainMetrics?: (google.datastore.v1.IExplainMetrics|null);
+
+ /**
+ * Creates a new RunAggregationQueryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RunAggregationQueryResponse instance
+ */
+ public static create(properties?: google.datastore.v1.IRunAggregationQueryResponse): google.datastore.v1.RunAggregationQueryResponse;
+
+ /**
+ * Encodes the specified RunAggregationQueryResponse message. Does not implicitly {@link google.datastore.v1.RunAggregationQueryResponse.verify|verify} messages.
+ * @param message RunAggregationQueryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IRunAggregationQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RunAggregationQueryResponse message, length delimited. Does not implicitly {@link google.datastore.v1.RunAggregationQueryResponse.verify|verify} messages.
+ * @param message RunAggregationQueryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IRunAggregationQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RunAggregationQueryResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RunAggregationQueryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.RunAggregationQueryResponse;
+
+ /**
+ * Decodes a RunAggregationQueryResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RunAggregationQueryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.RunAggregationQueryResponse;
+
+ /**
+ * Verifies a RunAggregationQueryResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RunAggregationQueryResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RunAggregationQueryResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.RunAggregationQueryResponse;
+
+ /**
+ * Creates a plain object from a RunAggregationQueryResponse message. Also converts values to other types if specified.
+ * @param message RunAggregationQueryResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.RunAggregationQueryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RunAggregationQueryResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RunAggregationQueryResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BeginTransactionRequest. */
+ interface IBeginTransactionRequest {
+
+ /** BeginTransactionRequest projectId */
+ projectId?: (string|null);
+
+ /** BeginTransactionRequest databaseId */
+ databaseId?: (string|null);
+
+ /** BeginTransactionRequest transactionOptions */
+ transactionOptions?: (google.datastore.v1.ITransactionOptions|null);
+ }
+
+ /** Represents a BeginTransactionRequest. */
+ class BeginTransactionRequest implements IBeginTransactionRequest {
+
+ /**
+ * Constructs a new BeginTransactionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IBeginTransactionRequest);
+
+ /** BeginTransactionRequest projectId. */
+ public projectId: string;
+
+ /** BeginTransactionRequest databaseId. */
+ public databaseId: string;
+
+ /** BeginTransactionRequest transactionOptions. */
+ public transactionOptions?: (google.datastore.v1.ITransactionOptions|null);
+
+ /**
+ * Creates a new BeginTransactionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BeginTransactionRequest instance
+ */
+ public static create(properties?: google.datastore.v1.IBeginTransactionRequest): google.datastore.v1.BeginTransactionRequest;
+
+ /**
+ * Encodes the specified BeginTransactionRequest message. Does not implicitly {@link google.datastore.v1.BeginTransactionRequest.verify|verify} messages.
+ * @param message BeginTransactionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IBeginTransactionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BeginTransactionRequest message, length delimited. Does not implicitly {@link google.datastore.v1.BeginTransactionRequest.verify|verify} messages.
+ * @param message BeginTransactionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IBeginTransactionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BeginTransactionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BeginTransactionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.BeginTransactionRequest;
+
+ /**
+ * Decodes a BeginTransactionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BeginTransactionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.BeginTransactionRequest;
+
+ /**
+ * Verifies a BeginTransactionRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BeginTransactionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BeginTransactionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.BeginTransactionRequest;
+
+ /**
+ * Creates a plain object from a BeginTransactionRequest message. Also converts values to other types if specified.
+ * @param message BeginTransactionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.BeginTransactionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BeginTransactionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BeginTransactionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BeginTransactionResponse. */
+ interface IBeginTransactionResponse {
+
+ /** BeginTransactionResponse transaction */
+ transaction?: (Uint8Array|Buffer|string|null);
+ }
+
+ /** Represents a BeginTransactionResponse. */
+ class BeginTransactionResponse implements IBeginTransactionResponse {
+
+ /**
+ * Constructs a new BeginTransactionResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IBeginTransactionResponse);
+
+ /** BeginTransactionResponse transaction. */
+ public transaction: (Uint8Array|Buffer|string);
+
+ /**
+ * Creates a new BeginTransactionResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BeginTransactionResponse instance
+ */
+ public static create(properties?: google.datastore.v1.IBeginTransactionResponse): google.datastore.v1.BeginTransactionResponse;
+
+ /**
+ * Encodes the specified BeginTransactionResponse message. Does not implicitly {@link google.datastore.v1.BeginTransactionResponse.verify|verify} messages.
+ * @param message BeginTransactionResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IBeginTransactionResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BeginTransactionResponse message, length delimited. Does not implicitly {@link google.datastore.v1.BeginTransactionResponse.verify|verify} messages.
+ * @param message BeginTransactionResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IBeginTransactionResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BeginTransactionResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BeginTransactionResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.BeginTransactionResponse;
+
+ /**
+ * Decodes a BeginTransactionResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BeginTransactionResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.BeginTransactionResponse;
+
+ /**
+ * Verifies a BeginTransactionResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BeginTransactionResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BeginTransactionResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.BeginTransactionResponse;
+
+ /**
+ * Creates a plain object from a BeginTransactionResponse message. Also converts values to other types if specified.
+ * @param message BeginTransactionResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.BeginTransactionResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BeginTransactionResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BeginTransactionResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RollbackRequest. */
+ interface IRollbackRequest {
+
+ /** RollbackRequest projectId */
+ projectId?: (string|null);
+
+ /** RollbackRequest databaseId */
+ databaseId?: (string|null);
+
+ /** RollbackRequest transaction */
+ transaction?: (Uint8Array|Buffer|string|null);
+ }
+
+ /** Represents a RollbackRequest. */
+ class RollbackRequest implements IRollbackRequest {
+
+ /**
+ * Constructs a new RollbackRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IRollbackRequest);
+
+ /** RollbackRequest projectId. */
+ public projectId: string;
+
+ /** RollbackRequest databaseId. */
+ public databaseId: string;
+
+ /** RollbackRequest transaction. */
+ public transaction: (Uint8Array|Buffer|string);
+
+ /**
+ * Creates a new RollbackRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RollbackRequest instance
+ */
+ public static create(properties?: google.datastore.v1.IRollbackRequest): google.datastore.v1.RollbackRequest;
+
+ /**
+ * Encodes the specified RollbackRequest message. Does not implicitly {@link google.datastore.v1.RollbackRequest.verify|verify} messages.
+ * @param message RollbackRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IRollbackRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RollbackRequest message, length delimited. Does not implicitly {@link google.datastore.v1.RollbackRequest.verify|verify} messages.
+ * @param message RollbackRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IRollbackRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RollbackRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RollbackRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.RollbackRequest;
+
+ /**
+ * Decodes a RollbackRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RollbackRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.RollbackRequest;
+
+ /**
+ * Verifies a RollbackRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RollbackRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RollbackRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.RollbackRequest;
+
+ /**
+ * Creates a plain object from a RollbackRequest message. Also converts values to other types if specified.
+ * @param message RollbackRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.RollbackRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RollbackRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RollbackRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RollbackResponse. */
+ interface IRollbackResponse {
+ }
+
+ /** Represents a RollbackResponse. */
+ class RollbackResponse implements IRollbackResponse {
+
+ /**
+ * Constructs a new RollbackResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IRollbackResponse);
+
+ /**
+ * Creates a new RollbackResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RollbackResponse instance
+ */
+ public static create(properties?: google.datastore.v1.IRollbackResponse): google.datastore.v1.RollbackResponse;
+
+ /**
+ * Encodes the specified RollbackResponse message. Does not implicitly {@link google.datastore.v1.RollbackResponse.verify|verify} messages.
+ * @param message RollbackResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IRollbackResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RollbackResponse message, length delimited. Does not implicitly {@link google.datastore.v1.RollbackResponse.verify|verify} messages.
+ * @param message RollbackResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IRollbackResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RollbackResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RollbackResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.RollbackResponse;
+
+ /**
+ * Decodes a RollbackResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RollbackResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.RollbackResponse;
+
+ /**
+ * Verifies a RollbackResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RollbackResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RollbackResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.RollbackResponse;
+
+ /**
+ * Creates a plain object from a RollbackResponse message. Also converts values to other types if specified.
+ * @param message RollbackResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.RollbackResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RollbackResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RollbackResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CommitRequest. */
+ interface ICommitRequest {
+
+ /** CommitRequest projectId */
+ projectId?: (string|null);
+
+ /** CommitRequest databaseId */
+ databaseId?: (string|null);
+
+ /** CommitRequest mode */
+ mode?: (google.datastore.v1.CommitRequest.Mode|keyof typeof google.datastore.v1.CommitRequest.Mode|null);
+
+ /** CommitRequest transaction */
+ transaction?: (Uint8Array|Buffer|string|null);
+
+ /** CommitRequest singleUseTransaction */
+ singleUseTransaction?: (google.datastore.v1.ITransactionOptions|null);
+
+ /** CommitRequest mutations */
+ mutations?: (google.datastore.v1.IMutation[]|null);
+ }
+
+ /** Represents a CommitRequest. */
+ class CommitRequest implements ICommitRequest {
+
+ /**
+ * Constructs a new CommitRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.ICommitRequest);
+
+ /** CommitRequest projectId. */
+ public projectId: string;
+
+ /** CommitRequest databaseId. */
+ public databaseId: string;
+
+ /** CommitRequest mode. */
+ public mode: (google.datastore.v1.CommitRequest.Mode|keyof typeof google.datastore.v1.CommitRequest.Mode);
+
+ /** CommitRequest transaction. */
+ public transaction?: (Uint8Array|Buffer|string|null);
+
+ /** CommitRequest singleUseTransaction. */
+ public singleUseTransaction?: (google.datastore.v1.ITransactionOptions|null);
+
+ /** CommitRequest mutations. */
+ public mutations: google.datastore.v1.IMutation[];
+
+ /** CommitRequest transactionSelector. */
+ public transactionSelector?: ("transaction"|"singleUseTransaction");
+
+ /**
+ * Creates a new CommitRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommitRequest instance
+ */
+ public static create(properties?: google.datastore.v1.ICommitRequest): google.datastore.v1.CommitRequest;
+
+ /**
+ * Encodes the specified CommitRequest message. Does not implicitly {@link google.datastore.v1.CommitRequest.verify|verify} messages.
+ * @param message CommitRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.ICommitRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommitRequest message, length delimited. Does not implicitly {@link google.datastore.v1.CommitRequest.verify|verify} messages.
+ * @param message CommitRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.ICommitRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommitRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommitRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.CommitRequest;
+
+ /**
+ * Decodes a CommitRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommitRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.CommitRequest;
+
+ /**
+ * Verifies a CommitRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CommitRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommitRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.CommitRequest;
+
+ /**
+ * Creates a plain object from a CommitRequest message. Also converts values to other types if specified.
+ * @param message CommitRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.CommitRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommitRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommitRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CommitRequest {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ TRANSACTIONAL = 1,
+ NON_TRANSACTIONAL = 2
+ }
+ }
+
+ /** Properties of a CommitResponse. */
+ interface ICommitResponse {
+
+ /** CommitResponse mutationResults */
+ mutationResults?: (google.datastore.v1.IMutationResult[]|null);
+
+ /** CommitResponse indexUpdates */
+ indexUpdates?: (number|null);
+
+ /** CommitResponse commitTime */
+ commitTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a CommitResponse. */
+ class CommitResponse implements ICommitResponse {
+
+ /**
+ * Constructs a new CommitResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.ICommitResponse);
+
+ /** CommitResponse mutationResults. */
+ public mutationResults: google.datastore.v1.IMutationResult[];
+
+ /** CommitResponse indexUpdates. */
+ public indexUpdates: number;
+
+ /** CommitResponse commitTime. */
+ public commitTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new CommitResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommitResponse instance
+ */
+ public static create(properties?: google.datastore.v1.ICommitResponse): google.datastore.v1.CommitResponse;
+
+ /**
+ * Encodes the specified CommitResponse message. Does not implicitly {@link google.datastore.v1.CommitResponse.verify|verify} messages.
+ * @param message CommitResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.ICommitResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommitResponse message, length delimited. Does not implicitly {@link google.datastore.v1.CommitResponse.verify|verify} messages.
+ * @param message CommitResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.ICommitResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommitResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommitResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.CommitResponse;
+
+ /**
+ * Decodes a CommitResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommitResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.CommitResponse;
+
+ /**
+ * Verifies a CommitResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CommitResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommitResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.CommitResponse;
+
+ /**
+ * Creates a plain object from a CommitResponse message. Also converts values to other types if specified.
+ * @param message CommitResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.CommitResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommitResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommitResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AllocateIdsRequest. */
+ interface IAllocateIdsRequest {
+
+ /** AllocateIdsRequest projectId */
+ projectId?: (string|null);
+
+ /** AllocateIdsRequest databaseId */
+ databaseId?: (string|null);
+
+ /** AllocateIdsRequest keys */
+ keys?: (google.datastore.v1.IKey[]|null);
+ }
+
+ /** Represents an AllocateIdsRequest. */
+ class AllocateIdsRequest implements IAllocateIdsRequest {
+
+ /**
+ * Constructs a new AllocateIdsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IAllocateIdsRequest);
+
+ /** AllocateIdsRequest projectId. */
+ public projectId: string;
+
+ /** AllocateIdsRequest databaseId. */
+ public databaseId: string;
+
+ /** AllocateIdsRequest keys. */
+ public keys: google.datastore.v1.IKey[];
+
+ /**
+ * Creates a new AllocateIdsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AllocateIdsRequest instance
+ */
+ public static create(properties?: google.datastore.v1.IAllocateIdsRequest): google.datastore.v1.AllocateIdsRequest;
+
+ /**
+ * Encodes the specified AllocateIdsRequest message. Does not implicitly {@link google.datastore.v1.AllocateIdsRequest.verify|verify} messages.
+ * @param message AllocateIdsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IAllocateIdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AllocateIdsRequest message, length delimited. Does not implicitly {@link google.datastore.v1.AllocateIdsRequest.verify|verify} messages.
+ * @param message AllocateIdsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IAllocateIdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AllocateIdsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AllocateIdsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AllocateIdsRequest;
+
+ /**
+ * Decodes an AllocateIdsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AllocateIdsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AllocateIdsRequest;
+
+ /**
+ * Verifies an AllocateIdsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AllocateIdsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AllocateIdsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AllocateIdsRequest;
+
+ /**
+ * Creates a plain object from an AllocateIdsRequest message. Also converts values to other types if specified.
+ * @param message AllocateIdsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AllocateIdsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AllocateIdsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AllocateIdsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AllocateIdsResponse. */
+ interface IAllocateIdsResponse {
+
+ /** AllocateIdsResponse keys */
+ keys?: (google.datastore.v1.IKey[]|null);
+ }
+
+ /** Represents an AllocateIdsResponse. */
+ class AllocateIdsResponse implements IAllocateIdsResponse {
+
+ /**
+ * Constructs a new AllocateIdsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IAllocateIdsResponse);
+
+ /** AllocateIdsResponse keys. */
+ public keys: google.datastore.v1.IKey[];
+
+ /**
+ * Creates a new AllocateIdsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AllocateIdsResponse instance
+ */
+ public static create(properties?: google.datastore.v1.IAllocateIdsResponse): google.datastore.v1.AllocateIdsResponse;
+
+ /**
+ * Encodes the specified AllocateIdsResponse message. Does not implicitly {@link google.datastore.v1.AllocateIdsResponse.verify|verify} messages.
+ * @param message AllocateIdsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IAllocateIdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AllocateIdsResponse message, length delimited. Does not implicitly {@link google.datastore.v1.AllocateIdsResponse.verify|verify} messages.
+ * @param message AllocateIdsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IAllocateIdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AllocateIdsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AllocateIdsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.AllocateIdsResponse;
+
+ /**
+ * Decodes an AllocateIdsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AllocateIdsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.AllocateIdsResponse;
+
+ /**
+ * Verifies an AllocateIdsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AllocateIdsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AllocateIdsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.AllocateIdsResponse;
+
+ /**
+ * Creates a plain object from an AllocateIdsResponse message. Also converts values to other types if specified.
+ * @param message AllocateIdsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.AllocateIdsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AllocateIdsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AllocateIdsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReserveIdsRequest. */
+ interface IReserveIdsRequest {
+
+ /** ReserveIdsRequest projectId */
+ projectId?: (string|null);
+
+ /** ReserveIdsRequest databaseId */
+ databaseId?: (string|null);
+
+ /** ReserveIdsRequest keys */
+ keys?: (google.datastore.v1.IKey[]|null);
+ }
+
+ /** Represents a ReserveIdsRequest. */
+ class ReserveIdsRequest implements IReserveIdsRequest {
+
+ /**
+ * Constructs a new ReserveIdsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IReserveIdsRequest);
+
+ /** ReserveIdsRequest projectId. */
+ public projectId: string;
+
+ /** ReserveIdsRequest databaseId. */
+ public databaseId: string;
+
+ /** ReserveIdsRequest keys. */
+ public keys: google.datastore.v1.IKey[];
+
+ /**
+ * Creates a new ReserveIdsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReserveIdsRequest instance
+ */
+ public static create(properties?: google.datastore.v1.IReserveIdsRequest): google.datastore.v1.ReserveIdsRequest;
+
+ /**
+ * Encodes the specified ReserveIdsRequest message. Does not implicitly {@link google.datastore.v1.ReserveIdsRequest.verify|verify} messages.
+ * @param message ReserveIdsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IReserveIdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReserveIdsRequest message, length delimited. Does not implicitly {@link google.datastore.v1.ReserveIdsRequest.verify|verify} messages.
+ * @param message ReserveIdsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IReserveIdsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReserveIdsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReserveIdsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.ReserveIdsRequest;
+
+ /**
+ * Decodes a ReserveIdsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReserveIdsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.ReserveIdsRequest;
+
+ /**
+ * Verifies a ReserveIdsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReserveIdsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReserveIdsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.ReserveIdsRequest;
+
+ /**
+ * Creates a plain object from a ReserveIdsRequest message. Also converts values to other types if specified.
+ * @param message ReserveIdsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.ReserveIdsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReserveIdsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReserveIdsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReserveIdsResponse. */
+ interface IReserveIdsResponse {
+ }
+
+ /** Represents a ReserveIdsResponse. */
+ class ReserveIdsResponse implements IReserveIdsResponse {
+
+ /**
+ * Constructs a new ReserveIdsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IReserveIdsResponse);
+
+ /**
+ * Creates a new ReserveIdsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReserveIdsResponse instance
+ */
+ public static create(properties?: google.datastore.v1.IReserveIdsResponse): google.datastore.v1.ReserveIdsResponse;
+
+ /**
+ * Encodes the specified ReserveIdsResponse message. Does not implicitly {@link google.datastore.v1.ReserveIdsResponse.verify|verify} messages.
+ * @param message ReserveIdsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IReserveIdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReserveIdsResponse message, length delimited. Does not implicitly {@link google.datastore.v1.ReserveIdsResponse.verify|verify} messages.
+ * @param message ReserveIdsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IReserveIdsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReserveIdsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReserveIdsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.ReserveIdsResponse;
+
+ /**
+ * Decodes a ReserveIdsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReserveIdsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.ReserveIdsResponse;
+
+ /**
+ * Verifies a ReserveIdsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReserveIdsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReserveIdsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.ReserveIdsResponse;
+
+ /**
+ * Creates a plain object from a ReserveIdsResponse message. Also converts values to other types if specified.
+ * @param message ReserveIdsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.ReserveIdsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReserveIdsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReserveIdsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Mutation. */
+ interface IMutation {
+
+ /** Mutation insert */
+ insert?: (google.datastore.v1.IEntity|null);
+
+ /** Mutation update */
+ update?: (google.datastore.v1.IEntity|null);
+
+ /** Mutation upsert */
+ upsert?: (google.datastore.v1.IEntity|null);
+
+ /** Mutation delete */
+ "delete"?: (google.datastore.v1.IKey|null);
+
+ /** Mutation baseVersion */
+ baseVersion?: (number|Long|string|null);
+
+ /** Mutation updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Mutation conflictResolutionStrategy */
+ conflictResolutionStrategy?: (google.datastore.v1.Mutation.ConflictResolutionStrategy|keyof typeof google.datastore.v1.Mutation.ConflictResolutionStrategy|null);
+
+ /** Mutation propertyMask */
+ propertyMask?: (google.datastore.v1.IPropertyMask|null);
+
+ /** Mutation propertyTransforms */
+ propertyTransforms?: (google.datastore.v1.IPropertyTransform[]|null);
+ }
+
+ /** Represents a Mutation. */
+ class Mutation implements IMutation {
+
+ /**
+ * Constructs a new Mutation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IMutation);
+
+ /** Mutation insert. */
+ public insert?: (google.datastore.v1.IEntity|null);
+
+ /** Mutation update. */
+ public update?: (google.datastore.v1.IEntity|null);
+
+ /** Mutation upsert. */
+ public upsert?: (google.datastore.v1.IEntity|null);
+
+ /** Mutation delete. */
+ public delete?: (google.datastore.v1.IKey|null);
+
+ /** Mutation baseVersion. */
+ public baseVersion?: (number|Long|string|null);
+
+ /** Mutation updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Mutation conflictResolutionStrategy. */
+ public conflictResolutionStrategy: (google.datastore.v1.Mutation.ConflictResolutionStrategy|keyof typeof google.datastore.v1.Mutation.ConflictResolutionStrategy);
+
+ /** Mutation propertyMask. */
+ public propertyMask?: (google.datastore.v1.IPropertyMask|null);
+
+ /** Mutation propertyTransforms. */
+ public propertyTransforms: google.datastore.v1.IPropertyTransform[];
+
+ /** Mutation operation. */
+ public operation?: ("insert"|"update"|"upsert"|"delete");
+
+ /** Mutation conflictDetectionStrategy. */
+ public conflictDetectionStrategy?: ("baseVersion"|"updateTime");
+
+ /**
+ * Creates a new Mutation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Mutation instance
+ */
+ public static create(properties?: google.datastore.v1.IMutation): google.datastore.v1.Mutation;
+
+ /**
+ * Encodes the specified Mutation message. Does not implicitly {@link google.datastore.v1.Mutation.verify|verify} messages.
+ * @param message Mutation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IMutation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Mutation message, length delimited. Does not implicitly {@link google.datastore.v1.Mutation.verify|verify} messages.
+ * @param message Mutation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IMutation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Mutation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Mutation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.Mutation;
+
+ /**
+ * Decodes a Mutation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Mutation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.Mutation;
+
+ /**
+ * Verifies a Mutation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Mutation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Mutation
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.Mutation;
+
+ /**
+ * Creates a plain object from a Mutation message. Also converts values to other types if specified.
+ * @param message Mutation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.Mutation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Mutation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Mutation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Mutation {
+
+ /** ConflictResolutionStrategy enum. */
+ enum ConflictResolutionStrategy {
+ STRATEGY_UNSPECIFIED = 0,
+ SERVER_VALUE = 1,
+ FAIL = 3
+ }
+ }
+
+ /** Properties of a PropertyTransform. */
+ interface IPropertyTransform {
+
+ /** PropertyTransform property */
+ property?: (string|null);
+
+ /** PropertyTransform setToServerValue */
+ setToServerValue?: (google.datastore.v1.PropertyTransform.ServerValue|keyof typeof google.datastore.v1.PropertyTransform.ServerValue|null);
+
+ /** PropertyTransform increment */
+ increment?: (google.datastore.v1.IValue|null);
+
+ /** PropertyTransform maximum */
+ maximum?: (google.datastore.v1.IValue|null);
+
+ /** PropertyTransform minimum */
+ minimum?: (google.datastore.v1.IValue|null);
+
+ /** PropertyTransform appendMissingElements */
+ appendMissingElements?: (google.datastore.v1.IArrayValue|null);
+
+ /** PropertyTransform removeAllFromArray */
+ removeAllFromArray?: (google.datastore.v1.IArrayValue|null);
+ }
+
+ /** Represents a PropertyTransform. */
+ class PropertyTransform implements IPropertyTransform {
+
+ /**
+ * Constructs a new PropertyTransform.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IPropertyTransform);
+
+ /** PropertyTransform property. */
+ public property: string;
+
+ /** PropertyTransform setToServerValue. */
+ public setToServerValue?: (google.datastore.v1.PropertyTransform.ServerValue|keyof typeof google.datastore.v1.PropertyTransform.ServerValue|null);
+
+ /** PropertyTransform increment. */
+ public increment?: (google.datastore.v1.IValue|null);
+
+ /** PropertyTransform maximum. */
+ public maximum?: (google.datastore.v1.IValue|null);
+
+ /** PropertyTransform minimum. */
+ public minimum?: (google.datastore.v1.IValue|null);
+
+ /** PropertyTransform appendMissingElements. */
+ public appendMissingElements?: (google.datastore.v1.IArrayValue|null);
+
+ /** PropertyTransform removeAllFromArray. */
+ public removeAllFromArray?: (google.datastore.v1.IArrayValue|null);
+
+ /** PropertyTransform transformType. */
+ public transformType?: ("setToServerValue"|"increment"|"maximum"|"minimum"|"appendMissingElements"|"removeAllFromArray");
+
+ /**
+ * Creates a new PropertyTransform instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PropertyTransform instance
+ */
+ public static create(properties?: google.datastore.v1.IPropertyTransform): google.datastore.v1.PropertyTransform;
+
+ /**
+ * Encodes the specified PropertyTransform message. Does not implicitly {@link google.datastore.v1.PropertyTransform.verify|verify} messages.
+ * @param message PropertyTransform message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IPropertyTransform, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PropertyTransform message, length delimited. Does not implicitly {@link google.datastore.v1.PropertyTransform.verify|verify} messages.
+ * @param message PropertyTransform message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IPropertyTransform, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PropertyTransform message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PropertyTransform
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.PropertyTransform;
+
+ /**
+ * Decodes a PropertyTransform message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PropertyTransform
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.PropertyTransform;
+
+ /**
+ * Verifies a PropertyTransform message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PropertyTransform message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PropertyTransform
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.PropertyTransform;
+
+ /**
+ * Creates a plain object from a PropertyTransform message. Also converts values to other types if specified.
+ * @param message PropertyTransform
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.PropertyTransform, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PropertyTransform to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PropertyTransform
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PropertyTransform {
+
+ /** ServerValue enum. */
+ enum ServerValue {
+ SERVER_VALUE_UNSPECIFIED = 0,
+ REQUEST_TIME = 1
+ }
+ }
+
+ /** Properties of a MutationResult. */
+ interface IMutationResult {
+
+ /** MutationResult key */
+ key?: (google.datastore.v1.IKey|null);
+
+ /** MutationResult version */
+ version?: (number|Long|string|null);
+
+ /** MutationResult createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** MutationResult updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** MutationResult conflictDetected */
+ conflictDetected?: (boolean|null);
+
+ /** MutationResult transformResults */
+ transformResults?: (google.datastore.v1.IValue[]|null);
+ }
+
+ /** Represents a MutationResult. */
+ class MutationResult implements IMutationResult {
+
+ /**
+ * Constructs a new MutationResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IMutationResult);
+
+ /** MutationResult key. */
+ public key?: (google.datastore.v1.IKey|null);
+
+ /** MutationResult version. */
+ public version: (number|Long|string);
+
+ /** MutationResult createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** MutationResult updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** MutationResult conflictDetected. */
+ public conflictDetected: boolean;
+
+ /** MutationResult transformResults. */
+ public transformResults: google.datastore.v1.IValue[];
+
+ /**
+ * Creates a new MutationResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MutationResult instance
+ */
+ public static create(properties?: google.datastore.v1.IMutationResult): google.datastore.v1.MutationResult;
+
+ /**
+ * Encodes the specified MutationResult message. Does not implicitly {@link google.datastore.v1.MutationResult.verify|verify} messages.
+ * @param message MutationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IMutationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MutationResult message, length delimited. Does not implicitly {@link google.datastore.v1.MutationResult.verify|verify} messages.
+ * @param message MutationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IMutationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MutationResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MutationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.MutationResult;
+
+ /**
+ * Decodes a MutationResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MutationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.MutationResult;
+
+ /**
+ * Verifies a MutationResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MutationResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MutationResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.MutationResult;
+
+ /**
+ * Creates a plain object from a MutationResult message. Also converts values to other types if specified.
+ * @param message MutationResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.MutationResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MutationResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MutationResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PropertyMask. */
+ interface IPropertyMask {
+
+ /** PropertyMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a PropertyMask. */
+ class PropertyMask implements IPropertyMask {
+
+ /**
+ * Constructs a new PropertyMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IPropertyMask);
+
+ /** PropertyMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new PropertyMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PropertyMask instance
+ */
+ public static create(properties?: google.datastore.v1.IPropertyMask): google.datastore.v1.PropertyMask;
+
+ /**
+ * Encodes the specified PropertyMask message. Does not implicitly {@link google.datastore.v1.PropertyMask.verify|verify} messages.
+ * @param message PropertyMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IPropertyMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PropertyMask message, length delimited. Does not implicitly {@link google.datastore.v1.PropertyMask.verify|verify} messages.
+ * @param message PropertyMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IPropertyMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PropertyMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PropertyMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.PropertyMask;
+
+ /**
+ * Decodes a PropertyMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PropertyMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.PropertyMask;
+
+ /**
+ * Verifies a PropertyMask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PropertyMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PropertyMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.PropertyMask;
+
+ /**
+ * Creates a plain object from a PropertyMask message. Also converts values to other types if specified.
+ * @param message PropertyMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.PropertyMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PropertyMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PropertyMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReadOptions. */
+ interface IReadOptions {
+
+ /** ReadOptions readConsistency */
+ readConsistency?: (google.datastore.v1.ReadOptions.ReadConsistency|keyof typeof google.datastore.v1.ReadOptions.ReadConsistency|null);
+
+ /** ReadOptions transaction */
+ transaction?: (Uint8Array|Buffer|string|null);
+
+ /** ReadOptions newTransaction */
+ newTransaction?: (google.datastore.v1.ITransactionOptions|null);
+
+ /** ReadOptions readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a ReadOptions. */
+ class ReadOptions implements IReadOptions {
+
+ /**
+ * Constructs a new ReadOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IReadOptions);
+
+ /** ReadOptions readConsistency. */
+ public readConsistency?: (google.datastore.v1.ReadOptions.ReadConsistency|keyof typeof google.datastore.v1.ReadOptions.ReadConsistency|null);
+
+ /** ReadOptions transaction. */
+ public transaction?: (Uint8Array|Buffer|string|null);
+
+ /** ReadOptions newTransaction. */
+ public newTransaction?: (google.datastore.v1.ITransactionOptions|null);
+
+ /** ReadOptions readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ReadOptions consistencyType. */
+ public consistencyType?: ("readConsistency"|"transaction"|"newTransaction"|"readTime");
+
+ /**
+ * Creates a new ReadOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReadOptions instance
+ */
+ public static create(properties?: google.datastore.v1.IReadOptions): google.datastore.v1.ReadOptions;
+
+ /**
+ * Encodes the specified ReadOptions message. Does not implicitly {@link google.datastore.v1.ReadOptions.verify|verify} messages.
+ * @param message ReadOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IReadOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReadOptions message, length delimited. Does not implicitly {@link google.datastore.v1.ReadOptions.verify|verify} messages.
+ * @param message ReadOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IReadOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReadOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReadOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.ReadOptions;
+
+ /**
+ * Decodes a ReadOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReadOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.ReadOptions;
+
+ /**
+ * Verifies a ReadOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReadOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReadOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.ReadOptions;
+
+ /**
+ * Creates a plain object from a ReadOptions message. Also converts values to other types if specified.
+ * @param message ReadOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.ReadOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReadOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReadOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ReadOptions {
+
+ /** ReadConsistency enum. */
+ enum ReadConsistency {
+ READ_CONSISTENCY_UNSPECIFIED = 0,
+ STRONG = 1,
+ EVENTUAL = 2
+ }
+ }
+
+ /** Properties of a TransactionOptions. */
+ interface ITransactionOptions {
+
+ /** TransactionOptions readWrite */
+ readWrite?: (google.datastore.v1.TransactionOptions.IReadWrite|null);
+
+ /** TransactionOptions readOnly */
+ readOnly?: (google.datastore.v1.TransactionOptions.IReadOnly|null);
+ }
+
+ /** Represents a TransactionOptions. */
+ class TransactionOptions implements ITransactionOptions {
+
+ /**
+ * Constructs a new TransactionOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.ITransactionOptions);
+
+ /** TransactionOptions readWrite. */
+ public readWrite?: (google.datastore.v1.TransactionOptions.IReadWrite|null);
+
+ /** TransactionOptions readOnly. */
+ public readOnly?: (google.datastore.v1.TransactionOptions.IReadOnly|null);
+
+ /** TransactionOptions mode. */
+ public mode?: ("readWrite"|"readOnly");
+
+ /**
+ * Creates a new TransactionOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransactionOptions instance
+ */
+ public static create(properties?: google.datastore.v1.ITransactionOptions): google.datastore.v1.TransactionOptions;
+
+ /**
+ * Encodes the specified TransactionOptions message. Does not implicitly {@link google.datastore.v1.TransactionOptions.verify|verify} messages.
+ * @param message TransactionOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.ITransactionOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransactionOptions message, length delimited. Does not implicitly {@link google.datastore.v1.TransactionOptions.verify|verify} messages.
+ * @param message TransactionOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.ITransactionOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransactionOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransactionOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.TransactionOptions;
+
+ /**
+ * Decodes a TransactionOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransactionOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.TransactionOptions;
+
+ /**
+ * Verifies a TransactionOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransactionOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransactionOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.TransactionOptions;
+
+ /**
+ * Creates a plain object from a TransactionOptions message. Also converts values to other types if specified.
+ * @param message TransactionOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.TransactionOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransactionOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TransactionOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace TransactionOptions {
+
+ /** Properties of a ReadWrite. */
+ interface IReadWrite {
+
+ /** ReadWrite previousTransaction */
+ previousTransaction?: (Uint8Array|Buffer|string|null);
+ }
+
+ /** Represents a ReadWrite. */
+ class ReadWrite implements IReadWrite {
+
+ /**
+ * Constructs a new ReadWrite.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.TransactionOptions.IReadWrite);
+
+ /** ReadWrite previousTransaction. */
+ public previousTransaction: (Uint8Array|Buffer|string);
+
+ /**
+ * Creates a new ReadWrite instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReadWrite instance
+ */
+ public static create(properties?: google.datastore.v1.TransactionOptions.IReadWrite): google.datastore.v1.TransactionOptions.ReadWrite;
+
+ /**
+ * Encodes the specified ReadWrite message. Does not implicitly {@link google.datastore.v1.TransactionOptions.ReadWrite.verify|verify} messages.
+ * @param message ReadWrite message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.TransactionOptions.IReadWrite, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReadWrite message, length delimited. Does not implicitly {@link google.datastore.v1.TransactionOptions.ReadWrite.verify|verify} messages.
+ * @param message ReadWrite message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.TransactionOptions.IReadWrite, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReadWrite message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReadWrite
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.TransactionOptions.ReadWrite;
+
+ /**
+ * Decodes a ReadWrite message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReadWrite
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.TransactionOptions.ReadWrite;
+
+ /**
+ * Verifies a ReadWrite message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReadWrite message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReadWrite
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.TransactionOptions.ReadWrite;
+
+ /**
+ * Creates a plain object from a ReadWrite message. Also converts values to other types if specified.
+ * @param message ReadWrite
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.TransactionOptions.ReadWrite, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReadWrite to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReadWrite
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReadOnly. */
+ interface IReadOnly {
+
+ /** ReadOnly readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a ReadOnly. */
+ class ReadOnly implements IReadOnly {
+
+ /**
+ * Constructs a new ReadOnly.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.TransactionOptions.IReadOnly);
+
+ /** ReadOnly readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new ReadOnly instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReadOnly instance
+ */
+ public static create(properties?: google.datastore.v1.TransactionOptions.IReadOnly): google.datastore.v1.TransactionOptions.ReadOnly;
+
+ /**
+ * Encodes the specified ReadOnly message. Does not implicitly {@link google.datastore.v1.TransactionOptions.ReadOnly.verify|verify} messages.
+ * @param message ReadOnly message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.TransactionOptions.IReadOnly, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReadOnly message, length delimited. Does not implicitly {@link google.datastore.v1.TransactionOptions.ReadOnly.verify|verify} messages.
+ * @param message ReadOnly message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.TransactionOptions.IReadOnly, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReadOnly message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReadOnly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.TransactionOptions.ReadOnly;
+
+ /**
+ * Decodes a ReadOnly message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReadOnly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.TransactionOptions.ReadOnly;
+
+ /**
+ * Verifies a ReadOnly message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReadOnly message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReadOnly
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.TransactionOptions.ReadOnly;
+
+ /**
+ * Creates a plain object from a ReadOnly message. Also converts values to other types if specified.
+ * @param message ReadOnly
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.TransactionOptions.ReadOnly, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReadOnly to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReadOnly
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExplainOptions. */
+ interface IExplainOptions {
+
+ /** ExplainOptions analyze */
+ analyze?: (boolean|null);
+ }
+
+ /** Represents an ExplainOptions. */
+ class ExplainOptions implements IExplainOptions {
+
+ /**
+ * Constructs a new ExplainOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IExplainOptions);
+
+ /** ExplainOptions analyze. */
+ public analyze: boolean;
+
+ /**
+ * Creates a new ExplainOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplainOptions instance
+ */
+ public static create(properties?: google.datastore.v1.IExplainOptions): google.datastore.v1.ExplainOptions;
+
+ /**
+ * Encodes the specified ExplainOptions message. Does not implicitly {@link google.datastore.v1.ExplainOptions.verify|verify} messages.
+ * @param message ExplainOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IExplainOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplainOptions message, length delimited. Does not implicitly {@link google.datastore.v1.ExplainOptions.verify|verify} messages.
+ * @param message ExplainOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IExplainOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplainOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplainOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.ExplainOptions;
+
+ /**
+ * Decodes an ExplainOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplainOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.ExplainOptions;
+
+ /**
+ * Verifies an ExplainOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExplainOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplainOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.ExplainOptions;
+
+ /**
+ * Creates a plain object from an ExplainOptions message. Also converts values to other types if specified.
+ * @param message ExplainOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.ExplainOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplainOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplainOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplainMetrics. */
+ interface IExplainMetrics {
+
+ /** ExplainMetrics planSummary */
+ planSummary?: (google.datastore.v1.IPlanSummary|null);
+
+ /** ExplainMetrics executionStats */
+ executionStats?: (google.datastore.v1.IExecutionStats|null);
+ }
+
+ /** Represents an ExplainMetrics. */
+ class ExplainMetrics implements IExplainMetrics {
+
+ /**
+ * Constructs a new ExplainMetrics.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IExplainMetrics);
+
+ /** ExplainMetrics planSummary. */
+ public planSummary?: (google.datastore.v1.IPlanSummary|null);
+
+ /** ExplainMetrics executionStats. */
+ public executionStats?: (google.datastore.v1.IExecutionStats|null);
+
+ /**
+ * Creates a new ExplainMetrics instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplainMetrics instance
+ */
+ public static create(properties?: google.datastore.v1.IExplainMetrics): google.datastore.v1.ExplainMetrics;
+
+ /**
+ * Encodes the specified ExplainMetrics message. Does not implicitly {@link google.datastore.v1.ExplainMetrics.verify|verify} messages.
+ * @param message ExplainMetrics message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IExplainMetrics, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplainMetrics message, length delimited. Does not implicitly {@link google.datastore.v1.ExplainMetrics.verify|verify} messages.
+ * @param message ExplainMetrics message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IExplainMetrics, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplainMetrics message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplainMetrics
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.ExplainMetrics;
+
+ /**
+ * Decodes an ExplainMetrics message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplainMetrics
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.ExplainMetrics;
+
+ /**
+ * Verifies an ExplainMetrics message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExplainMetrics message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplainMetrics
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.ExplainMetrics;
+
+ /**
+ * Creates a plain object from an ExplainMetrics message. Also converts values to other types if specified.
+ * @param message ExplainMetrics
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.ExplainMetrics, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplainMetrics to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplainMetrics
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PlanSummary. */
+ interface IPlanSummary {
+
+ /** PlanSummary indexesUsed */
+ indexesUsed?: (google.protobuf.IStruct[]|null);
+ }
+
+ /** Represents a PlanSummary. */
+ class PlanSummary implements IPlanSummary {
+
+ /**
+ * Constructs a new PlanSummary.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IPlanSummary);
+
+ /** PlanSummary indexesUsed. */
+ public indexesUsed: google.protobuf.IStruct[];
+
+ /**
+ * Creates a new PlanSummary instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PlanSummary instance
+ */
+ public static create(properties?: google.datastore.v1.IPlanSummary): google.datastore.v1.PlanSummary;
+
+ /**
+ * Encodes the specified PlanSummary message. Does not implicitly {@link google.datastore.v1.PlanSummary.verify|verify} messages.
+ * @param message PlanSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IPlanSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PlanSummary message, length delimited. Does not implicitly {@link google.datastore.v1.PlanSummary.verify|verify} messages.
+ * @param message PlanSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IPlanSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PlanSummary message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PlanSummary
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.PlanSummary;
+
+ /**
+ * Decodes a PlanSummary message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PlanSummary
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.PlanSummary;
+
+ /**
+ * Verifies a PlanSummary message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PlanSummary message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PlanSummary
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.PlanSummary;
+
+ /**
+ * Creates a plain object from a PlanSummary message. Also converts values to other types if specified.
+ * @param message PlanSummary
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.PlanSummary, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PlanSummary to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PlanSummary
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExecutionStats. */
+ interface IExecutionStats {
+
+ /** ExecutionStats resultsReturned */
+ resultsReturned?: (number|Long|string|null);
+
+ /** ExecutionStats executionDuration */
+ executionDuration?: (google.protobuf.IDuration|null);
+
+ /** ExecutionStats readOperations */
+ readOperations?: (number|Long|string|null);
+
+ /** ExecutionStats debugStats */
+ debugStats?: (google.protobuf.IStruct|null);
+ }
+
+ /** Represents an ExecutionStats. */
+ class ExecutionStats implements IExecutionStats {
+
+ /**
+ * Constructs a new ExecutionStats.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.datastore.v1.IExecutionStats);
+
+ /** ExecutionStats resultsReturned. */
+ public resultsReturned: (number|Long|string);
+
+ /** ExecutionStats executionDuration. */
+ public executionDuration?: (google.protobuf.IDuration|null);
+
+ /** ExecutionStats readOperations. */
+ public readOperations: (number|Long|string);
+
+ /** ExecutionStats debugStats. */
+ public debugStats?: (google.protobuf.IStruct|null);
+
+ /**
+ * Creates a new ExecutionStats instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExecutionStats instance
+ */
+ public static create(properties?: google.datastore.v1.IExecutionStats): google.datastore.v1.ExecutionStats;
+
+ /**
+ * Encodes the specified ExecutionStats message. Does not implicitly {@link google.datastore.v1.ExecutionStats.verify|verify} messages.
+ * @param message ExecutionStats message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.datastore.v1.IExecutionStats, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExecutionStats message, length delimited. Does not implicitly {@link google.datastore.v1.ExecutionStats.verify|verify} messages.
+ * @param message ExecutionStats message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.datastore.v1.IExecutionStats, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExecutionStats message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExecutionStats
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.datastore.v1.ExecutionStats;
+
+ /**
+ * Decodes an ExecutionStats message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExecutionStats
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.datastore.v1.ExecutionStats;
+
+ /**
+ * Verifies an ExecutionStats message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExecutionStats message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExecutionStats
+ */
+ public static fromObject(object: { [k: string]: any }): google.datastore.v1.ExecutionStats;
+
+ /**
+ * Creates a plain object from an ExecutionStats message. Also converts values to other types if specified.
+ * @param message ExecutionStats
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.datastore.v1.ExecutionStats, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExecutionStats to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExecutionStats
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CommonLanguageSettings. */
+ interface ICommonLanguageSettings {
+
+ /** CommonLanguageSettings referenceDocsUri */
+ referenceDocsUri?: (string|null);
+
+ /** CommonLanguageSettings destinations */
+ destinations?: (google.api.ClientLibraryDestination[]|null);
+
+ /** CommonLanguageSettings selectiveGapicGeneration */
+ selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null);
+ }
+
+ /** Represents a CommonLanguageSettings. */
+ class CommonLanguageSettings implements ICommonLanguageSettings {
+
+ /**
+ * Constructs a new CommonLanguageSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICommonLanguageSettings);
+
+ /** CommonLanguageSettings referenceDocsUri. */
+ public referenceDocsUri: string;
+
+ /** CommonLanguageSettings destinations. */
+ public destinations: google.api.ClientLibraryDestination[];
+
+ /** CommonLanguageSettings selectiveGapicGeneration. */
+ public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null);
+
+ /**
+ * Creates a new CommonLanguageSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommonLanguageSettings instance
+ */
+ public static create(properties?: google.api.ICommonLanguageSettings): google.api.CommonLanguageSettings;
+
+ /**
+ * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
+ * @param message CommonLanguageSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
+ * @param message CommonLanguageSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommonLanguageSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommonLanguageSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CommonLanguageSettings;
+
+ /**
+ * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommonLanguageSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CommonLanguageSettings;
+
+ /**
+ * Verifies a CommonLanguageSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommonLanguageSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CommonLanguageSettings;
+
+ /**
+ * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified.
+ * @param message CommonLanguageSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CommonLanguageSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommonLanguageSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommonLanguageSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ClientLibrarySettings. */
+ interface IClientLibrarySettings {
+
+ /** ClientLibrarySettings version */
+ version?: (string|null);
+
+ /** ClientLibrarySettings launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+
+ /** ClientLibrarySettings restNumericEnums */
+ restNumericEnums?: (boolean|null);
+
+ /** ClientLibrarySettings javaSettings */
+ javaSettings?: (google.api.IJavaSettings|null);
+
+ /** ClientLibrarySettings cppSettings */
+ cppSettings?: (google.api.ICppSettings|null);
+
+ /** ClientLibrarySettings phpSettings */
+ phpSettings?: (google.api.IPhpSettings|null);
+
+ /** ClientLibrarySettings pythonSettings */
+ pythonSettings?: (google.api.IPythonSettings|null);
+
+ /** ClientLibrarySettings nodeSettings */
+ nodeSettings?: (google.api.INodeSettings|null);
+
+ /** ClientLibrarySettings dotnetSettings */
+ dotnetSettings?: (google.api.IDotnetSettings|null);
+
+ /** ClientLibrarySettings rubySettings */
+ rubySettings?: (google.api.IRubySettings|null);
+
+ /** ClientLibrarySettings goSettings */
+ goSettings?: (google.api.IGoSettings|null);
+ }
+
+ /** Represents a ClientLibrarySettings. */
+ class ClientLibrarySettings implements IClientLibrarySettings {
+
+ /**
+ * Constructs a new ClientLibrarySettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IClientLibrarySettings);
+
+ /** ClientLibrarySettings version. */
+ public version: string;
+
+ /** ClientLibrarySettings launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /** ClientLibrarySettings restNumericEnums. */
+ public restNumericEnums: boolean;
+
+ /** ClientLibrarySettings javaSettings. */
+ public javaSettings?: (google.api.IJavaSettings|null);
+
+ /** ClientLibrarySettings cppSettings. */
+ public cppSettings?: (google.api.ICppSettings|null);
+
+ /** ClientLibrarySettings phpSettings. */
+ public phpSettings?: (google.api.IPhpSettings|null);
+
+ /** ClientLibrarySettings pythonSettings. */
+ public pythonSettings?: (google.api.IPythonSettings|null);
+
+ /** ClientLibrarySettings nodeSettings. */
+ public nodeSettings?: (google.api.INodeSettings|null);
+
+ /** ClientLibrarySettings dotnetSettings. */
+ public dotnetSettings?: (google.api.IDotnetSettings|null);
+
+ /** ClientLibrarySettings rubySettings. */
+ public rubySettings?: (google.api.IRubySettings|null);
+
+ /** ClientLibrarySettings goSettings. */
+ public goSettings?: (google.api.IGoSettings|null);
+
+ /**
+ * Creates a new ClientLibrarySettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ClientLibrarySettings instance
+ */
+ public static create(properties?: google.api.IClientLibrarySettings): google.api.ClientLibrarySettings;
+
+ /**
+ * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
+ * @param message ClientLibrarySettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
+ * @param message ClientLibrarySettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ClientLibrarySettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ClientLibrarySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ClientLibrarySettings;
+
+ /**
+ * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ClientLibrarySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ClientLibrarySettings;
+
+ /**
+ * Verifies a ClientLibrarySettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ClientLibrarySettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ClientLibrarySettings;
+
+ /**
+ * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified.
+ * @param message ClientLibrarySettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ClientLibrarySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ClientLibrarySettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ClientLibrarySettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Publishing. */
+ interface IPublishing {
+
+ /** Publishing methodSettings */
+ methodSettings?: (google.api.IMethodSettings[]|null);
+
+ /** Publishing newIssueUri */
+ newIssueUri?: (string|null);
+
+ /** Publishing documentationUri */
+ documentationUri?: (string|null);
+
+ /** Publishing apiShortName */
+ apiShortName?: (string|null);
+
+ /** Publishing githubLabel */
+ githubLabel?: (string|null);
+
+ /** Publishing codeownerGithubTeams */
+ codeownerGithubTeams?: (string[]|null);
+
+ /** Publishing docTagPrefix */
+ docTagPrefix?: (string|null);
+
+ /** Publishing organization */
+ organization?: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization|null);
+
+ /** Publishing librarySettings */
+ librarySettings?: (google.api.IClientLibrarySettings[]|null);
+
+ /** Publishing protoReferenceDocumentationUri */
+ protoReferenceDocumentationUri?: (string|null);
+
+ /** Publishing restReferenceDocumentationUri */
+ restReferenceDocumentationUri?: (string|null);
+ }
+
+ /** Represents a Publishing. */
+ class Publishing implements IPublishing {
+
+ /**
+ * Constructs a new Publishing.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IPublishing);
+
+ /** Publishing methodSettings. */
+ public methodSettings: google.api.IMethodSettings[];
+
+ /** Publishing newIssueUri. */
+ public newIssueUri: string;
+
+ /** Publishing documentationUri. */
+ public documentationUri: string;
+
+ /** Publishing apiShortName. */
+ public apiShortName: string;
+
+ /** Publishing githubLabel. */
+ public githubLabel: string;
+
+ /** Publishing codeownerGithubTeams. */
+ public codeownerGithubTeams: string[];
+
+ /** Publishing docTagPrefix. */
+ public docTagPrefix: string;
+
+ /** Publishing organization. */
+ public organization: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization);
+
+ /** Publishing librarySettings. */
+ public librarySettings: google.api.IClientLibrarySettings[];
+
+ /** Publishing protoReferenceDocumentationUri. */
+ public protoReferenceDocumentationUri: string;
+
+ /** Publishing restReferenceDocumentationUri. */
+ public restReferenceDocumentationUri: string;
+
+ /**
+ * Creates a new Publishing instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Publishing instance
+ */
+ public static create(properties?: google.api.IPublishing): google.api.Publishing;
+
+ /**
+ * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages.
+ * @param message Publishing message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages.
+ * @param message Publishing message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Publishing message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Publishing
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Publishing;
+
+ /**
+ * Decodes a Publishing message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Publishing
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Publishing;
+
+ /**
+ * Verifies a Publishing message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Publishing message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Publishing
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Publishing;
+
+ /**
+ * Creates a plain object from a Publishing message. Also converts values to other types if specified.
+ * @param message Publishing
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Publishing, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Publishing to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Publishing
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a JavaSettings. */
+ interface IJavaSettings {
+
+ /** JavaSettings libraryPackage */
+ libraryPackage?: (string|null);
+
+ /** JavaSettings serviceClassNames */
+ serviceClassNames?: ({ [k: string]: string }|null);
+
+ /** JavaSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a JavaSettings. */
+ class JavaSettings implements IJavaSettings {
+
+ /**
+ * Constructs a new JavaSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IJavaSettings);
+
+ /** JavaSettings libraryPackage. */
+ public libraryPackage: string;
+
+ /** JavaSettings serviceClassNames. */
+ public serviceClassNames: { [k: string]: string };
+
+ /** JavaSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new JavaSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JavaSettings instance
+ */
+ public static create(properties?: google.api.IJavaSettings): google.api.JavaSettings;
+
+ /**
+ * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages.
+ * @param message JavaSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages.
+ * @param message JavaSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JavaSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JavaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.JavaSettings;
+
+ /**
+ * Decodes a JavaSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JavaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.JavaSettings;
+
+ /**
+ * Verifies a JavaSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JavaSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.JavaSettings;
+
+ /**
+ * Creates a plain object from a JavaSettings message. Also converts values to other types if specified.
+ * @param message JavaSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.JavaSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JavaSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JavaSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CppSettings. */
+ interface ICppSettings {
+
+ /** CppSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a CppSettings. */
+ class CppSettings implements ICppSettings {
+
+ /**
+ * Constructs a new CppSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICppSettings);
+
+ /** CppSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new CppSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CppSettings instance
+ */
+ public static create(properties?: google.api.ICppSettings): google.api.CppSettings;
+
+ /**
+ * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages.
+ * @param message CppSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages.
+ * @param message CppSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CppSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CppSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CppSettings;
+
+ /**
+ * Decodes a CppSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CppSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CppSettings;
+
+ /**
+ * Verifies a CppSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CppSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CppSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CppSettings;
+
+ /**
+ * Creates a plain object from a CppSettings message. Also converts values to other types if specified.
+ * @param message CppSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CppSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CppSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CppSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PhpSettings. */
+ interface IPhpSettings {
+
+ /** PhpSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a PhpSettings. */
+ class PhpSettings implements IPhpSettings {
+
+ /**
+ * Constructs a new PhpSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IPhpSettings);
+
+ /** PhpSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new PhpSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PhpSettings instance
+ */
+ public static create(properties?: google.api.IPhpSettings): google.api.PhpSettings;
+
+ /**
+ * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages.
+ * @param message PhpSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages.
+ * @param message PhpSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PhpSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PhpSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PhpSettings;
+
+ /**
+ * Decodes a PhpSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PhpSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PhpSettings;
+
+ /**
+ * Verifies a PhpSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PhpSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.PhpSettings;
+
+ /**
+ * Creates a plain object from a PhpSettings message. Also converts values to other types if specified.
+ * @param message PhpSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.PhpSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PhpSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PhpSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PythonSettings. */
+ interface IPythonSettings {
+
+ /** PythonSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+
+ /** PythonSettings experimentalFeatures */
+ experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null);
+ }
+
+ /** Represents a PythonSettings. */
+ class PythonSettings implements IPythonSettings {
+
+ /**
+ * Constructs a new PythonSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IPythonSettings);
+
+ /** PythonSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /** PythonSettings experimentalFeatures. */
+ public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null);
+
+ /**
+ * Creates a new PythonSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PythonSettings instance
+ */
+ public static create(properties?: google.api.IPythonSettings): google.api.PythonSettings;
+
+ /**
+ * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages.
+ * @param message PythonSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages.
+ * @param message PythonSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PythonSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PythonSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings;
+
+ /**
+ * Decodes a PythonSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PythonSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings;
+
+ /**
+ * Verifies a PythonSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PythonSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.PythonSettings;
+
+ /**
+ * Creates a plain object from a PythonSettings message. Also converts values to other types if specified.
+ * @param message PythonSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.PythonSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PythonSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PythonSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PythonSettings {
+
+ /** Properties of an ExperimentalFeatures. */
+ interface IExperimentalFeatures {
+
+ /** ExperimentalFeatures restAsyncIoEnabled */
+ restAsyncIoEnabled?: (boolean|null);
+
+ /** ExperimentalFeatures protobufPythonicTypesEnabled */
+ protobufPythonicTypesEnabled?: (boolean|null);
+
+ /** ExperimentalFeatures unversionedPackageDisabled */
+ unversionedPackageDisabled?: (boolean|null);
+ }
+
+ /** Represents an ExperimentalFeatures. */
+ class ExperimentalFeatures implements IExperimentalFeatures {
+
+ /**
+ * Constructs a new ExperimentalFeatures.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.PythonSettings.IExperimentalFeatures);
+
+ /** ExperimentalFeatures restAsyncIoEnabled. */
+ public restAsyncIoEnabled: boolean;
+
+ /** ExperimentalFeatures protobufPythonicTypesEnabled. */
+ public protobufPythonicTypesEnabled: boolean;
+
+ /** ExperimentalFeatures unversionedPackageDisabled. */
+ public unversionedPackageDisabled: boolean;
+
+ /**
+ * Creates a new ExperimentalFeatures instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExperimentalFeatures instance
+ */
+ public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures;
+
+ /**
+ * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
+ * @param message ExperimentalFeatures message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
+ * @param message ExperimentalFeatures message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExperimentalFeatures message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExperimentalFeatures
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings.ExperimentalFeatures;
+
+ /**
+ * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExperimentalFeatures
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings.ExperimentalFeatures;
+
+ /**
+ * Verifies an ExperimentalFeatures message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExperimentalFeatures
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures;
+
+ /**
+ * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified.
+ * @param message ExperimentalFeatures
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExperimentalFeatures to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExperimentalFeatures
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a NodeSettings. */
+ interface INodeSettings {
+
+ /** NodeSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a NodeSettings. */
+ class NodeSettings implements INodeSettings {
+
+ /**
+ * Constructs a new NodeSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.INodeSettings);
+
+ /** NodeSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new NodeSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NodeSettings instance
+ */
+ public static create(properties?: google.api.INodeSettings): google.api.NodeSettings;
+
+ /**
+ * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages.
+ * @param message NodeSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages.
+ * @param message NodeSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NodeSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NodeSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.NodeSettings;
+
+ /**
+ * Decodes a NodeSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NodeSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.NodeSettings;
+
+ /**
+ * Verifies a NodeSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NodeSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.NodeSettings;
+
+ /**
+ * Creates a plain object from a NodeSettings message. Also converts values to other types if specified.
+ * @param message NodeSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.NodeSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NodeSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NodeSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DotnetSettings. */
+ interface IDotnetSettings {
+
+ /** DotnetSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+
+ /** DotnetSettings renamedServices */
+ renamedServices?: ({ [k: string]: string }|null);
+
+ /** DotnetSettings renamedResources */
+ renamedResources?: ({ [k: string]: string }|null);
+
+ /** DotnetSettings ignoredResources */
+ ignoredResources?: (string[]|null);
+
+ /** DotnetSettings forcedNamespaceAliases */
+ forcedNamespaceAliases?: (string[]|null);
+
+ /** DotnetSettings handwrittenSignatures */
+ handwrittenSignatures?: (string[]|null);
+ }
+
+ /** Represents a DotnetSettings. */
+ class DotnetSettings implements IDotnetSettings {
+
+ /**
+ * Constructs a new DotnetSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IDotnetSettings);
+
+ /** DotnetSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /** DotnetSettings renamedServices. */
+ public renamedServices: { [k: string]: string };
+
+ /** DotnetSettings renamedResources. */
+ public renamedResources: { [k: string]: string };
+
+ /** DotnetSettings ignoredResources. */
+ public ignoredResources: string[];
+
+ /** DotnetSettings forcedNamespaceAliases. */
+ public forcedNamespaceAliases: string[];
+
+ /** DotnetSettings handwrittenSignatures. */
+ public handwrittenSignatures: string[];
+
+ /**
+ * Creates a new DotnetSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DotnetSettings instance
+ */
+ public static create(properties?: google.api.IDotnetSettings): google.api.DotnetSettings;
+
+ /**
+ * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages.
+ * @param message DotnetSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages.
+ * @param message DotnetSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DotnetSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DotnetSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.DotnetSettings;
+
+ /**
+ * Decodes a DotnetSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DotnetSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.DotnetSettings;
+
+ /**
+ * Verifies a DotnetSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DotnetSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.DotnetSettings;
+
+ /**
+ * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified.
+ * @param message DotnetSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.DotnetSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DotnetSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DotnetSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RubySettings. */
+ interface IRubySettings {
+
+ /** RubySettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a RubySettings. */
+ class RubySettings implements IRubySettings {
+
+ /**
+ * Constructs a new RubySettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IRubySettings);
+
+ /** RubySettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new RubySettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RubySettings instance
+ */
+ public static create(properties?: google.api.IRubySettings): google.api.RubySettings;
+
+ /**
+ * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages.
+ * @param message RubySettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages.
+ * @param message RubySettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RubySettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RubySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.RubySettings;
+
+ /**
+ * Decodes a RubySettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RubySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.RubySettings;
+
+ /**
+ * Verifies a RubySettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RubySettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RubySettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.RubySettings;
+
+ /**
+ * Creates a plain object from a RubySettings message. Also converts values to other types if specified.
+ * @param message RubySettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.RubySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RubySettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RubySettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GoSettings. */
+ interface IGoSettings {
+
+ /** GoSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+
+ /** GoSettings renamedServices */
+ renamedServices?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a GoSettings. */
+ class GoSettings implements IGoSettings {
+
+ /**
+ * Constructs a new GoSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IGoSettings);
+
+ /** GoSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /** GoSettings renamedServices. */
+ public renamedServices: { [k: string]: string };
+
+ /**
+ * Creates a new GoSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GoSettings instance
+ */
+ public static create(properties?: google.api.IGoSettings): google.api.GoSettings;
+
+ /**
+ * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages.
+ * @param message GoSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages.
+ * @param message GoSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GoSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GoSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.GoSettings;
+
+ /**
+ * Decodes a GoSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GoSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.GoSettings;
+
+ /**
+ * Verifies a GoSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GoSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GoSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.GoSettings;
+
+ /**
+ * Creates a plain object from a GoSettings message. Also converts values to other types if specified.
+ * @param message GoSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.GoSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GoSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GoSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodSettings. */
+ interface IMethodSettings {
+
+ /** MethodSettings selector */
+ selector?: (string|null);
+
+ /** MethodSettings longRunning */
+ longRunning?: (google.api.MethodSettings.ILongRunning|null);
+
+ /** MethodSettings autoPopulatedFields */
+ autoPopulatedFields?: (string[]|null);
+ }
+
+ /** Represents a MethodSettings. */
+ class MethodSettings implements IMethodSettings {
+
+ /**
+ * Constructs a new MethodSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMethodSettings);
+
+ /** MethodSettings selector. */
+ public selector: string;
+
+ /** MethodSettings longRunning. */
+ public longRunning?: (google.api.MethodSettings.ILongRunning|null);
+
+ /** MethodSettings autoPopulatedFields. */
+ public autoPopulatedFields: string[];
+
+ /**
+ * Creates a new MethodSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodSettings instance
+ */
+ public static create(properties?: google.api.IMethodSettings): google.api.MethodSettings;
+
+ /**
+ * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages.
+ * @param message MethodSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages.
+ * @param message MethodSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings;
+
+ /**
+ * Decodes a MethodSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings;
+
+ /**
+ * Verifies a MethodSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MethodSettings;
+
+ /**
+ * Creates a plain object from a MethodSettings message. Also converts values to other types if specified.
+ * @param message MethodSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MethodSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodSettings {
+
+ /** Properties of a LongRunning. */
+ interface ILongRunning {
+
+ /** LongRunning initialPollDelay */
+ initialPollDelay?: (google.protobuf.IDuration|null);
+
+ /** LongRunning pollDelayMultiplier */
+ pollDelayMultiplier?: (number|null);
+
+ /** LongRunning maxPollDelay */
+ maxPollDelay?: (google.protobuf.IDuration|null);
+
+ /** LongRunning totalPollTimeout */
+ totalPollTimeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a LongRunning. */
+ class LongRunning implements ILongRunning {
+
+ /**
+ * Constructs a new LongRunning.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.MethodSettings.ILongRunning);
+
+ /** LongRunning initialPollDelay. */
+ public initialPollDelay?: (google.protobuf.IDuration|null);
+
+ /** LongRunning pollDelayMultiplier. */
+ public pollDelayMultiplier: number;
+
+ /** LongRunning maxPollDelay. */
+ public maxPollDelay?: (google.protobuf.IDuration|null);
+
+ /** LongRunning totalPollTimeout. */
+ public totalPollTimeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new LongRunning instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LongRunning instance
+ */
+ public static create(properties?: google.api.MethodSettings.ILongRunning): google.api.MethodSettings.LongRunning;
+
+ /**
+ * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages.
+ * @param message LongRunning message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages.
+ * @param message LongRunning message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LongRunning message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LongRunning
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings.LongRunning;
+
+ /**
+ * Decodes a LongRunning message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LongRunning
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings.LongRunning;
+
+ /**
+ * Verifies a LongRunning message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LongRunning message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LongRunning
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MethodSettings.LongRunning;
+
+ /**
+ * Creates a plain object from a LongRunning message. Also converts values to other types if specified.
+ * @param message LongRunning
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MethodSettings.LongRunning, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LongRunning to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LongRunning
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** ClientLibraryOrganization enum. */
+ enum ClientLibraryOrganization {
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0,
+ CLOUD = 1,
+ ADS = 2,
+ PHOTOS = 3,
+ STREET_VIEW = 4,
+ SHOPPING = 5,
+ GEO = 6,
+ GENERATIVE_AI = 7
+ }
+
+ /** ClientLibraryDestination enum. */
+ enum ClientLibraryDestination {
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0,
+ GITHUB = 10,
+ PACKAGE_MANAGER = 20
+ }
+
+ /** Properties of a SelectiveGapicGeneration. */
+ interface ISelectiveGapicGeneration {
+
+ /** SelectiveGapicGeneration methods */
+ methods?: (string[]|null);
+
+ /** SelectiveGapicGeneration generateOmittedAsInternal */
+ generateOmittedAsInternal?: (boolean|null);
+ }
+
+ /** Represents a SelectiveGapicGeneration. */
+ class SelectiveGapicGeneration implements ISelectiveGapicGeneration {
+
+ /**
+ * Constructs a new SelectiveGapicGeneration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ISelectiveGapicGeneration);
+
+ /** SelectiveGapicGeneration methods. */
+ public methods: string[];
+
+ /** SelectiveGapicGeneration generateOmittedAsInternal. */
+ public generateOmittedAsInternal: boolean;
+
+ /**
+ * Creates a new SelectiveGapicGeneration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SelectiveGapicGeneration instance
+ */
+ public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration;
+
+ /**
+ * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
+ * @param message SelectiveGapicGeneration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
+ * @param message SelectiveGapicGeneration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SelectiveGapicGeneration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SelectiveGapicGeneration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.SelectiveGapicGeneration;
+
+ /**
+ * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SelectiveGapicGeneration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.SelectiveGapicGeneration;
+
+ /**
+ * Verifies a SelectiveGapicGeneration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SelectiveGapicGeneration
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration;
+
+ /**
+ * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified.
+ * @param message SelectiveGapicGeneration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SelectiveGapicGeneration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SelectiveGapicGeneration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** LaunchStage enum. */
+ enum LaunchStage {
+ LAUNCH_STAGE_UNSPECIFIED = 0,
+ UNIMPLEMENTED = 6,
+ PRELAUNCH = 7,
+ EARLY_ACCESS = 1,
+ ALPHA = 2,
+ BETA = 3,
+ GA = 4,
+ DEPRECATED = 5
+ }
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7,
+ IDENTIFIER = 8
+ }
+
+ /** Properties of a RoutingRule. */
+ interface IRoutingRule {
+
+ /** RoutingRule routingParameters */
+ routingParameters?: (google.api.IRoutingParameter[]|null);
+ }
+
+ /** Represents a RoutingRule. */
+ class RoutingRule implements IRoutingRule {
+
+ /**
+ * Constructs a new RoutingRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IRoutingRule);
+
+ /** RoutingRule routingParameters. */
+ public routingParameters: google.api.IRoutingParameter[];
+
+ /**
+ * Creates a new RoutingRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RoutingRule instance
+ */
+ public static create(properties?: google.api.IRoutingRule): google.api.RoutingRule;
+
+ /**
+ * Encodes the specified RoutingRule message. Does not implicitly {@link google.api.RoutingRule.verify|verify} messages.
+ * @param message RoutingRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IRoutingRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RoutingRule message, length delimited. Does not implicitly {@link google.api.RoutingRule.verify|verify} messages.
+ * @param message RoutingRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IRoutingRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RoutingRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RoutingRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.RoutingRule;
+
+ /**
+ * Decodes a RoutingRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RoutingRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.RoutingRule;
+
+ /**
+ * Verifies a RoutingRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RoutingRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RoutingRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.RoutingRule;
+
+ /**
+ * Creates a plain object from a RoutingRule message. Also converts values to other types if specified.
+ * @param message RoutingRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.RoutingRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RoutingRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RoutingRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RoutingParameter. */
+ interface IRoutingParameter {
+
+ /** RoutingParameter field */
+ field?: (string|null);
+
+ /** RoutingParameter pathTemplate */
+ pathTemplate?: (string|null);
+ }
+
+ /** Represents a RoutingParameter. */
+ class RoutingParameter implements IRoutingParameter {
+
+ /**
+ * Constructs a new RoutingParameter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IRoutingParameter);
+
+ /** RoutingParameter field. */
+ public field: string;
+
+ /** RoutingParameter pathTemplate. */
+ public pathTemplate: string;
+
+ /**
+ * Creates a new RoutingParameter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RoutingParameter instance
+ */
+ public static create(properties?: google.api.IRoutingParameter): google.api.RoutingParameter;
+
+ /**
+ * Encodes the specified RoutingParameter message. Does not implicitly {@link google.api.RoutingParameter.verify|verify} messages.
+ * @param message RoutingParameter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IRoutingParameter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RoutingParameter message, length delimited. Does not implicitly {@link google.api.RoutingParameter.verify|verify} messages.
+ * @param message RoutingParameter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IRoutingParameter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RoutingParameter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RoutingParameter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.RoutingParameter;
+
+ /**
+ * Decodes a RoutingParameter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RoutingParameter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.RoutingParameter;
+
+ /**
+ * Verifies a RoutingParameter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RoutingParameter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RoutingParameter
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.RoutingParameter;
+
+ /**
+ * Creates a plain object from a RoutingParameter message. Also converts values to other types if specified.
+ * @param message RoutingParameter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.RoutingParameter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RoutingParameter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RoutingParameter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Edition enum. */
+ enum Edition {
+ EDITION_UNKNOWN = 0,
+ EDITION_LEGACY = 900,
+ EDITION_PROTO2 = 998,
+ EDITION_PROTO3 = 999,
+ EDITION_2023 = 1000,
+ EDITION_2024 = 1001,
+ EDITION_1_TEST_ONLY = 1,
+ EDITION_2_TEST_ONLY = 2,
+ EDITION_99997_TEST_ONLY = 99997,
+ EDITION_99998_TEST_ONLY = 99998,
+ EDITION_99999_TEST_ONLY = 99999,
+ EDITION_MAX = 2147483647
+ }
+
+ /** Properties of a FileDescriptorProto. */
+ interface IFileDescriptorProto {
+
+ /** FileDescriptorProto name */
+ name?: (string|null);
+
+ /** FileDescriptorProto package */
+ "package"?: (string|null);
+
+ /** FileDescriptorProto dependency */
+ dependency?: (string[]|null);
+
+ /** FileDescriptorProto publicDependency */
+ publicDependency?: (number[]|null);
+
+ /** FileDescriptorProto weakDependency */
+ weakDependency?: (number[]|null);
+
+ /** FileDescriptorProto optionDependency */
+ optionDependency?: (string[]|null);
+
+ /** FileDescriptorProto messageType */
+ messageType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** FileDescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** FileDescriptorProto service */
+ service?: (google.protobuf.IServiceDescriptorProto[]|null);
+
+ /** FileDescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** FileDescriptorProto options */
+ options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo */
+ sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax */
+ syntax?: (string|null);
+
+ /** FileDescriptorProto edition */
+ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+ }
+
+ /** Represents a FileDescriptorProto. */
+ class FileDescriptorProto implements IFileDescriptorProto {
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorProto);
+
+ /** FileDescriptorProto name. */
+ public name: string;
+
+ /** FileDescriptorProto package. */
+ public package: string;
+
+ /** FileDescriptorProto dependency. */
+ public dependency: string[];
+
+ /** FileDescriptorProto publicDependency. */
+ public publicDependency: number[];
+
+ /** FileDescriptorProto weakDependency. */
+ public weakDependency: number[];
+
+ /** FileDescriptorProto optionDependency. */
+ public optionDependency: string[];
+
+ /** FileDescriptorProto messageType. */
+ public messageType: google.protobuf.IDescriptorProto[];
+
+ /** FileDescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** FileDescriptorProto service. */
+ public service: google.protobuf.IServiceDescriptorProto[];
+
+ /** FileDescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** FileDescriptorProto options. */
+ public options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo. */
+ public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax. */
+ public syntax: string;
+
+ /** FileDescriptorProto edition. */
+ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @param message FileDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DescriptorProto. */
+ interface IDescriptorProto {
+
+ /** DescriptorProto name */
+ name?: (string|null);
+
+ /** DescriptorProto field */
+ field?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto nestedType */
+ nestedType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** DescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** DescriptorProto extensionRange */
+ extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);
+
+ /** DescriptorProto oneofDecl */
+ oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);
+
+ /** DescriptorProto options */
+ options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);
+
+ /** DescriptorProto reservedName */
+ reservedName?: (string[]|null);
+
+ /** DescriptorProto visibility */
+ visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null);
+ }
+
+ /** Represents a DescriptorProto. */
+ class DescriptorProto implements IDescriptorProto {
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDescriptorProto);
+
+ /** DescriptorProto name. */
+ public name: string;
+
+ /** DescriptorProto field. */
+ public field: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto nestedType. */
+ public nestedType: google.protobuf.IDescriptorProto[];
+
+ /** DescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** DescriptorProto extensionRange. */
+ public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];
+
+ /** DescriptorProto oneofDecl. */
+ public oneofDecl: google.protobuf.IOneofDescriptorProto[];
+
+ /** DescriptorProto options. */
+ public options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];
+
+ /** DescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /** DescriptorProto visibility. */
+ public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility);
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @param message DescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DescriptorProto {
+
+ /** Properties of an ExtensionRange. */
+ interface IExtensionRange {
+
+ /** ExtensionRange start */
+ start?: (number|null);
+
+ /** ExtensionRange end */
+ end?: (number|null);
+
+ /** ExtensionRange options */
+ options?: (google.protobuf.IExtensionRangeOptions|null);
+ }
+
+ /** Represents an ExtensionRange. */
+ class ExtensionRange implements IExtensionRange {
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);
+
+ /** ExtensionRange start. */
+ public start: number;
+
+ /** ExtensionRange end. */
+ public end: number;
+
+ /** ExtensionRange options. */
+ public options?: (google.protobuf.IExtensionRangeOptions|null);
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @param message ExtensionRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReservedRange. */
+ interface IReservedRange {
+
+ /** ReservedRange start */
+ start?: (number|null);
+
+ /** ReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents a ReservedRange. */
+ class ReservedRange implements IReservedRange {
+
+ /**
+ * Constructs a new ReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);
+
+ /** ReservedRange start. */
+ public start: number;
+
+ /** ReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReservedRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Verifies a ReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @param message ReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExtensionRangeOptions. */
+ interface IExtensionRangeOptions {
+
+ /** ExtensionRangeOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ExtensionRangeOptions declaration */
+ declaration?: (google.protobuf.ExtensionRangeOptions.IDeclaration[]|null);
+
+ /** ExtensionRangeOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** ExtensionRangeOptions verification */
+ verification?: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState|null);
+ }
+
+ /** Represents an ExtensionRangeOptions. */
+ class ExtensionRangeOptions implements IExtensionRangeOptions {
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IExtensionRangeOptions);
+
+ /** ExtensionRangeOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /** ExtensionRangeOptions declaration. */
+ public declaration: google.protobuf.ExtensionRangeOptions.IDeclaration[];
+
+ /** ExtensionRangeOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** ExtensionRangeOptions verification. */
+ public verification: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState);
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRangeOptions instance
+ */
+ public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRangeOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @param message ExtensionRangeOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ExtensionRangeOptions {
+
+ /** Properties of a Declaration. */
+ interface IDeclaration {
+
+ /** Declaration number */
+ number?: (number|null);
+
+ /** Declaration fullName */
+ fullName?: (string|null);
+
+ /** Declaration type */
+ type?: (string|null);
+
+ /** Declaration reserved */
+ reserved?: (boolean|null);
+
+ /** Declaration repeated */
+ repeated?: (boolean|null);
+ }
+
+ /** Represents a Declaration. */
+ class Declaration implements IDeclaration {
+
+ /**
+ * Constructs a new Declaration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration);
+
+ /** Declaration number. */
+ public number: number;
+
+ /** Declaration fullName. */
+ public fullName: string;
+
+ /** Declaration type. */
+ public type: string;
+
+ /** Declaration reserved. */
+ public reserved: boolean;
+
+ /** Declaration repeated. */
+ public repeated: boolean;
+
+ /**
+ * Creates a new Declaration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Declaration instance
+ */
+ public static create(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration): google.protobuf.ExtensionRangeOptions.Declaration;
+
+ /**
+ * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
+ * @param message Declaration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
+ * @param message Declaration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Declaration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Declaration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions.Declaration;
+
+ /**
+ * Decodes a Declaration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Declaration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions.Declaration;
+
+ /**
+ * Verifies a Declaration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Declaration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Declaration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions.Declaration;
+
+ /**
+ * Creates a plain object from a Declaration message. Also converts values to other types if specified.
+ * @param message Declaration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions.Declaration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Declaration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Declaration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** VerificationState enum. */
+ enum VerificationState {
+ DECLARATION = 0,
+ UNVERIFIED = 1
+ }
+ }
+
+ /** Properties of a FieldDescriptorProto. */
+ interface IFieldDescriptorProto {
+
+ /** FieldDescriptorProto name */
+ name?: (string|null);
+
+ /** FieldDescriptorProto number */
+ number?: (number|null);
+
+ /** FieldDescriptorProto label */
+ label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);
+
+ /** FieldDescriptorProto type */
+ type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);
+
+ /** FieldDescriptorProto typeName */
+ typeName?: (string|null);
+
+ /** FieldDescriptorProto extendee */
+ extendee?: (string|null);
+
+ /** FieldDescriptorProto defaultValue */
+ defaultValue?: (string|null);
+
+ /** FieldDescriptorProto oneofIndex */
+ oneofIndex?: (number|null);
+
+ /** FieldDescriptorProto jsonName */
+ jsonName?: (string|null);
+
+ /** FieldDescriptorProto options */
+ options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional */
+ proto3Optional?: (boolean|null);
+ }
+
+ /** Represents a FieldDescriptorProto. */
+ class FieldDescriptorProto implements IFieldDescriptorProto {
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldDescriptorProto);
+
+ /** FieldDescriptorProto name. */
+ public name: string;
+
+ /** FieldDescriptorProto number. */
+ public number: number;
+
+ /** FieldDescriptorProto label. */
+ public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);
+
+ /** FieldDescriptorProto type. */
+ public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);
+
+ /** FieldDescriptorProto typeName. */
+ public typeName: string;
+
+ /** FieldDescriptorProto extendee. */
+ public extendee: string;
+
+ /** FieldDescriptorProto defaultValue. */
+ public defaultValue: string;
+
+ /** FieldDescriptorProto oneofIndex. */
+ public oneofIndex: number;
+
+ /** FieldDescriptorProto jsonName. */
+ public jsonName: string;
+
+ /** FieldDescriptorProto options. */
+ public options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional. */
+ public proto3Optional: boolean;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @param message FieldDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldDescriptorProto {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18
+ }
+
+ /** Label enum. */
+ enum Label {
+ LABEL_OPTIONAL = 1,
+ LABEL_REPEATED = 3,
+ LABEL_REQUIRED = 2
+ }
+ }
+
+ /** Properties of an OneofDescriptorProto. */
+ interface IOneofDescriptorProto {
+
+ /** OneofDescriptorProto name */
+ name?: (string|null);
+
+ /** OneofDescriptorProto options */
+ options?: (google.protobuf.IOneofOptions|null);
+ }
+
+ /** Represents an OneofDescriptorProto. */
+ class OneofDescriptorProto implements IOneofDescriptorProto {
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofDescriptorProto);
+
+ /** OneofDescriptorProto name. */
+ public name: string;
+
+ /** OneofDescriptorProto options. */
+ public options?: (google.protobuf.IOneofOptions|null);
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @param message OneofDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumDescriptorProto. */
+ interface IEnumDescriptorProto {
+
+ /** EnumDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumDescriptorProto value */
+ value?: (google.protobuf.IEnumValueDescriptorProto[]|null);
+
+ /** EnumDescriptorProto options */
+ options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);
+
+ /** EnumDescriptorProto reservedName */
+ reservedName?: (string[]|null);
+
+ /** EnumDescriptorProto visibility */
+ visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null);
+ }
+
+ /** Represents an EnumDescriptorProto. */
+ class EnumDescriptorProto implements IEnumDescriptorProto {
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumDescriptorProto);
+
+ /** EnumDescriptorProto name. */
+ public name: string;
+
+ /** EnumDescriptorProto value. */
+ public value: google.protobuf.IEnumValueDescriptorProto[];
+
+ /** EnumDescriptorProto options. */
+ public options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];
+
+ /** EnumDescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /** EnumDescriptorProto visibility. */
+ public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility);
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EnumDescriptorProto {
+
+ /** Properties of an EnumReservedRange. */
+ interface IEnumReservedRange {
+
+ /** EnumReservedRange start */
+ start?: (number|null);
+
+ /** EnumReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents an EnumReservedRange. */
+ class EnumReservedRange implements IEnumReservedRange {
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);
+
+ /** EnumReservedRange start. */
+ public start: number;
+
+ /** EnumReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumReservedRange instance
+ */
+ public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @param message EnumReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an EnumValueDescriptorProto. */
+ interface IEnumValueDescriptorProto {
+
+ /** EnumValueDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumValueDescriptorProto number */
+ number?: (number|null);
+
+ /** EnumValueDescriptorProto options */
+ options?: (google.protobuf.IEnumValueOptions|null);
+ }
+
+ /** Represents an EnumValueDescriptorProto. */
+ class EnumValueDescriptorProto implements IEnumValueDescriptorProto {
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueDescriptorProto);
+
+ /** EnumValueDescriptorProto name. */
+ public name: string;
+
+ /** EnumValueDescriptorProto number. */
+ public number: number;
+
+ /** EnumValueDescriptorProto options. */
+ public options?: (google.protobuf.IEnumValueOptions|null);
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumValueDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceDescriptorProto. */
+ interface IServiceDescriptorProto {
+
+ /** ServiceDescriptorProto name */
+ name?: (string|null);
+
+ /** ServiceDescriptorProto method */
+ method?: (google.protobuf.IMethodDescriptorProto[]|null);
+
+ /** ServiceDescriptorProto options */
+ options?: (google.protobuf.IServiceOptions|null);
+ }
+
+ /** Represents a ServiceDescriptorProto. */
+ class ServiceDescriptorProto implements IServiceDescriptorProto {
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceDescriptorProto);
+
+ /** ServiceDescriptorProto name. */
+ public name: string;
+
+ /** ServiceDescriptorProto method. */
+ public method: google.protobuf.IMethodDescriptorProto[];
+
+ /** ServiceDescriptorProto options. */
+ public options?: (google.protobuf.IServiceOptions|null);
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @param message ServiceDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodDescriptorProto. */
+ interface IMethodDescriptorProto {
+
+ /** MethodDescriptorProto name */
+ name?: (string|null);
+
+ /** MethodDescriptorProto inputType */
+ inputType?: (string|null);
+
+ /** MethodDescriptorProto outputType */
+ outputType?: (string|null);
+
+ /** MethodDescriptorProto options */
+ options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming */
+ clientStreaming?: (boolean|null);
+
+ /** MethodDescriptorProto serverStreaming */
+ serverStreaming?: (boolean|null);
+ }
+
+ /** Represents a MethodDescriptorProto. */
+ class MethodDescriptorProto implements IMethodDescriptorProto {
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodDescriptorProto);
+
+ /** MethodDescriptorProto name. */
+ public name: string;
+
+ /** MethodDescriptorProto inputType. */
+ public inputType: string;
+
+ /** MethodDescriptorProto outputType. */
+ public outputType: string;
+
+ /** MethodDescriptorProto options. */
+ public options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming. */
+ public clientStreaming: boolean;
+
+ /** MethodDescriptorProto serverStreaming. */
+ public serverStreaming: boolean;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @param message MethodDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileOptions. */
+ interface IFileOptions {
+
+ /** FileOptions javaPackage */
+ javaPackage?: (string|null);
+
+ /** FileOptions javaOuterClassname */
+ javaOuterClassname?: (string|null);
+
+ /** FileOptions javaMultipleFiles */
+ javaMultipleFiles?: (boolean|null);
+
+ /** FileOptions javaGenerateEqualsAndHash */
+ javaGenerateEqualsAndHash?: (boolean|null);
+
+ /** FileOptions javaStringCheckUtf8 */
+ javaStringCheckUtf8?: (boolean|null);
+
+ /** FileOptions optimizeFor */
+ optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);
+
+ /** FileOptions goPackage */
+ goPackage?: (string|null);
+
+ /** FileOptions ccGenericServices */
+ ccGenericServices?: (boolean|null);
+
+ /** FileOptions javaGenericServices */
+ javaGenericServices?: (boolean|null);
+
+ /** FileOptions pyGenericServices */
+ pyGenericServices?: (boolean|null);
+
+ /** FileOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FileOptions ccEnableArenas */
+ ccEnableArenas?: (boolean|null);
+
+ /** FileOptions objcClassPrefix */
+ objcClassPrefix?: (string|null);
+
+ /** FileOptions csharpNamespace */
+ csharpNamespace?: (string|null);
+
+ /** FileOptions swiftPrefix */
+ swiftPrefix?: (string|null);
+
+ /** FileOptions phpClassPrefix */
+ phpClassPrefix?: (string|null);
+
+ /** FileOptions phpNamespace */
+ phpNamespace?: (string|null);
+
+ /** FileOptions phpMetadataNamespace */
+ phpMetadataNamespace?: (string|null);
+
+ /** FileOptions rubyPackage */
+ rubyPackage?: (string|null);
+
+ /** FileOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** FileOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions deprecatedLegacyJsonFieldConflicts */
+ deprecatedLegacyJsonFieldConflicts?: (boolean|null);
+
+ /** MessageOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions deprecatedLegacyJsonFieldConflicts. */
+ public deprecatedLegacyJsonFieldConflicts: boolean;
+
+ /** MessageOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions debugRedact */
+ debugRedact?: (boolean|null);
+
+ /** FieldOptions retention */
+ retention?: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention|null);
+
+ /** FieldOptions targets */
+ targets?: (google.protobuf.FieldOptions.OptionTargetType[]|null);
+
+ /** FieldOptions editionDefaults */
+ editionDefaults?: (google.protobuf.FieldOptions.IEditionDefault[]|null);
+
+ /** FieldOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** FieldOptions featureSupport */
+ featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions debugRedact. */
+ public debugRedact: boolean;
+
+ /** FieldOptions retention. */
+ public retention: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention);
+
+ /** FieldOptions targets. */
+ public targets: google.protobuf.FieldOptions.OptionTargetType[];
+
+ /** FieldOptions editionDefaults. */
+ public editionDefaults: google.protobuf.FieldOptions.IEditionDefault[];
+
+ /** FieldOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** FieldOptions featureSupport. */
+ public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+
+ /** OptionRetention enum. */
+ enum OptionRetention {
+ RETENTION_UNKNOWN = 0,
+ RETENTION_RUNTIME = 1,
+ RETENTION_SOURCE = 2
+ }
+
+ /** OptionTargetType enum. */
+ enum OptionTargetType {
+ TARGET_TYPE_UNKNOWN = 0,
+ TARGET_TYPE_FILE = 1,
+ TARGET_TYPE_EXTENSION_RANGE = 2,
+ TARGET_TYPE_MESSAGE = 3,
+ TARGET_TYPE_FIELD = 4,
+ TARGET_TYPE_ONEOF = 5,
+ TARGET_TYPE_ENUM = 6,
+ TARGET_TYPE_ENUM_ENTRY = 7,
+ TARGET_TYPE_SERVICE = 8,
+ TARGET_TYPE_METHOD = 9
+ }
+
+ /** Properties of an EditionDefault. */
+ interface IEditionDefault {
+
+ /** EditionDefault edition */
+ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** EditionDefault value */
+ value?: (string|null);
+ }
+
+ /** Represents an EditionDefault. */
+ class EditionDefault implements IEditionDefault {
+
+ /**
+ * Constructs a new EditionDefault.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.FieldOptions.IEditionDefault);
+
+ /** EditionDefault edition. */
+ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** EditionDefault value. */
+ public value: string;
+
+ /**
+ * Creates a new EditionDefault instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EditionDefault instance
+ */
+ public static create(properties?: google.protobuf.FieldOptions.IEditionDefault): google.protobuf.FieldOptions.EditionDefault;
+
+ /**
+ * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
+ * @param message EditionDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
+ * @param message EditionDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EditionDefault message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.EditionDefault;
+
+ /**
+ * Decodes an EditionDefault message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.EditionDefault;
+
+ /**
+ * Verifies an EditionDefault message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EditionDefault
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.EditionDefault;
+
+ /**
+ * Creates a plain object from an EditionDefault message. Also converts values to other types if specified.
+ * @param message EditionDefault
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions.EditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EditionDefault to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EditionDefault
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FeatureSupport. */
+ interface IFeatureSupport {
+
+ /** FeatureSupport editionIntroduced */
+ editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** FeatureSupport editionDeprecated */
+ editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** FeatureSupport deprecationWarning */
+ deprecationWarning?: (string|null);
+
+ /** FeatureSupport editionRemoved */
+ editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+ }
+
+ /** Represents a FeatureSupport. */
+ class FeatureSupport implements IFeatureSupport {
+
+ /**
+ * Constructs a new FeatureSupport.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport);
+
+ /** FeatureSupport editionIntroduced. */
+ public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** FeatureSupport editionDeprecated. */
+ public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** FeatureSupport deprecationWarning. */
+ public deprecationWarning: string;
+
+ /** FeatureSupport editionRemoved. */
+ public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /**
+ * Creates a new FeatureSupport instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeatureSupport instance
+ */
+ public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport;
+
+ /**
+ * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+ * @param message FeatureSupport message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+ * @param message FeatureSupport message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeatureSupport message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeatureSupport
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.FeatureSupport;
+
+ /**
+ * Decodes a FeatureSupport message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeatureSupport
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.FeatureSupport;
+
+ /**
+ * Verifies a FeatureSupport message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeatureSupport
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport;
+
+ /**
+ * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified.
+ * @param message FeatureSupport
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeatureSupport to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeatureSupport
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions deprecatedLegacyJsonFieldConflicts */
+ deprecatedLegacyJsonFieldConflicts?: (boolean|null);
+
+ /** EnumOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions deprecatedLegacyJsonFieldConflicts. */
+ public deprecatedLegacyJsonFieldConflicts: boolean;
+
+ /** EnumOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** EnumValueOptions debugRedact */
+ debugRedact?: (boolean|null);
+
+ /** EnumValueOptions featureSupport */
+ featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** EnumValueOptions debugRedact. */
+ public debugRedact: boolean;
+
+ /** EnumValueOptions featureSupport. */
+ public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+
+ /** ServiceOptions .google.api.apiVersion */
+ ".google.api.apiVersion"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+
+ /** MethodOptions .google.longrunning.operationInfo */
+ ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null);
+
+ /** MethodOptions .google.api.routing */
+ ".google.api.routing"?: (google.api.IRoutingRule|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|Buffer|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|Buffer|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a FeatureSet. */
+ interface IFeatureSet {
+
+ /** FeatureSet fieldPresence */
+ fieldPresence?: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence|null);
+
+ /** FeatureSet enumType */
+ enumType?: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType|null);
+
+ /** FeatureSet repeatedFieldEncoding */
+ repeatedFieldEncoding?: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding|null);
+
+ /** FeatureSet utf8Validation */
+ utf8Validation?: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation|null);
+
+ /** FeatureSet messageEncoding */
+ messageEncoding?: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding|null);
+
+ /** FeatureSet jsonFormat */
+ jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null);
+
+ /** FeatureSet enforceNamingStyle */
+ enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null);
+
+ /** FeatureSet defaultSymbolVisibility */
+ defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null);
+ }
+
+ /** Represents a FeatureSet. */
+ class FeatureSet implements IFeatureSet {
+
+ /**
+ * Constructs a new FeatureSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFeatureSet);
+
+ /** FeatureSet fieldPresence. */
+ public fieldPresence: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence);
+
+ /** FeatureSet enumType. */
+ public enumType: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType);
+
+ /** FeatureSet repeatedFieldEncoding. */
+ public repeatedFieldEncoding: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding);
+
+ /** FeatureSet utf8Validation. */
+ public utf8Validation: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation);
+
+ /** FeatureSet messageEncoding. */
+ public messageEncoding: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding);
+
+ /** FeatureSet jsonFormat. */
+ public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat);
+
+ /** FeatureSet enforceNamingStyle. */
+ public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle);
+
+ /** FeatureSet defaultSymbolVisibility. */
+ public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility);
+
+ /**
+ * Creates a new FeatureSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeatureSet instance
+ */
+ public static create(properties?: google.protobuf.IFeatureSet): google.protobuf.FeatureSet;
+
+ /**
+ * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
+ * @param message FeatureSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
+ * @param message FeatureSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeatureSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeatureSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet;
+
+ /**
+ * Decodes a FeatureSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeatureSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet;
+
+ /**
+ * Verifies a FeatureSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeatureSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet;
+
+ /**
+ * Creates a plain object from a FeatureSet message. Also converts values to other types if specified.
+ * @param message FeatureSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FeatureSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeatureSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeatureSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FeatureSet {
+
+ /** FieldPresence enum. */
+ enum FieldPresence {
+ FIELD_PRESENCE_UNKNOWN = 0,
+ EXPLICIT = 1,
+ IMPLICIT = 2,
+ LEGACY_REQUIRED = 3
+ }
+
+ /** EnumType enum. */
+ enum EnumType {
+ ENUM_TYPE_UNKNOWN = 0,
+ OPEN = 1,
+ CLOSED = 2
+ }
+
+ /** RepeatedFieldEncoding enum. */
+ enum RepeatedFieldEncoding {
+ REPEATED_FIELD_ENCODING_UNKNOWN = 0,
+ PACKED = 1,
+ EXPANDED = 2
+ }
+
+ /** Utf8Validation enum. */
+ enum Utf8Validation {
+ UTF8_VALIDATION_UNKNOWN = 0,
+ VERIFY = 2,
+ NONE = 3
+ }
+
+ /** MessageEncoding enum. */
+ enum MessageEncoding {
+ MESSAGE_ENCODING_UNKNOWN = 0,
+ LENGTH_PREFIXED = 1,
+ DELIMITED = 2
+ }
+
+ /** JsonFormat enum. */
+ enum JsonFormat {
+ JSON_FORMAT_UNKNOWN = 0,
+ ALLOW = 1,
+ LEGACY_BEST_EFFORT = 2
+ }
+
+ /** EnforceNamingStyle enum. */
+ enum EnforceNamingStyle {
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0,
+ STYLE2024 = 1,
+ STYLE_LEGACY = 2
+ }
+
+ /** Properties of a VisibilityFeature. */
+ interface IVisibilityFeature {
+ }
+
+ /** Represents a VisibilityFeature. */
+ class VisibilityFeature implements IVisibilityFeature {
+
+ /**
+ * Constructs a new VisibilityFeature.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature);
+
+ /**
+ * Creates a new VisibilityFeature instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VisibilityFeature instance
+ */
+ public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature;
+
+ /**
+ * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+ * @param message VisibilityFeature message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+ * @param message VisibilityFeature message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VisibilityFeature message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VisibilityFeature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet.VisibilityFeature;
+
+ /**
+ * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VisibilityFeature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet.VisibilityFeature;
+
+ /**
+ * Verifies a VisibilityFeature message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VisibilityFeature
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature;
+
+ /**
+ * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified.
+ * @param message VisibilityFeature
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VisibilityFeature to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VisibilityFeature
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace VisibilityFeature {
+
+ /** DefaultSymbolVisibility enum. */
+ enum DefaultSymbolVisibility {
+ DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0,
+ EXPORT_ALL = 1,
+ EXPORT_TOP_LEVEL = 2,
+ LOCAL_ALL = 3,
+ STRICT = 4
+ }
+ }
+ }
+
+ /** Properties of a FeatureSetDefaults. */
+ interface IFeatureSetDefaults {
+
+ /** FeatureSetDefaults defaults */
+ defaults?: (google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]|null);
+
+ /** FeatureSetDefaults minimumEdition */
+ minimumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** FeatureSetDefaults maximumEdition */
+ maximumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+ }
+
+ /** Represents a FeatureSetDefaults. */
+ class FeatureSetDefaults implements IFeatureSetDefaults {
+
+ /**
+ * Constructs a new FeatureSetDefaults.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFeatureSetDefaults);
+
+ /** FeatureSetDefaults defaults. */
+ public defaults: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[];
+
+ /** FeatureSetDefaults minimumEdition. */
+ public minimumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** FeatureSetDefaults maximumEdition. */
+ public maximumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /**
+ * Creates a new FeatureSetDefaults instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeatureSetDefaults instance
+ */
+ public static create(properties?: google.protobuf.IFeatureSetDefaults): google.protobuf.FeatureSetDefaults;
+
+ /**
+ * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
+ * @param message FeatureSetDefaults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
+ * @param message FeatureSetDefaults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeatureSetDefaults message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeatureSetDefaults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults;
+
+ /**
+ * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeatureSetDefaults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults;
+
+ /**
+ * Verifies a FeatureSetDefaults message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeatureSetDefaults
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults;
+
+ /**
+ * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified.
+ * @param message FeatureSetDefaults
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FeatureSetDefaults, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeatureSetDefaults to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeatureSetDefaults
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FeatureSetDefaults {
+
+ /** Properties of a FeatureSetEditionDefault. */
+ interface IFeatureSetEditionDefault {
+
+ /** FeatureSetEditionDefault edition */
+ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** FeatureSetEditionDefault overridableFeatures */
+ overridableFeatures?: (google.protobuf.IFeatureSet|null);
+
+ /** FeatureSetEditionDefault fixedFeatures */
+ fixedFeatures?: (google.protobuf.IFeatureSet|null);
+ }
+
+ /** Represents a FeatureSetEditionDefault. */
+ class FeatureSetEditionDefault implements IFeatureSetEditionDefault {
+
+ /**
+ * Constructs a new FeatureSetEditionDefault.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault);
+
+ /** FeatureSetEditionDefault edition. */
+ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** FeatureSetEditionDefault overridableFeatures. */
+ public overridableFeatures?: (google.protobuf.IFeatureSet|null);
+
+ /** FeatureSetEditionDefault fixedFeatures. */
+ public fixedFeatures?: (google.protobuf.IFeatureSet|null);
+
+ /**
+ * Creates a new FeatureSetEditionDefault instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeatureSetEditionDefault instance
+ */
+ public static create(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;
+
+ /**
+ * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
+ * @param message FeatureSetEditionDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
+ * @param message FeatureSetEditionDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeatureSetEditionDefault message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeatureSetEditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;
+
+ /**
+ * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeatureSetEditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;
+
+ /**
+ * Verifies a FeatureSetEditionDefault message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeatureSetEditionDefault
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;
+
+ /**
+ * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified.
+ * @param message FeatureSetEditionDefault
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeatureSetEditionDefault to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeatureSetEditionDefault
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** SymbolVisibility enum. */
+ enum SymbolVisibility {
+ VISIBILITY_UNSET = 0,
+ VISIBILITY_LOCAL = 1,
+ VISIBILITY_EXPORT = 2
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|Buffer|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|Buffer|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Struct. */
+ interface IStruct {
+
+ /** Struct fields */
+ fields?: ({ [k: string]: google.protobuf.IValue }|null);
+ }
+
+ /** Represents a Struct. */
+ class Struct implements IStruct {
+
+ /**
+ * Constructs a new Struct.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IStruct);
+
+ /** Struct fields. */
+ public fields: { [k: string]: google.protobuf.IValue };
+
+ /**
+ * Creates a new Struct instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Struct instance
+ */
+ public static create(properties?: google.protobuf.IStruct): google.protobuf.Struct;
+
+ /**
+ * Encodes the specified Struct message. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
+ * @param message Struct message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Struct message, length delimited. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
+ * @param message Struct message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Struct message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Struct
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Struct;
+
+ /**
+ * Decodes a Struct message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Struct
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Struct;
+
+ /**
+ * Verifies a Struct message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Struct message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Struct
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Struct;
+
+ /**
+ * Creates a plain object from a Struct message. Also converts values to other types if specified.
+ * @param message Struct
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Struct, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Struct to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Struct
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Value. */
+ interface IValue {
+
+ /** Value nullValue */
+ nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value numberValue */
+ numberValue?: (number|null);
+
+ /** Value stringValue */
+ stringValue?: (string|null);
+
+ /** Value boolValue */
+ boolValue?: (boolean|null);
+
+ /** Value structValue */
+ structValue?: (google.protobuf.IStruct|null);
+
+ /** Value listValue */
+ listValue?: (google.protobuf.IListValue|null);
+ }
+
+ /** Represents a Value. */
+ class Value implements IValue {
+
+ /**
+ * Constructs a new Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IValue);
+
+ /** Value nullValue. */
+ public nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value numberValue. */
+ public numberValue?: (number|null);
+
+ /** Value stringValue. */
+ public stringValue?: (string|null);
+
+ /** Value boolValue. */
+ public boolValue?: (boolean|null);
+
+ /** Value structValue. */
+ public structValue?: (google.protobuf.IStruct|null);
+
+ /** Value listValue. */
+ public listValue?: (google.protobuf.IListValue|null);
+
+ /** Value kind. */
+ public kind?: ("nullValue"|"numberValue"|"stringValue"|"boolValue"|"structValue"|"listValue");
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Value instance
+ */
+ public static create(properties?: google.protobuf.IValue): google.protobuf.Value;
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.protobuf.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.protobuf.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Value;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Value;
+
+ /**
+ * Verifies a Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Value;
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @param message Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** NullValue enum. */
+ enum NullValue {
+ NULL_VALUE = 0
+ }
+
+ /** Properties of a ListValue. */
+ interface IListValue {
+
+ /** ListValue values */
+ values?: (google.protobuf.IValue[]|null);
+ }
+
+ /** Represents a ListValue. */
+ class ListValue implements IListValue {
+
+ /**
+ * Constructs a new ListValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IListValue);
+
+ /** ListValue values. */
+ public values: google.protobuf.IValue[];
+
+ /**
+ * Creates a new ListValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListValue instance
+ */
+ public static create(properties?: google.protobuf.IListValue): google.protobuf.ListValue;
+
+ /**
+ * Encodes the specified ListValue message. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
+ * @param message ListValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListValue message, length delimited. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
+ * @param message ListValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ListValue;
+
+ /**
+ * Decodes a ListValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ListValue;
+
+ /**
+ * Verifies a ListValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ListValue;
+
+ /**
+ * Creates a plain object from a ListValue message. Also converts values to other types if specified.
+ * @param message ListValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ListValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DoubleValue. */
+ interface IDoubleValue {
+
+ /** DoubleValue value */
+ value?: (number|null);
+ }
+
+ /** Represents a DoubleValue. */
+ class DoubleValue implements IDoubleValue {
+
+ /**
+ * Constructs a new DoubleValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDoubleValue);
+
+ /** DoubleValue value. */
+ public value: number;
+
+ /**
+ * Creates a new DoubleValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DoubleValue instance
+ */
+ public static create(properties?: google.protobuf.IDoubleValue): google.protobuf.DoubleValue;
+
+ /**
+ * Encodes the specified DoubleValue message. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages.
+ * @param message DoubleValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DoubleValue message, length delimited. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages.
+ * @param message DoubleValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DoubleValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DoubleValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DoubleValue;
+
+ /**
+ * Decodes a DoubleValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DoubleValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DoubleValue;
+
+ /**
+ * Verifies a DoubleValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DoubleValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DoubleValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DoubleValue;
+
+ /**
+ * Creates a plain object from a DoubleValue message. Also converts values to other types if specified.
+ * @param message DoubleValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DoubleValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DoubleValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DoubleValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FloatValue. */
+ interface IFloatValue {
+
+ /** FloatValue value */
+ value?: (number|null);
+ }
+
+ /** Represents a FloatValue. */
+ class FloatValue implements IFloatValue {
+
+ /**
+ * Constructs a new FloatValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFloatValue);
+
+ /** FloatValue value. */
+ public value: number;
+
+ /**
+ * Creates a new FloatValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FloatValue instance
+ */
+ public static create(properties?: google.protobuf.IFloatValue): google.protobuf.FloatValue;
+
+ /**
+ * Encodes the specified FloatValue message. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages.
+ * @param message FloatValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FloatValue message, length delimited. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages.
+ * @param message FloatValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FloatValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FloatValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FloatValue;
+
+ /**
+ * Decodes a FloatValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FloatValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FloatValue;
+
+ /**
+ * Verifies a FloatValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FloatValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FloatValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FloatValue;
+
+ /**
+ * Creates a plain object from a FloatValue message. Also converts values to other types if specified.
+ * @param message FloatValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FloatValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FloatValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FloatValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Int64Value. */
+ interface IInt64Value {
+
+ /** Int64Value value */
+ value?: (number|Long|string|null);
+ }
+
+ /** Represents an Int64Value. */
+ class Int64Value implements IInt64Value {
+
+ /**
+ * Constructs a new Int64Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IInt64Value);
+
+ /** Int64Value value. */
+ public value: (number|Long|string);
+
+ /**
+ * Creates a new Int64Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Int64Value instance
+ */
+ public static create(properties?: google.protobuf.IInt64Value): google.protobuf.Int64Value;
+
+ /**
+ * Encodes the specified Int64Value message. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages.
+ * @param message Int64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Int64Value message, length delimited. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages.
+ * @param message Int64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Int64Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Int64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Int64Value;
+
+ /**
+ * Decodes an Int64Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Int64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Int64Value;
+
+ /**
+ * Verifies an Int64Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Int64Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Int64Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Int64Value;
+
+ /**
+ * Creates a plain object from an Int64Value message. Also converts values to other types if specified.
+ * @param message Int64Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Int64Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Int64Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Int64Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UInt64Value. */
+ interface IUInt64Value {
+
+ /** UInt64Value value */
+ value?: (number|Long|string|null);
+ }
+
+ /** Represents a UInt64Value. */
+ class UInt64Value implements IUInt64Value {
+
+ /**
+ * Constructs a new UInt64Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUInt64Value);
+
+ /** UInt64Value value. */
+ public value: (number|Long|string);
+
+ /**
+ * Creates a new UInt64Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UInt64Value instance
+ */
+ public static create(properties?: google.protobuf.IUInt64Value): google.protobuf.UInt64Value;
+
+ /**
+ * Encodes the specified UInt64Value message. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages.
+ * @param message UInt64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UInt64Value message, length delimited. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages.
+ * @param message UInt64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UInt64Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UInt64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UInt64Value;
+
+ /**
+ * Decodes a UInt64Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UInt64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UInt64Value;
+
+ /**
+ * Verifies a UInt64Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UInt64Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UInt64Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UInt64Value;
+
+ /**
+ * Creates a plain object from a UInt64Value message. Also converts values to other types if specified.
+ * @param message UInt64Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UInt64Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UInt64Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UInt64Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Int32Value. */
+ interface IInt32Value {
+
+ /** Int32Value value */
+ value?: (number|null);
+ }
+
+ /** Represents an Int32Value. */
+ class Int32Value implements IInt32Value {
+
+ /**
+ * Constructs a new Int32Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IInt32Value);
+
+ /** Int32Value value. */
+ public value: number;
+
+ /**
+ * Creates a new Int32Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Int32Value instance
+ */
+ public static create(properties?: google.protobuf.IInt32Value): google.protobuf.Int32Value;
+
+ /**
+ * Encodes the specified Int32Value message. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages.
+ * @param message Int32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Int32Value message, length delimited. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages.
+ * @param message Int32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Int32Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Int32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Int32Value;
+
+ /**
+ * Decodes an Int32Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Int32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Int32Value;
+
+ /**
+ * Verifies an Int32Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Int32Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Int32Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Int32Value;
+
+ /**
+ * Creates a plain object from an Int32Value message. Also converts values to other types if specified.
+ * @param message Int32Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Int32Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Int32Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Int32Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UInt32Value. */
+ interface IUInt32Value {
+
+ /** UInt32Value value */
+ value?: (number|null);
+ }
+
+ /** Represents a UInt32Value. */
+ class UInt32Value implements IUInt32Value {
+
+ /**
+ * Constructs a new UInt32Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUInt32Value);
+
+ /** UInt32Value value. */
+ public value: number;
+
+ /**
+ * Creates a new UInt32Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UInt32Value instance
+ */
+ public static create(properties?: google.protobuf.IUInt32Value): google.protobuf.UInt32Value;
+
+ /**
+ * Encodes the specified UInt32Value message. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages.
+ * @param message UInt32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UInt32Value message, length delimited. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages.
+ * @param message UInt32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UInt32Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UInt32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UInt32Value;
+
+ /**
+ * Decodes a UInt32Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UInt32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UInt32Value;
+
+ /**
+ * Verifies a UInt32Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UInt32Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UInt32Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UInt32Value;
+
+ /**
+ * Creates a plain object from a UInt32Value message. Also converts values to other types if specified.
+ * @param message UInt32Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UInt32Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UInt32Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UInt32Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BoolValue. */
+ interface IBoolValue {
+
+ /** BoolValue value */
+ value?: (boolean|null);
+ }
+
+ /** Represents a BoolValue. */
+ class BoolValue implements IBoolValue {
+
+ /**
+ * Constructs a new BoolValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IBoolValue);
+
+ /** BoolValue value. */
+ public value: boolean;
+
+ /**
+ * Creates a new BoolValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoolValue instance
+ */
+ public static create(properties?: google.protobuf.IBoolValue): google.protobuf.BoolValue;
+
+ /**
+ * Encodes the specified BoolValue message. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages.
+ * @param message BoolValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoolValue message, length delimited. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages.
+ * @param message BoolValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoolValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoolValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.BoolValue;
+
+ /**
+ * Decodes a BoolValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoolValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.BoolValue;
+
+ /**
+ * Verifies a BoolValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoolValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoolValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.BoolValue;
+
+ /**
+ * Creates a plain object from a BoolValue message. Also converts values to other types if specified.
+ * @param message BoolValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.BoolValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoolValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoolValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StringValue. */
+ interface IStringValue {
+
+ /** StringValue value */
+ value?: (string|null);
+ }
+
+ /** Represents a StringValue. */
+ class StringValue implements IStringValue {
+
+ /**
+ * Constructs a new StringValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IStringValue);
+
+ /** StringValue value. */
+ public value: string;
+
+ /**
+ * Creates a new StringValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StringValue instance
+ */
+ public static create(properties?: google.protobuf.IStringValue): google.protobuf.StringValue;
+
+ /**
+ * Encodes the specified StringValue message. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages.
+ * @param message StringValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StringValue message, length delimited. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages.
+ * @param message StringValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StringValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StringValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.StringValue;
+
+ /**
+ * Decodes a StringValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StringValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.StringValue;
+
+ /**
+ * Verifies a StringValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StringValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StringValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.StringValue;
+
+ /**
+ * Creates a plain object from a StringValue message. Also converts values to other types if specified.
+ * @param message StringValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.StringValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StringValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StringValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BytesValue. */
+ interface IBytesValue {
+
+ /** BytesValue value */
+ value?: (Uint8Array|Buffer|string|null);
+ }
+
+ /** Represents a BytesValue. */
+ class BytesValue implements IBytesValue {
+
+ /**
+ * Constructs a new BytesValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IBytesValue);
+
+ /** BytesValue value. */
+ public value: (Uint8Array|Buffer|string);
+
+ /**
+ * Creates a new BytesValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BytesValue instance
+ */
+ public static create(properties?: google.protobuf.IBytesValue): google.protobuf.BytesValue;
+
+ /**
+ * Encodes the specified BytesValue message. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages.
+ * @param message BytesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BytesValue message, length delimited. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages.
+ * @param message BytesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BytesValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BytesValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.BytesValue;
+
+ /**
+ * Decodes a BytesValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BytesValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.BytesValue;
+
+ /**
+ * Verifies a BytesValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BytesValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BytesValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.BytesValue;
+
+ /**
+ * Creates a plain object from a BytesValue message. Also converts values to other types if specified.
+ * @param message BytesValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.BytesValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BytesValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BytesValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace type. */
+ namespace type {
+
+ /** Properties of a LatLng. */
+ interface ILatLng {
+
+ /** LatLng latitude */
+ latitude?: (number|null);
+
+ /** LatLng longitude */
+ longitude?: (number|null);
+ }
+
+ /** Represents a LatLng. */
+ class LatLng implements ILatLng {
+
+ /**
+ * Constructs a new LatLng.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.ILatLng);
+
+ /** LatLng latitude. */
+ public latitude: number;
+
+ /** LatLng longitude. */
+ public longitude: number;
+
+ /**
+ * Creates a new LatLng instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LatLng instance
+ */
+ public static create(properties?: google.type.ILatLng): google.type.LatLng;
+
+ /**
+ * Encodes the specified LatLng message. Does not implicitly {@link google.type.LatLng.verify|verify} messages.
+ * @param message LatLng message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.ILatLng, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LatLng message, length delimited. Does not implicitly {@link google.type.LatLng.verify|verify} messages.
+ * @param message LatLng message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.ILatLng, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LatLng message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LatLng
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.LatLng;
+
+ /**
+ * Decodes a LatLng message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LatLng
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.LatLng;
+
+ /**
+ * Verifies a LatLng message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LatLng message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LatLng
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.LatLng;
+
+ /**
+ * Creates a plain object from a LatLng message. Also converts values to other types if specified.
+ * @param message LatLng
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.LatLng, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LatLng to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LatLng
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/handwritten/nodejs-datastore/protos/protos.js b/handwritten/nodejs-datastore/protos/protos.js
new file mode 100644
index 00000000000..c1e6ff69d1f
--- /dev/null
+++ b/handwritten/nodejs-datastore/protos/protos.js
@@ -0,0 +1,48074 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
+(function(global, factory) { /* global define, require, module */
+
+ /* AMD */ if (typeof define === 'function' && define.amd)
+ define(["protobufjs/minimal"], factory);
+
+ /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports)
+ module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal);
+
+})(this, function($protobuf) {
+ "use strict";
+
+ // Common aliases
+ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
+
+ // Exported root namespace
+ var $root = $protobuf.roots._google_cloud_datastore_protos || ($protobuf.roots._google_cloud_datastore_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.datastore = (function() {
+
+ /**
+ * Namespace datastore.
+ * @memberof google
+ * @namespace
+ */
+ var datastore = {};
+
+ datastore.admin = (function() {
+
+ /**
+ * Namespace admin.
+ * @memberof google.datastore
+ * @namespace
+ */
+ var admin = {};
+
+ admin.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.datastore.admin
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.DatastoreAdmin = (function() {
+
+ /**
+ * Constructs a new DatastoreAdmin service.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a DatastoreAdmin
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function DatastoreAdmin(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (DatastoreAdmin.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = DatastoreAdmin;
+
+ /**
+ * Creates new DatastoreAdmin service using the specified rpc implementation.
+ * @function create
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {DatastoreAdmin} RPC service. Useful where requests and/or responses are streamed.
+ */
+ DatastoreAdmin.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|exportEntities}.
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @typedef ExportEntitiesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls ExportEntities.
+ * @function exportEntities
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IExportEntitiesRequest} request ExportEntitiesRequest message or plain object
+ * @param {google.datastore.admin.v1.DatastoreAdmin.ExportEntitiesCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DatastoreAdmin.prototype.exportEntities = function exportEntities(request, callback) {
+ return this.rpcCall(exportEntities, $root.google.datastore.admin.v1.ExportEntitiesRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "ExportEntities" });
+
+ /**
+ * Calls ExportEntities.
+ * @function exportEntities
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IExportEntitiesRequest} request ExportEntitiesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|importEntities}.
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @typedef ImportEntitiesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls ImportEntities.
+ * @function importEntities
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IImportEntitiesRequest} request ImportEntitiesRequest message or plain object
+ * @param {google.datastore.admin.v1.DatastoreAdmin.ImportEntitiesCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DatastoreAdmin.prototype.importEntities = function importEntities(request, callback) {
+ return this.rpcCall(importEntities, $root.google.datastore.admin.v1.ImportEntitiesRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "ImportEntities" });
+
+ /**
+ * Calls ImportEntities.
+ * @function importEntities
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IImportEntitiesRequest} request ImportEntitiesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|createIndex}.
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @typedef CreateIndexCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateIndex.
+ * @function createIndex
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.ICreateIndexRequest} request CreateIndexRequest message or plain object
+ * @param {google.datastore.admin.v1.DatastoreAdmin.CreateIndexCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DatastoreAdmin.prototype.createIndex = function createIndex(request, callback) {
+ return this.rpcCall(createIndex, $root.google.datastore.admin.v1.CreateIndexRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateIndex" });
+
+ /**
+ * Calls CreateIndex.
+ * @function createIndex
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.ICreateIndexRequest} request CreateIndexRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|deleteIndex}.
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @typedef DeleteIndexCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteIndex.
+ * @function deleteIndex
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IDeleteIndexRequest} request DeleteIndexRequest message or plain object
+ * @param {google.datastore.admin.v1.DatastoreAdmin.DeleteIndexCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DatastoreAdmin.prototype.deleteIndex = function deleteIndex(request, callback) {
+ return this.rpcCall(deleteIndex, $root.google.datastore.admin.v1.DeleteIndexRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteIndex" });
+
+ /**
+ * Calls DeleteIndex.
+ * @function deleteIndex
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IDeleteIndexRequest} request DeleteIndexRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|getIndex}.
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @typedef GetIndexCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.datastore.admin.v1.Index} [response] Index
+ */
+
+ /**
+ * Calls GetIndex.
+ * @function getIndex
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IGetIndexRequest} request GetIndexRequest message or plain object
+ * @param {google.datastore.admin.v1.DatastoreAdmin.GetIndexCallback} callback Node-style callback called with the error, if any, and Index
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DatastoreAdmin.prototype.getIndex = function getIndex(request, callback) {
+ return this.rpcCall(getIndex, $root.google.datastore.admin.v1.GetIndexRequest, $root.google.datastore.admin.v1.Index, request, callback);
+ }, "name", { value: "GetIndex" });
+
+ /**
+ * Calls GetIndex.
+ * @function getIndex
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IGetIndexRequest} request GetIndexRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.datastore.admin.v1.DatastoreAdmin|listIndexes}.
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @typedef ListIndexesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.datastore.admin.v1.ListIndexesResponse} [response] ListIndexesResponse
+ */
+
+ /**
+ * Calls ListIndexes.
+ * @function listIndexes
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IListIndexesRequest} request ListIndexesRequest message or plain object
+ * @param {google.datastore.admin.v1.DatastoreAdmin.ListIndexesCallback} callback Node-style callback called with the error, if any, and ListIndexesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DatastoreAdmin.prototype.listIndexes = function listIndexes(request, callback) {
+ return this.rpcCall(listIndexes, $root.google.datastore.admin.v1.ListIndexesRequest, $root.google.datastore.admin.v1.ListIndexesResponse, request, callback);
+ }, "name", { value: "ListIndexes" });
+
+ /**
+ * Calls ListIndexes.
+ * @function listIndexes
+ * @memberof google.datastore.admin.v1.DatastoreAdmin
+ * @instance
+ * @param {google.datastore.admin.v1.IListIndexesRequest} request ListIndexesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return DatastoreAdmin;
+ })();
+
+ v1.CommonMetadata = (function() {
+
+ /**
+ * Properties of a CommonMetadata.
+ * @memberof google.datastore.admin.v1
+ * @interface ICommonMetadata
+ * @property {google.protobuf.ITimestamp|null} [startTime] CommonMetadata startTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] CommonMetadata endTime
+ * @property {google.datastore.admin.v1.OperationType|null} [operationType] CommonMetadata operationType
+ * @property {Object.|null} [labels] CommonMetadata labels
+ * @property {google.datastore.admin.v1.CommonMetadata.State|null} [state] CommonMetadata state
+ */
+
+ /**
+ * Constructs a new CommonMetadata.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a CommonMetadata.
+ * @implements ICommonMetadata
+ * @constructor
+ * @param {google.datastore.admin.v1.ICommonMetadata=} [properties] Properties to set
+ */
+ function CommonMetadata(properties) {
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CommonMetadata startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @instance
+ */
+ CommonMetadata.prototype.startTime = null;
+
+ /**
+ * CommonMetadata endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @instance
+ */
+ CommonMetadata.prototype.endTime = null;
+
+ /**
+ * CommonMetadata operationType.
+ * @member {google.datastore.admin.v1.OperationType} operationType
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @instance
+ */
+ CommonMetadata.prototype.operationType = 0;
+
+ /**
+ * CommonMetadata labels.
+ * @member {Object.} labels
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @instance
+ */
+ CommonMetadata.prototype.labels = $util.emptyObject;
+
+ /**
+ * CommonMetadata state.
+ * @member {google.datastore.admin.v1.CommonMetadata.State} state
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @instance
+ */
+ CommonMetadata.prototype.state = 0;
+
+ /**
+ * Creates a new CommonMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {google.datastore.admin.v1.ICommonMetadata=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.CommonMetadata} CommonMetadata instance
+ */
+ CommonMetadata.create = function create(properties) {
+ return new CommonMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified CommonMetadata message. Does not implicitly {@link google.datastore.admin.v1.CommonMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {google.datastore.admin.v1.ICommonMetadata} message CommonMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommonMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.operationType != null && Object.hasOwnProperty.call(message, "operationType"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.operationType);
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.state);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CommonMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.CommonMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {google.datastore.admin.v1.ICommonMetadata} message CommonMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommonMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CommonMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.CommonMetadata} CommonMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommonMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.CommonMetadata(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.operationType = reader.int32();
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 5: {
+ message.state = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CommonMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.CommonMetadata} CommonMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommonMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CommonMetadata message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CommonMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.operationType != null && message.hasOwnProperty("operationType"))
+ switch (message.operationType) {
+ default:
+ return "operationType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CommonMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.CommonMetadata} CommonMetadata
+ */
+ CommonMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.CommonMetadata)
+ return object;
+ var message = new $root.google.datastore.admin.v1.CommonMetadata();
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.datastore.admin.v1.CommonMetadata.startTime: object expected");
+ message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.datastore.admin.v1.CommonMetadata.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ switch (object.operationType) {
+ default:
+ if (typeof object.operationType === "number") {
+ message.operationType = object.operationType;
+ break;
+ }
+ break;
+ case "OPERATION_TYPE_UNSPECIFIED":
+ case 0:
+ message.operationType = 0;
+ break;
+ case "EXPORT_ENTITIES":
+ case 1:
+ message.operationType = 1;
+ break;
+ case "IMPORT_ENTITIES":
+ case 2:
+ message.operationType = 2;
+ break;
+ case "CREATE_INDEX":
+ case 3:
+ message.operationType = 3;
+ break;
+ case "DELETE_INDEX":
+ case 4:
+ message.operationType = 4;
+ break;
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.datastore.admin.v1.CommonMetadata.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "INITIALIZING":
+ case 1:
+ message.state = 1;
+ break;
+ case "PROCESSING":
+ case 2:
+ message.state = 2;
+ break;
+ case "CANCELLING":
+ case 3:
+ message.state = 3;
+ break;
+ case "FINALIZING":
+ case 4:
+ message.state = 4;
+ break;
+ case "SUCCESSFUL":
+ case 5:
+ message.state = 5;
+ break;
+ case "FAILED":
+ case 6:
+ message.state = 6;
+ break;
+ case "CANCELLED":
+ case 7:
+ message.state = 7;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CommonMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {google.datastore.admin.v1.CommonMetadata} message CommonMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CommonMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.startTime = null;
+ object.endTime = null;
+ object.operationType = options.enums === String ? "OPERATION_TYPE_UNSPECIFIED" : 0;
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.operationType != null && message.hasOwnProperty("operationType"))
+ object.operationType = options.enums === String ? $root.google.datastore.admin.v1.OperationType[message.operationType] === undefined ? message.operationType : $root.google.datastore.admin.v1.OperationType[message.operationType] : message.operationType;
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.datastore.admin.v1.CommonMetadata.State[message.state] === undefined ? message.state : $root.google.datastore.admin.v1.CommonMetadata.State[message.state] : message.state;
+ return object;
+ };
+
+ /**
+ * Converts this CommonMetadata to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CommonMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CommonMetadata
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.CommonMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CommonMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.CommonMetadata";
+ };
+
+ /**
+ * State enum.
+ * @name google.datastore.admin.v1.CommonMetadata.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} INITIALIZING=1 INITIALIZING value
+ * @property {number} PROCESSING=2 PROCESSING value
+ * @property {number} CANCELLING=3 CANCELLING value
+ * @property {number} FINALIZING=4 FINALIZING value
+ * @property {number} SUCCESSFUL=5 SUCCESSFUL value
+ * @property {number} FAILED=6 FAILED value
+ * @property {number} CANCELLED=7 CANCELLED value
+ */
+ CommonMetadata.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "INITIALIZING"] = 1;
+ values[valuesById[2] = "PROCESSING"] = 2;
+ values[valuesById[3] = "CANCELLING"] = 3;
+ values[valuesById[4] = "FINALIZING"] = 4;
+ values[valuesById[5] = "SUCCESSFUL"] = 5;
+ values[valuesById[6] = "FAILED"] = 6;
+ values[valuesById[7] = "CANCELLED"] = 7;
+ return values;
+ })();
+
+ return CommonMetadata;
+ })();
+
+ v1.Progress = (function() {
+
+ /**
+ * Properties of a Progress.
+ * @memberof google.datastore.admin.v1
+ * @interface IProgress
+ * @property {number|Long|null} [workCompleted] Progress workCompleted
+ * @property {number|Long|null} [workEstimated] Progress workEstimated
+ */
+
+ /**
+ * Constructs a new Progress.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a Progress.
+ * @implements IProgress
+ * @constructor
+ * @param {google.datastore.admin.v1.IProgress=} [properties] Properties to set
+ */
+ function Progress(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Progress workCompleted.
+ * @member {number|Long} workCompleted
+ * @memberof google.datastore.admin.v1.Progress
+ * @instance
+ */
+ Progress.prototype.workCompleted = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * Progress workEstimated.
+ * @member {number|Long} workEstimated
+ * @memberof google.datastore.admin.v1.Progress
+ * @instance
+ */
+ Progress.prototype.workEstimated = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * Creates a new Progress instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {google.datastore.admin.v1.IProgress=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.Progress} Progress instance
+ */
+ Progress.create = function create(properties) {
+ return new Progress(properties);
+ };
+
+ /**
+ * Encodes the specified Progress message. Does not implicitly {@link google.datastore.admin.v1.Progress.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {google.datastore.admin.v1.IProgress} message Progress message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Progress.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.workCompleted != null && Object.hasOwnProperty.call(message, "workCompleted"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int64(message.workCompleted);
+ if (message.workEstimated != null && Object.hasOwnProperty.call(message, "workEstimated"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.workEstimated);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Progress message, length delimited. Does not implicitly {@link google.datastore.admin.v1.Progress.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {google.datastore.admin.v1.IProgress} message Progress message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Progress.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Progress message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.Progress} Progress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Progress.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.Progress();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.workCompleted = reader.int64();
+ break;
+ }
+ case 2: {
+ message.workEstimated = reader.int64();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Progress message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.Progress} Progress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Progress.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Progress message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Progress.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.workCompleted != null && message.hasOwnProperty("workCompleted"))
+ if (!$util.isInteger(message.workCompleted) && !(message.workCompleted && $util.isInteger(message.workCompleted.low) && $util.isInteger(message.workCompleted.high)))
+ return "workCompleted: integer|Long expected";
+ if (message.workEstimated != null && message.hasOwnProperty("workEstimated"))
+ if (!$util.isInteger(message.workEstimated) && !(message.workEstimated && $util.isInteger(message.workEstimated.low) && $util.isInteger(message.workEstimated.high)))
+ return "workEstimated: integer|Long expected";
+ return null;
+ };
+
+ /**
+ * Creates a Progress message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.Progress} Progress
+ */
+ Progress.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.Progress)
+ return object;
+ var message = new $root.google.datastore.admin.v1.Progress();
+ if (object.workCompleted != null)
+ if ($util.Long)
+ (message.workCompleted = $util.Long.fromValue(object.workCompleted)).unsigned = false;
+ else if (typeof object.workCompleted === "string")
+ message.workCompleted = parseInt(object.workCompleted, 10);
+ else if (typeof object.workCompleted === "number")
+ message.workCompleted = object.workCompleted;
+ else if (typeof object.workCompleted === "object")
+ message.workCompleted = new $util.LongBits(object.workCompleted.low >>> 0, object.workCompleted.high >>> 0).toNumber();
+ if (object.workEstimated != null)
+ if ($util.Long)
+ (message.workEstimated = $util.Long.fromValue(object.workEstimated)).unsigned = false;
+ else if (typeof object.workEstimated === "string")
+ message.workEstimated = parseInt(object.workEstimated, 10);
+ else if (typeof object.workEstimated === "number")
+ message.workEstimated = object.workEstimated;
+ else if (typeof object.workEstimated === "object")
+ message.workEstimated = new $util.LongBits(object.workEstimated.low >>> 0, object.workEstimated.high >>> 0).toNumber();
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Progress message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {google.datastore.admin.v1.Progress} message Progress
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Progress.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.workCompleted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.workCompleted = options.longs === String ? "0" : 0;
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.workEstimated = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.workEstimated = options.longs === String ? "0" : 0;
+ }
+ if (message.workCompleted != null && message.hasOwnProperty("workCompleted"))
+ if (typeof message.workCompleted === "number")
+ object.workCompleted = options.longs === String ? String(message.workCompleted) : message.workCompleted;
+ else
+ object.workCompleted = options.longs === String ? $util.Long.prototype.toString.call(message.workCompleted) : options.longs === Number ? new $util.LongBits(message.workCompleted.low >>> 0, message.workCompleted.high >>> 0).toNumber() : message.workCompleted;
+ if (message.workEstimated != null && message.hasOwnProperty("workEstimated"))
+ if (typeof message.workEstimated === "number")
+ object.workEstimated = options.longs === String ? String(message.workEstimated) : message.workEstimated;
+ else
+ object.workEstimated = options.longs === String ? $util.Long.prototype.toString.call(message.workEstimated) : options.longs === Number ? new $util.LongBits(message.workEstimated.low >>> 0, message.workEstimated.high >>> 0).toNumber() : message.workEstimated;
+ return object;
+ };
+
+ /**
+ * Converts this Progress to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.Progress
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Progress.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Progress
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.Progress
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Progress.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.Progress";
+ };
+
+ return Progress;
+ })();
+
+ v1.ExportEntitiesRequest = (function() {
+
+ /**
+ * Properties of an ExportEntitiesRequest.
+ * @memberof google.datastore.admin.v1
+ * @interface IExportEntitiesRequest
+ * @property {string|null} [projectId] ExportEntitiesRequest projectId
+ * @property {Object.|null} [labels] ExportEntitiesRequest labels
+ * @property {google.datastore.admin.v1.IEntityFilter|null} [entityFilter] ExportEntitiesRequest entityFilter
+ * @property {string|null} [outputUrlPrefix] ExportEntitiesRequest outputUrlPrefix
+ */
+
+ /**
+ * Constructs a new ExportEntitiesRequest.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents an ExportEntitiesRequest.
+ * @implements IExportEntitiesRequest
+ * @constructor
+ * @param {google.datastore.admin.v1.IExportEntitiesRequest=} [properties] Properties to set
+ */
+ function ExportEntitiesRequest(properties) {
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ExportEntitiesRequest projectId.
+ * @member {string} projectId
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @instance
+ */
+ ExportEntitiesRequest.prototype.projectId = "";
+
+ /**
+ * ExportEntitiesRequest labels.
+ * @member {Object.} labels
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @instance
+ */
+ ExportEntitiesRequest.prototype.labels = $util.emptyObject;
+
+ /**
+ * ExportEntitiesRequest entityFilter.
+ * @member {google.datastore.admin.v1.IEntityFilter|null|undefined} entityFilter
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @instance
+ */
+ ExportEntitiesRequest.prototype.entityFilter = null;
+
+ /**
+ * ExportEntitiesRequest outputUrlPrefix.
+ * @member {string} outputUrlPrefix
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @instance
+ */
+ ExportEntitiesRequest.prototype.outputUrlPrefix = "";
+
+ /**
+ * Creates a new ExportEntitiesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesRequest=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.ExportEntitiesRequest} ExportEntitiesRequest instance
+ */
+ ExportEntitiesRequest.create = function create(properties) {
+ return new ExportEntitiesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ExportEntitiesRequest message. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesRequest} message ExportEntitiesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportEntitiesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId);
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.entityFilter != null && Object.hasOwnProperty.call(message, "entityFilter"))
+ $root.google.datastore.admin.v1.EntityFilter.encode(message.entityFilter, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.outputUrlPrefix != null && Object.hasOwnProperty.call(message, "outputUrlPrefix"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUrlPrefix);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExportEntitiesRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesRequest} message ExportEntitiesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportEntitiesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExportEntitiesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.ExportEntitiesRequest} ExportEntitiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportEntitiesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.ExportEntitiesRequest(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.projectId = reader.string();
+ break;
+ }
+ case 2: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 3: {
+ message.entityFilter = $root.google.datastore.admin.v1.EntityFilter.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.outputUrlPrefix = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExportEntitiesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.ExportEntitiesRequest} ExportEntitiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportEntitiesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExportEntitiesRequest message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExportEntitiesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ if (!$util.isString(message.projectId))
+ return "projectId: string expected";
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.entityFilter != null && message.hasOwnProperty("entityFilter")) {
+ var error = $root.google.datastore.admin.v1.EntityFilter.verify(message.entityFilter);
+ if (error)
+ return "entityFilter." + error;
+ }
+ if (message.outputUrlPrefix != null && message.hasOwnProperty("outputUrlPrefix"))
+ if (!$util.isString(message.outputUrlPrefix))
+ return "outputUrlPrefix: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ExportEntitiesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.ExportEntitiesRequest} ExportEntitiesRequest
+ */
+ ExportEntitiesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.ExportEntitiesRequest)
+ return object;
+ var message = new $root.google.datastore.admin.v1.ExportEntitiesRequest();
+ if (object.projectId != null)
+ message.projectId = String(object.projectId);
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.datastore.admin.v1.ExportEntitiesRequest.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.entityFilter != null) {
+ if (typeof object.entityFilter !== "object")
+ throw TypeError(".google.datastore.admin.v1.ExportEntitiesRequest.entityFilter: object expected");
+ message.entityFilter = $root.google.datastore.admin.v1.EntityFilter.fromObject(object.entityFilter);
+ }
+ if (object.outputUrlPrefix != null)
+ message.outputUrlPrefix = String(object.outputUrlPrefix);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExportEntitiesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {google.datastore.admin.v1.ExportEntitiesRequest} message ExportEntitiesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExportEntitiesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.projectId = "";
+ object.entityFilter = null;
+ object.outputUrlPrefix = "";
+ }
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ object.projectId = message.projectId;
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.entityFilter != null && message.hasOwnProperty("entityFilter"))
+ object.entityFilter = $root.google.datastore.admin.v1.EntityFilter.toObject(message.entityFilter, options);
+ if (message.outputUrlPrefix != null && message.hasOwnProperty("outputUrlPrefix"))
+ object.outputUrlPrefix = message.outputUrlPrefix;
+ return object;
+ };
+
+ /**
+ * Converts this ExportEntitiesRequest to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExportEntitiesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExportEntitiesRequest
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.ExportEntitiesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExportEntitiesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.ExportEntitiesRequest";
+ };
+
+ return ExportEntitiesRequest;
+ })();
+
+ v1.ImportEntitiesRequest = (function() {
+
+ /**
+ * Properties of an ImportEntitiesRequest.
+ * @memberof google.datastore.admin.v1
+ * @interface IImportEntitiesRequest
+ * @property {string|null} [projectId] ImportEntitiesRequest projectId
+ * @property {Object.|null} [labels] ImportEntitiesRequest labels
+ * @property {string|null} [inputUrl] ImportEntitiesRequest inputUrl
+ * @property {google.datastore.admin.v1.IEntityFilter|null} [entityFilter] ImportEntitiesRequest entityFilter
+ */
+
+ /**
+ * Constructs a new ImportEntitiesRequest.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents an ImportEntitiesRequest.
+ * @implements IImportEntitiesRequest
+ * @constructor
+ * @param {google.datastore.admin.v1.IImportEntitiesRequest=} [properties] Properties to set
+ */
+ function ImportEntitiesRequest(properties) {
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ImportEntitiesRequest projectId.
+ * @member {string} projectId
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @instance
+ */
+ ImportEntitiesRequest.prototype.projectId = "";
+
+ /**
+ * ImportEntitiesRequest labels.
+ * @member {Object.} labels
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @instance
+ */
+ ImportEntitiesRequest.prototype.labels = $util.emptyObject;
+
+ /**
+ * ImportEntitiesRequest inputUrl.
+ * @member {string} inputUrl
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @instance
+ */
+ ImportEntitiesRequest.prototype.inputUrl = "";
+
+ /**
+ * ImportEntitiesRequest entityFilter.
+ * @member {google.datastore.admin.v1.IEntityFilter|null|undefined} entityFilter
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @instance
+ */
+ ImportEntitiesRequest.prototype.entityFilter = null;
+
+ /**
+ * Creates a new ImportEntitiesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IImportEntitiesRequest=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.ImportEntitiesRequest} ImportEntitiesRequest instance
+ */
+ ImportEntitiesRequest.create = function create(properties) {
+ return new ImportEntitiesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ImportEntitiesRequest message. Does not implicitly {@link google.datastore.admin.v1.ImportEntitiesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IImportEntitiesRequest} message ImportEntitiesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ImportEntitiesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId);
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.inputUrl != null && Object.hasOwnProperty.call(message, "inputUrl"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.inputUrl);
+ if (message.entityFilter != null && Object.hasOwnProperty.call(message, "entityFilter"))
+ $root.google.datastore.admin.v1.EntityFilter.encode(message.entityFilter, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ImportEntitiesRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ImportEntitiesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IImportEntitiesRequest} message ImportEntitiesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ImportEntitiesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ImportEntitiesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.ImportEntitiesRequest} ImportEntitiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ImportEntitiesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.ImportEntitiesRequest(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.projectId = reader.string();
+ break;
+ }
+ case 2: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 3: {
+ message.inputUrl = reader.string();
+ break;
+ }
+ case 4: {
+ message.entityFilter = $root.google.datastore.admin.v1.EntityFilter.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ImportEntitiesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.ImportEntitiesRequest} ImportEntitiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ImportEntitiesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ImportEntitiesRequest message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ImportEntitiesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ if (!$util.isString(message.projectId))
+ return "projectId: string expected";
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.inputUrl != null && message.hasOwnProperty("inputUrl"))
+ if (!$util.isString(message.inputUrl))
+ return "inputUrl: string expected";
+ if (message.entityFilter != null && message.hasOwnProperty("entityFilter")) {
+ var error = $root.google.datastore.admin.v1.EntityFilter.verify(message.entityFilter);
+ if (error)
+ return "entityFilter." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ImportEntitiesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.ImportEntitiesRequest} ImportEntitiesRequest
+ */
+ ImportEntitiesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.ImportEntitiesRequest)
+ return object;
+ var message = new $root.google.datastore.admin.v1.ImportEntitiesRequest();
+ if (object.projectId != null)
+ message.projectId = String(object.projectId);
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.datastore.admin.v1.ImportEntitiesRequest.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.inputUrl != null)
+ message.inputUrl = String(object.inputUrl);
+ if (object.entityFilter != null) {
+ if (typeof object.entityFilter !== "object")
+ throw TypeError(".google.datastore.admin.v1.ImportEntitiesRequest.entityFilter: object expected");
+ message.entityFilter = $root.google.datastore.admin.v1.EntityFilter.fromObject(object.entityFilter);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ImportEntitiesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {google.datastore.admin.v1.ImportEntitiesRequest} message ImportEntitiesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ImportEntitiesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.projectId = "";
+ object.inputUrl = "";
+ object.entityFilter = null;
+ }
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ object.projectId = message.projectId;
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.inputUrl != null && message.hasOwnProperty("inputUrl"))
+ object.inputUrl = message.inputUrl;
+ if (message.entityFilter != null && message.hasOwnProperty("entityFilter"))
+ object.entityFilter = $root.google.datastore.admin.v1.EntityFilter.toObject(message.entityFilter, options);
+ return object;
+ };
+
+ /**
+ * Converts this ImportEntitiesRequest to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ImportEntitiesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ImportEntitiesRequest
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.ImportEntitiesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ImportEntitiesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.ImportEntitiesRequest";
+ };
+
+ return ImportEntitiesRequest;
+ })();
+
+ v1.ExportEntitiesResponse = (function() {
+
+ /**
+ * Properties of an ExportEntitiesResponse.
+ * @memberof google.datastore.admin.v1
+ * @interface IExportEntitiesResponse
+ * @property {string|null} [outputUrl] ExportEntitiesResponse outputUrl
+ */
+
+ /**
+ * Constructs a new ExportEntitiesResponse.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents an ExportEntitiesResponse.
+ * @implements IExportEntitiesResponse
+ * @constructor
+ * @param {google.datastore.admin.v1.IExportEntitiesResponse=} [properties] Properties to set
+ */
+ function ExportEntitiesResponse(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ExportEntitiesResponse outputUrl.
+ * @member {string} outputUrl
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @instance
+ */
+ ExportEntitiesResponse.prototype.outputUrl = "";
+
+ /**
+ * Creates a new ExportEntitiesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesResponse=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.ExportEntitiesResponse} ExportEntitiesResponse instance
+ */
+ ExportEntitiesResponse.create = function create(properties) {
+ return new ExportEntitiesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ExportEntitiesResponse message. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesResponse} message ExportEntitiesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportEntitiesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.outputUrl != null && Object.hasOwnProperty.call(message, "outputUrl"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.outputUrl);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExportEntitiesResponse message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesResponse} message ExportEntitiesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportEntitiesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExportEntitiesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.ExportEntitiesResponse} ExportEntitiesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportEntitiesResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.ExportEntitiesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.outputUrl = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExportEntitiesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.ExportEntitiesResponse} ExportEntitiesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportEntitiesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExportEntitiesResponse message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExportEntitiesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.outputUrl != null && message.hasOwnProperty("outputUrl"))
+ if (!$util.isString(message.outputUrl))
+ return "outputUrl: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ExportEntitiesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.ExportEntitiesResponse} ExportEntitiesResponse
+ */
+ ExportEntitiesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.ExportEntitiesResponse)
+ return object;
+ var message = new $root.google.datastore.admin.v1.ExportEntitiesResponse();
+ if (object.outputUrl != null)
+ message.outputUrl = String(object.outputUrl);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExportEntitiesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {google.datastore.admin.v1.ExportEntitiesResponse} message ExportEntitiesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExportEntitiesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.outputUrl = "";
+ if (message.outputUrl != null && message.hasOwnProperty("outputUrl"))
+ object.outputUrl = message.outputUrl;
+ return object;
+ };
+
+ /**
+ * Converts this ExportEntitiesResponse to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExportEntitiesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExportEntitiesResponse
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.ExportEntitiesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExportEntitiesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.ExportEntitiesResponse";
+ };
+
+ return ExportEntitiesResponse;
+ })();
+
+ v1.ExportEntitiesMetadata = (function() {
+
+ /**
+ * Properties of an ExportEntitiesMetadata.
+ * @memberof google.datastore.admin.v1
+ * @interface IExportEntitiesMetadata
+ * @property {google.datastore.admin.v1.ICommonMetadata|null} [common] ExportEntitiesMetadata common
+ * @property {google.datastore.admin.v1.IProgress|null} [progressEntities] ExportEntitiesMetadata progressEntities
+ * @property {google.datastore.admin.v1.IProgress|null} [progressBytes] ExportEntitiesMetadata progressBytes
+ * @property {google.datastore.admin.v1.IEntityFilter|null} [entityFilter] ExportEntitiesMetadata entityFilter
+ * @property {string|null} [outputUrlPrefix] ExportEntitiesMetadata outputUrlPrefix
+ */
+
+ /**
+ * Constructs a new ExportEntitiesMetadata.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents an ExportEntitiesMetadata.
+ * @implements IExportEntitiesMetadata
+ * @constructor
+ * @param {google.datastore.admin.v1.IExportEntitiesMetadata=} [properties] Properties to set
+ */
+ function ExportEntitiesMetadata(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ExportEntitiesMetadata common.
+ * @member {google.datastore.admin.v1.ICommonMetadata|null|undefined} common
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @instance
+ */
+ ExportEntitiesMetadata.prototype.common = null;
+
+ /**
+ * ExportEntitiesMetadata progressEntities.
+ * @member {google.datastore.admin.v1.IProgress|null|undefined} progressEntities
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @instance
+ */
+ ExportEntitiesMetadata.prototype.progressEntities = null;
+
+ /**
+ * ExportEntitiesMetadata progressBytes.
+ * @member {google.datastore.admin.v1.IProgress|null|undefined} progressBytes
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @instance
+ */
+ ExportEntitiesMetadata.prototype.progressBytes = null;
+
+ /**
+ * ExportEntitiesMetadata entityFilter.
+ * @member {google.datastore.admin.v1.IEntityFilter|null|undefined} entityFilter
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @instance
+ */
+ ExportEntitiesMetadata.prototype.entityFilter = null;
+
+ /**
+ * ExportEntitiesMetadata outputUrlPrefix.
+ * @member {string} outputUrlPrefix
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @instance
+ */
+ ExportEntitiesMetadata.prototype.outputUrlPrefix = "";
+
+ /**
+ * Creates a new ExportEntitiesMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesMetadata=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.ExportEntitiesMetadata} ExportEntitiesMetadata instance
+ */
+ ExportEntitiesMetadata.create = function create(properties) {
+ return new ExportEntitiesMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified ExportEntitiesMetadata message. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesMetadata} message ExportEntitiesMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportEntitiesMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.datastore.admin.v1.CommonMetadata.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.progressEntities != null && Object.hasOwnProperty.call(message, "progressEntities"))
+ $root.google.datastore.admin.v1.Progress.encode(message.progressEntities, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.progressBytes != null && Object.hasOwnProperty.call(message, "progressBytes"))
+ $root.google.datastore.admin.v1.Progress.encode(message.progressBytes, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.entityFilter != null && Object.hasOwnProperty.call(message, "entityFilter"))
+ $root.google.datastore.admin.v1.EntityFilter.encode(message.entityFilter, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.outputUrlPrefix != null && Object.hasOwnProperty.call(message, "outputUrlPrefix"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.outputUrlPrefix);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExportEntitiesMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ExportEntitiesMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IExportEntitiesMetadata} message ExportEntitiesMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportEntitiesMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExportEntitiesMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.ExportEntitiesMetadata} ExportEntitiesMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportEntitiesMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.ExportEntitiesMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.datastore.admin.v1.CommonMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.progressEntities = $root.google.datastore.admin.v1.Progress.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.progressBytes = $root.google.datastore.admin.v1.Progress.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.entityFilter = $root.google.datastore.admin.v1.EntityFilter.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.outputUrlPrefix = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExportEntitiesMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.ExportEntitiesMetadata} ExportEntitiesMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportEntitiesMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExportEntitiesMetadata message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExportEntitiesMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.datastore.admin.v1.CommonMetadata.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ if (message.progressEntities != null && message.hasOwnProperty("progressEntities")) {
+ var error = $root.google.datastore.admin.v1.Progress.verify(message.progressEntities);
+ if (error)
+ return "progressEntities." + error;
+ }
+ if (message.progressBytes != null && message.hasOwnProperty("progressBytes")) {
+ var error = $root.google.datastore.admin.v1.Progress.verify(message.progressBytes);
+ if (error)
+ return "progressBytes." + error;
+ }
+ if (message.entityFilter != null && message.hasOwnProperty("entityFilter")) {
+ var error = $root.google.datastore.admin.v1.EntityFilter.verify(message.entityFilter);
+ if (error)
+ return "entityFilter." + error;
+ }
+ if (message.outputUrlPrefix != null && message.hasOwnProperty("outputUrlPrefix"))
+ if (!$util.isString(message.outputUrlPrefix))
+ return "outputUrlPrefix: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ExportEntitiesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.ExportEntitiesMetadata} ExportEntitiesMetadata
+ */
+ ExportEntitiesMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.ExportEntitiesMetadata)
+ return object;
+ var message = new $root.google.datastore.admin.v1.ExportEntitiesMetadata();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.datastore.admin.v1.ExportEntitiesMetadata.common: object expected");
+ message.common = $root.google.datastore.admin.v1.CommonMetadata.fromObject(object.common);
+ }
+ if (object.progressEntities != null) {
+ if (typeof object.progressEntities !== "object")
+ throw TypeError(".google.datastore.admin.v1.ExportEntitiesMetadata.progressEntities: object expected");
+ message.progressEntities = $root.google.datastore.admin.v1.Progress.fromObject(object.progressEntities);
+ }
+ if (object.progressBytes != null) {
+ if (typeof object.progressBytes !== "object")
+ throw TypeError(".google.datastore.admin.v1.ExportEntitiesMetadata.progressBytes: object expected");
+ message.progressBytes = $root.google.datastore.admin.v1.Progress.fromObject(object.progressBytes);
+ }
+ if (object.entityFilter != null) {
+ if (typeof object.entityFilter !== "object")
+ throw TypeError(".google.datastore.admin.v1.ExportEntitiesMetadata.entityFilter: object expected");
+ message.entityFilter = $root.google.datastore.admin.v1.EntityFilter.fromObject(object.entityFilter);
+ }
+ if (object.outputUrlPrefix != null)
+ message.outputUrlPrefix = String(object.outputUrlPrefix);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExportEntitiesMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {google.datastore.admin.v1.ExportEntitiesMetadata} message ExportEntitiesMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExportEntitiesMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.common = null;
+ object.progressEntities = null;
+ object.progressBytes = null;
+ object.entityFilter = null;
+ object.outputUrlPrefix = "";
+ }
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.datastore.admin.v1.CommonMetadata.toObject(message.common, options);
+ if (message.progressEntities != null && message.hasOwnProperty("progressEntities"))
+ object.progressEntities = $root.google.datastore.admin.v1.Progress.toObject(message.progressEntities, options);
+ if (message.progressBytes != null && message.hasOwnProperty("progressBytes"))
+ object.progressBytes = $root.google.datastore.admin.v1.Progress.toObject(message.progressBytes, options);
+ if (message.entityFilter != null && message.hasOwnProperty("entityFilter"))
+ object.entityFilter = $root.google.datastore.admin.v1.EntityFilter.toObject(message.entityFilter, options);
+ if (message.outputUrlPrefix != null && message.hasOwnProperty("outputUrlPrefix"))
+ object.outputUrlPrefix = message.outputUrlPrefix;
+ return object;
+ };
+
+ /**
+ * Converts this ExportEntitiesMetadata to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExportEntitiesMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExportEntitiesMetadata
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.ExportEntitiesMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExportEntitiesMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.ExportEntitiesMetadata";
+ };
+
+ return ExportEntitiesMetadata;
+ })();
+
+ v1.ImportEntitiesMetadata = (function() {
+
+ /**
+ * Properties of an ImportEntitiesMetadata.
+ * @memberof google.datastore.admin.v1
+ * @interface IImportEntitiesMetadata
+ * @property {google.datastore.admin.v1.ICommonMetadata|null} [common] ImportEntitiesMetadata common
+ * @property {google.datastore.admin.v1.IProgress|null} [progressEntities] ImportEntitiesMetadata progressEntities
+ * @property {google.datastore.admin.v1.IProgress|null} [progressBytes] ImportEntitiesMetadata progressBytes
+ * @property {google.datastore.admin.v1.IEntityFilter|null} [entityFilter] ImportEntitiesMetadata entityFilter
+ * @property {string|null} [inputUrl] ImportEntitiesMetadata inputUrl
+ */
+
+ /**
+ * Constructs a new ImportEntitiesMetadata.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents an ImportEntitiesMetadata.
+ * @implements IImportEntitiesMetadata
+ * @constructor
+ * @param {google.datastore.admin.v1.IImportEntitiesMetadata=} [properties] Properties to set
+ */
+ function ImportEntitiesMetadata(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ImportEntitiesMetadata common.
+ * @member {google.datastore.admin.v1.ICommonMetadata|null|undefined} common
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @instance
+ */
+ ImportEntitiesMetadata.prototype.common = null;
+
+ /**
+ * ImportEntitiesMetadata progressEntities.
+ * @member {google.datastore.admin.v1.IProgress|null|undefined} progressEntities
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @instance
+ */
+ ImportEntitiesMetadata.prototype.progressEntities = null;
+
+ /**
+ * ImportEntitiesMetadata progressBytes.
+ * @member {google.datastore.admin.v1.IProgress|null|undefined} progressBytes
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @instance
+ */
+ ImportEntitiesMetadata.prototype.progressBytes = null;
+
+ /**
+ * ImportEntitiesMetadata entityFilter.
+ * @member {google.datastore.admin.v1.IEntityFilter|null|undefined} entityFilter
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @instance
+ */
+ ImportEntitiesMetadata.prototype.entityFilter = null;
+
+ /**
+ * ImportEntitiesMetadata inputUrl.
+ * @member {string} inputUrl
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @instance
+ */
+ ImportEntitiesMetadata.prototype.inputUrl = "";
+
+ /**
+ * Creates a new ImportEntitiesMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IImportEntitiesMetadata=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.ImportEntitiesMetadata} ImportEntitiesMetadata instance
+ */
+ ImportEntitiesMetadata.create = function create(properties) {
+ return new ImportEntitiesMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified ImportEntitiesMetadata message. Does not implicitly {@link google.datastore.admin.v1.ImportEntitiesMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IImportEntitiesMetadata} message ImportEntitiesMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ImportEntitiesMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.datastore.admin.v1.CommonMetadata.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.progressEntities != null && Object.hasOwnProperty.call(message, "progressEntities"))
+ $root.google.datastore.admin.v1.Progress.encode(message.progressEntities, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.progressBytes != null && Object.hasOwnProperty.call(message, "progressBytes"))
+ $root.google.datastore.admin.v1.Progress.encode(message.progressBytes, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.entityFilter != null && Object.hasOwnProperty.call(message, "entityFilter"))
+ $root.google.datastore.admin.v1.EntityFilter.encode(message.entityFilter, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.inputUrl != null && Object.hasOwnProperty.call(message, "inputUrl"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.inputUrl);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ImportEntitiesMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ImportEntitiesMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IImportEntitiesMetadata} message ImportEntitiesMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ImportEntitiesMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ImportEntitiesMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.ImportEntitiesMetadata} ImportEntitiesMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ImportEntitiesMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.ImportEntitiesMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.datastore.admin.v1.CommonMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.progressEntities = $root.google.datastore.admin.v1.Progress.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.progressBytes = $root.google.datastore.admin.v1.Progress.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.entityFilter = $root.google.datastore.admin.v1.EntityFilter.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.inputUrl = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ImportEntitiesMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.ImportEntitiesMetadata} ImportEntitiesMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ImportEntitiesMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ImportEntitiesMetadata message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ImportEntitiesMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.datastore.admin.v1.CommonMetadata.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ if (message.progressEntities != null && message.hasOwnProperty("progressEntities")) {
+ var error = $root.google.datastore.admin.v1.Progress.verify(message.progressEntities);
+ if (error)
+ return "progressEntities." + error;
+ }
+ if (message.progressBytes != null && message.hasOwnProperty("progressBytes")) {
+ var error = $root.google.datastore.admin.v1.Progress.verify(message.progressBytes);
+ if (error)
+ return "progressBytes." + error;
+ }
+ if (message.entityFilter != null && message.hasOwnProperty("entityFilter")) {
+ var error = $root.google.datastore.admin.v1.EntityFilter.verify(message.entityFilter);
+ if (error)
+ return "entityFilter." + error;
+ }
+ if (message.inputUrl != null && message.hasOwnProperty("inputUrl"))
+ if (!$util.isString(message.inputUrl))
+ return "inputUrl: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ImportEntitiesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.ImportEntitiesMetadata} ImportEntitiesMetadata
+ */
+ ImportEntitiesMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.ImportEntitiesMetadata)
+ return object;
+ var message = new $root.google.datastore.admin.v1.ImportEntitiesMetadata();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.datastore.admin.v1.ImportEntitiesMetadata.common: object expected");
+ message.common = $root.google.datastore.admin.v1.CommonMetadata.fromObject(object.common);
+ }
+ if (object.progressEntities != null) {
+ if (typeof object.progressEntities !== "object")
+ throw TypeError(".google.datastore.admin.v1.ImportEntitiesMetadata.progressEntities: object expected");
+ message.progressEntities = $root.google.datastore.admin.v1.Progress.fromObject(object.progressEntities);
+ }
+ if (object.progressBytes != null) {
+ if (typeof object.progressBytes !== "object")
+ throw TypeError(".google.datastore.admin.v1.ImportEntitiesMetadata.progressBytes: object expected");
+ message.progressBytes = $root.google.datastore.admin.v1.Progress.fromObject(object.progressBytes);
+ }
+ if (object.entityFilter != null) {
+ if (typeof object.entityFilter !== "object")
+ throw TypeError(".google.datastore.admin.v1.ImportEntitiesMetadata.entityFilter: object expected");
+ message.entityFilter = $root.google.datastore.admin.v1.EntityFilter.fromObject(object.entityFilter);
+ }
+ if (object.inputUrl != null)
+ message.inputUrl = String(object.inputUrl);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ImportEntitiesMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {google.datastore.admin.v1.ImportEntitiesMetadata} message ImportEntitiesMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ImportEntitiesMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.common = null;
+ object.progressEntities = null;
+ object.progressBytes = null;
+ object.entityFilter = null;
+ object.inputUrl = "";
+ }
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.datastore.admin.v1.CommonMetadata.toObject(message.common, options);
+ if (message.progressEntities != null && message.hasOwnProperty("progressEntities"))
+ object.progressEntities = $root.google.datastore.admin.v1.Progress.toObject(message.progressEntities, options);
+ if (message.progressBytes != null && message.hasOwnProperty("progressBytes"))
+ object.progressBytes = $root.google.datastore.admin.v1.Progress.toObject(message.progressBytes, options);
+ if (message.entityFilter != null && message.hasOwnProperty("entityFilter"))
+ object.entityFilter = $root.google.datastore.admin.v1.EntityFilter.toObject(message.entityFilter, options);
+ if (message.inputUrl != null && message.hasOwnProperty("inputUrl"))
+ object.inputUrl = message.inputUrl;
+ return object;
+ };
+
+ /**
+ * Converts this ImportEntitiesMetadata to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ImportEntitiesMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ImportEntitiesMetadata
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.ImportEntitiesMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ImportEntitiesMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.ImportEntitiesMetadata";
+ };
+
+ return ImportEntitiesMetadata;
+ })();
+
+ v1.EntityFilter = (function() {
+
+ /**
+ * Properties of an EntityFilter.
+ * @memberof google.datastore.admin.v1
+ * @interface IEntityFilter
+ * @property {Array.|null} [kinds] EntityFilter kinds
+ * @property {Array.|null} [namespaceIds] EntityFilter namespaceIds
+ */
+
+ /**
+ * Constructs a new EntityFilter.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents an EntityFilter.
+ * @implements IEntityFilter
+ * @constructor
+ * @param {google.datastore.admin.v1.IEntityFilter=} [properties] Properties to set
+ */
+ function EntityFilter(properties) {
+ this.kinds = [];
+ this.namespaceIds = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * EntityFilter kinds.
+ * @member {Array.} kinds
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @instance
+ */
+ EntityFilter.prototype.kinds = $util.emptyArray;
+
+ /**
+ * EntityFilter namespaceIds.
+ * @member {Array.} namespaceIds
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @instance
+ */
+ EntityFilter.prototype.namespaceIds = $util.emptyArray;
+
+ /**
+ * Creates a new EntityFilter instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {google.datastore.admin.v1.IEntityFilter=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.EntityFilter} EntityFilter instance
+ */
+ EntityFilter.create = function create(properties) {
+ return new EntityFilter(properties);
+ };
+
+ /**
+ * Encodes the specified EntityFilter message. Does not implicitly {@link google.datastore.admin.v1.EntityFilter.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {google.datastore.admin.v1.IEntityFilter} message EntityFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EntityFilter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.kinds != null && message.kinds.length)
+ for (var i = 0; i < message.kinds.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.kinds[i]);
+ if (message.namespaceIds != null && message.namespaceIds.length)
+ for (var i = 0; i < message.namespaceIds.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.namespaceIds[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EntityFilter message, length delimited. Does not implicitly {@link google.datastore.admin.v1.EntityFilter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {google.datastore.admin.v1.IEntityFilter} message EntityFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EntityFilter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EntityFilter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.EntityFilter} EntityFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EntityFilter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.EntityFilter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.kinds && message.kinds.length))
+ message.kinds = [];
+ message.kinds.push(reader.string());
+ break;
+ }
+ case 2: {
+ if (!(message.namespaceIds && message.namespaceIds.length))
+ message.namespaceIds = [];
+ message.namespaceIds.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EntityFilter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.EntityFilter} EntityFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EntityFilter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EntityFilter message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EntityFilter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.kinds != null && message.hasOwnProperty("kinds")) {
+ if (!Array.isArray(message.kinds))
+ return "kinds: array expected";
+ for (var i = 0; i < message.kinds.length; ++i)
+ if (!$util.isString(message.kinds[i]))
+ return "kinds: string[] expected";
+ }
+ if (message.namespaceIds != null && message.hasOwnProperty("namespaceIds")) {
+ if (!Array.isArray(message.namespaceIds))
+ return "namespaceIds: array expected";
+ for (var i = 0; i < message.namespaceIds.length; ++i)
+ if (!$util.isString(message.namespaceIds[i]))
+ return "namespaceIds: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EntityFilter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.EntityFilter} EntityFilter
+ */
+ EntityFilter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.EntityFilter)
+ return object;
+ var message = new $root.google.datastore.admin.v1.EntityFilter();
+ if (object.kinds) {
+ if (!Array.isArray(object.kinds))
+ throw TypeError(".google.datastore.admin.v1.EntityFilter.kinds: array expected");
+ message.kinds = [];
+ for (var i = 0; i < object.kinds.length; ++i)
+ message.kinds[i] = String(object.kinds[i]);
+ }
+ if (object.namespaceIds) {
+ if (!Array.isArray(object.namespaceIds))
+ throw TypeError(".google.datastore.admin.v1.EntityFilter.namespaceIds: array expected");
+ message.namespaceIds = [];
+ for (var i = 0; i < object.namespaceIds.length; ++i)
+ message.namespaceIds[i] = String(object.namespaceIds[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EntityFilter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {google.datastore.admin.v1.EntityFilter} message EntityFilter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EntityFilter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.kinds = [];
+ object.namespaceIds = [];
+ }
+ if (message.kinds && message.kinds.length) {
+ object.kinds = [];
+ for (var j = 0; j < message.kinds.length; ++j)
+ object.kinds[j] = message.kinds[j];
+ }
+ if (message.namespaceIds && message.namespaceIds.length) {
+ object.namespaceIds = [];
+ for (var j = 0; j < message.namespaceIds.length; ++j)
+ object.namespaceIds[j] = message.namespaceIds[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this EntityFilter to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EntityFilter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EntityFilter
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.EntityFilter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EntityFilter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.EntityFilter";
+ };
+
+ return EntityFilter;
+ })();
+
+ v1.CreateIndexRequest = (function() {
+
+ /**
+ * Properties of a CreateIndexRequest.
+ * @memberof google.datastore.admin.v1
+ * @interface ICreateIndexRequest
+ * @property {string|null} [projectId] CreateIndexRequest projectId
+ * @property {google.datastore.admin.v1.IIndex|null} [index] CreateIndexRequest index
+ */
+
+ /**
+ * Constructs a new CreateIndexRequest.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a CreateIndexRequest.
+ * @implements ICreateIndexRequest
+ * @constructor
+ * @param {google.datastore.admin.v1.ICreateIndexRequest=} [properties] Properties to set
+ */
+ function CreateIndexRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CreateIndexRequest projectId.
+ * @member {string} projectId
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @instance
+ */
+ CreateIndexRequest.prototype.projectId = "";
+
+ /**
+ * CreateIndexRequest index.
+ * @member {google.datastore.admin.v1.IIndex|null|undefined} index
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @instance
+ */
+ CreateIndexRequest.prototype.index = null;
+
+ /**
+ * Creates a new CreateIndexRequest instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.ICreateIndexRequest=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.CreateIndexRequest} CreateIndexRequest instance
+ */
+ CreateIndexRequest.create = function create(properties) {
+ return new CreateIndexRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateIndexRequest message. Does not implicitly {@link google.datastore.admin.v1.CreateIndexRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.ICreateIndexRequest} message CreateIndexRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateIndexRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId);
+ if (message.index != null && Object.hasOwnProperty.call(message, "index"))
+ $root.google.datastore.admin.v1.Index.encode(message.index, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateIndexRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.CreateIndexRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.ICreateIndexRequest} message CreateIndexRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateIndexRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateIndexRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.CreateIndexRequest} CreateIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateIndexRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.CreateIndexRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.projectId = reader.string();
+ break;
+ }
+ case 3: {
+ message.index = $root.google.datastore.admin.v1.Index.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateIndexRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.CreateIndexRequest} CreateIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateIndexRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateIndexRequest message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateIndexRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ if (!$util.isString(message.projectId))
+ return "projectId: string expected";
+ if (message.index != null && message.hasOwnProperty("index")) {
+ var error = $root.google.datastore.admin.v1.Index.verify(message.index);
+ if (error)
+ return "index." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateIndexRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.CreateIndexRequest} CreateIndexRequest
+ */
+ CreateIndexRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.CreateIndexRequest)
+ return object;
+ var message = new $root.google.datastore.admin.v1.CreateIndexRequest();
+ if (object.projectId != null)
+ message.projectId = String(object.projectId);
+ if (object.index != null) {
+ if (typeof object.index !== "object")
+ throw TypeError(".google.datastore.admin.v1.CreateIndexRequest.index: object expected");
+ message.index = $root.google.datastore.admin.v1.Index.fromObject(object.index);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateIndexRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.CreateIndexRequest} message CreateIndexRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateIndexRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.projectId = "";
+ object.index = null;
+ }
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ object.projectId = message.projectId;
+ if (message.index != null && message.hasOwnProperty("index"))
+ object.index = $root.google.datastore.admin.v1.Index.toObject(message.index, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateIndexRequest to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateIndexRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateIndexRequest
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.CreateIndexRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateIndexRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.CreateIndexRequest";
+ };
+
+ return CreateIndexRequest;
+ })();
+
+ v1.DeleteIndexRequest = (function() {
+
+ /**
+ * Properties of a DeleteIndexRequest.
+ * @memberof google.datastore.admin.v1
+ * @interface IDeleteIndexRequest
+ * @property {string|null} [projectId] DeleteIndexRequest projectId
+ * @property {string|null} [indexId] DeleteIndexRequest indexId
+ */
+
+ /**
+ * Constructs a new DeleteIndexRequest.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a DeleteIndexRequest.
+ * @implements IDeleteIndexRequest
+ * @constructor
+ * @param {google.datastore.admin.v1.IDeleteIndexRequest=} [properties] Properties to set
+ */
+ function DeleteIndexRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DeleteIndexRequest projectId.
+ * @member {string} projectId
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @instance
+ */
+ DeleteIndexRequest.prototype.projectId = "";
+
+ /**
+ * DeleteIndexRequest indexId.
+ * @member {string} indexId
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @instance
+ */
+ DeleteIndexRequest.prototype.indexId = "";
+
+ /**
+ * Creates a new DeleteIndexRequest instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.IDeleteIndexRequest=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.DeleteIndexRequest} DeleteIndexRequest instance
+ */
+ DeleteIndexRequest.create = function create(properties) {
+ return new DeleteIndexRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteIndexRequest message. Does not implicitly {@link google.datastore.admin.v1.DeleteIndexRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.IDeleteIndexRequest} message DeleteIndexRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteIndexRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId);
+ if (message.indexId != null && Object.hasOwnProperty.call(message, "indexId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteIndexRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.DeleteIndexRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.IDeleteIndexRequest} message DeleteIndexRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteIndexRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteIndexRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.DeleteIndexRequest} DeleteIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteIndexRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.DeleteIndexRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.projectId = reader.string();
+ break;
+ }
+ case 3: {
+ message.indexId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteIndexRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.DeleteIndexRequest} DeleteIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteIndexRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteIndexRequest message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteIndexRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ if (!$util.isString(message.projectId))
+ return "projectId: string expected";
+ if (message.indexId != null && message.hasOwnProperty("indexId"))
+ if (!$util.isString(message.indexId))
+ return "indexId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteIndexRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.DeleteIndexRequest} DeleteIndexRequest
+ */
+ DeleteIndexRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.DeleteIndexRequest)
+ return object;
+ var message = new $root.google.datastore.admin.v1.DeleteIndexRequest();
+ if (object.projectId != null)
+ message.projectId = String(object.projectId);
+ if (object.indexId != null)
+ message.indexId = String(object.indexId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteIndexRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.DeleteIndexRequest} message DeleteIndexRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteIndexRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.projectId = "";
+ object.indexId = "";
+ }
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ object.projectId = message.projectId;
+ if (message.indexId != null && message.hasOwnProperty("indexId"))
+ object.indexId = message.indexId;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteIndexRequest to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteIndexRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteIndexRequest
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.DeleteIndexRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteIndexRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.DeleteIndexRequest";
+ };
+
+ return DeleteIndexRequest;
+ })();
+
+ v1.GetIndexRequest = (function() {
+
+ /**
+ * Properties of a GetIndexRequest.
+ * @memberof google.datastore.admin.v1
+ * @interface IGetIndexRequest
+ * @property {string|null} [projectId] GetIndexRequest projectId
+ * @property {string|null} [indexId] GetIndexRequest indexId
+ */
+
+ /**
+ * Constructs a new GetIndexRequest.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a GetIndexRequest.
+ * @implements IGetIndexRequest
+ * @constructor
+ * @param {google.datastore.admin.v1.IGetIndexRequest=} [properties] Properties to set
+ */
+ function GetIndexRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GetIndexRequest projectId.
+ * @member {string} projectId
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @instance
+ */
+ GetIndexRequest.prototype.projectId = "";
+
+ /**
+ * GetIndexRequest indexId.
+ * @member {string} indexId
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @instance
+ */
+ GetIndexRequest.prototype.indexId = "";
+
+ /**
+ * Creates a new GetIndexRequest instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.IGetIndexRequest=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.GetIndexRequest} GetIndexRequest instance
+ */
+ GetIndexRequest.create = function create(properties) {
+ return new GetIndexRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetIndexRequest message. Does not implicitly {@link google.datastore.admin.v1.GetIndexRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.IGetIndexRequest} message GetIndexRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetIndexRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId);
+ if (message.indexId != null && Object.hasOwnProperty.call(message, "indexId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetIndexRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.GetIndexRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.IGetIndexRequest} message GetIndexRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetIndexRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetIndexRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.GetIndexRequest} GetIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetIndexRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.GetIndexRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.projectId = reader.string();
+ break;
+ }
+ case 3: {
+ message.indexId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetIndexRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.GetIndexRequest} GetIndexRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetIndexRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetIndexRequest message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetIndexRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ if (!$util.isString(message.projectId))
+ return "projectId: string expected";
+ if (message.indexId != null && message.hasOwnProperty("indexId"))
+ if (!$util.isString(message.indexId))
+ return "indexId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetIndexRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.GetIndexRequest} GetIndexRequest
+ */
+ GetIndexRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.GetIndexRequest)
+ return object;
+ var message = new $root.google.datastore.admin.v1.GetIndexRequest();
+ if (object.projectId != null)
+ message.projectId = String(object.projectId);
+ if (object.indexId != null)
+ message.indexId = String(object.indexId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetIndexRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {google.datastore.admin.v1.GetIndexRequest} message GetIndexRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetIndexRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.projectId = "";
+ object.indexId = "";
+ }
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ object.projectId = message.projectId;
+ if (message.indexId != null && message.hasOwnProperty("indexId"))
+ object.indexId = message.indexId;
+ return object;
+ };
+
+ /**
+ * Converts this GetIndexRequest to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetIndexRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetIndexRequest
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.GetIndexRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetIndexRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.GetIndexRequest";
+ };
+
+ return GetIndexRequest;
+ })();
+
+ v1.ListIndexesRequest = (function() {
+
+ /**
+ * Properties of a ListIndexesRequest.
+ * @memberof google.datastore.admin.v1
+ * @interface IListIndexesRequest
+ * @property {string|null} [projectId] ListIndexesRequest projectId
+ * @property {string|null} [filter] ListIndexesRequest filter
+ * @property {number|null} [pageSize] ListIndexesRequest pageSize
+ * @property {string|null} [pageToken] ListIndexesRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListIndexesRequest.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a ListIndexesRequest.
+ * @implements IListIndexesRequest
+ * @constructor
+ * @param {google.datastore.admin.v1.IListIndexesRequest=} [properties] Properties to set
+ */
+ function ListIndexesRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListIndexesRequest projectId.
+ * @member {string} projectId
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @instance
+ */
+ ListIndexesRequest.prototype.projectId = "";
+
+ /**
+ * ListIndexesRequest filter.
+ * @member {string} filter
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @instance
+ */
+ ListIndexesRequest.prototype.filter = "";
+
+ /**
+ * ListIndexesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @instance
+ */
+ ListIndexesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListIndexesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @instance
+ */
+ ListIndexesRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListIndexesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IListIndexesRequest=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.ListIndexesRequest} ListIndexesRequest instance
+ */
+ ListIndexesRequest.create = function create(properties) {
+ return new ListIndexesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListIndexesRequest message. Does not implicitly {@link google.datastore.admin.v1.ListIndexesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IListIndexesRequest} message ListIndexesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListIndexesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.filter);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListIndexesRequest message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ListIndexesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {google.datastore.admin.v1.IListIndexesRequest} message ListIndexesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListIndexesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListIndexesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.ListIndexesRequest} ListIndexesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListIndexesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.ListIndexesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.projectId = reader.string();
+ break;
+ }
+ case 3: {
+ message.filter = reader.string();
+ break;
+ }
+ case 4: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 5: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListIndexesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.ListIndexesRequest} ListIndexesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListIndexesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListIndexesRequest message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListIndexesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ if (!$util.isString(message.projectId))
+ return "projectId: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListIndexesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.ListIndexesRequest} ListIndexesRequest
+ */
+ ListIndexesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.ListIndexesRequest)
+ return object;
+ var message = new $root.google.datastore.admin.v1.ListIndexesRequest();
+ if (object.projectId != null)
+ message.projectId = String(object.projectId);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListIndexesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {google.datastore.admin.v1.ListIndexesRequest} message ListIndexesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListIndexesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.projectId = "";
+ object.filter = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ object.projectId = message.projectId;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListIndexesRequest to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListIndexesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListIndexesRequest
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.ListIndexesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListIndexesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.ListIndexesRequest";
+ };
+
+ return ListIndexesRequest;
+ })();
+
+ v1.ListIndexesResponse = (function() {
+
+ /**
+ * Properties of a ListIndexesResponse.
+ * @memberof google.datastore.admin.v1
+ * @interface IListIndexesResponse
+ * @property {Array.|null} [indexes] ListIndexesResponse indexes
+ * @property {string|null} [nextPageToken] ListIndexesResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListIndexesResponse.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a ListIndexesResponse.
+ * @implements IListIndexesResponse
+ * @constructor
+ * @param {google.datastore.admin.v1.IListIndexesResponse=} [properties] Properties to set
+ */
+ function ListIndexesResponse(properties) {
+ this.indexes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListIndexesResponse indexes.
+ * @member {Array.} indexes
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @instance
+ */
+ ListIndexesResponse.prototype.indexes = $util.emptyArray;
+
+ /**
+ * ListIndexesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @instance
+ */
+ ListIndexesResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListIndexesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {google.datastore.admin.v1.IListIndexesResponse=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.ListIndexesResponse} ListIndexesResponse instance
+ */
+ ListIndexesResponse.create = function create(properties) {
+ return new ListIndexesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListIndexesResponse message. Does not implicitly {@link google.datastore.admin.v1.ListIndexesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {google.datastore.admin.v1.IListIndexesResponse} message ListIndexesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListIndexesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.indexes != null && message.indexes.length)
+ for (var i = 0; i < message.indexes.length; ++i)
+ $root.google.datastore.admin.v1.Index.encode(message.indexes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListIndexesResponse message, length delimited. Does not implicitly {@link google.datastore.admin.v1.ListIndexesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {google.datastore.admin.v1.IListIndexesResponse} message ListIndexesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListIndexesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListIndexesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.ListIndexesResponse} ListIndexesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListIndexesResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.ListIndexesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.indexes && message.indexes.length))
+ message.indexes = [];
+ message.indexes.push($root.google.datastore.admin.v1.Index.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListIndexesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.ListIndexesResponse} ListIndexesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListIndexesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListIndexesResponse message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListIndexesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.indexes != null && message.hasOwnProperty("indexes")) {
+ if (!Array.isArray(message.indexes))
+ return "indexes: array expected";
+ for (var i = 0; i < message.indexes.length; ++i) {
+ var error = $root.google.datastore.admin.v1.Index.verify(message.indexes[i]);
+ if (error)
+ return "indexes." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListIndexesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.ListIndexesResponse} ListIndexesResponse
+ */
+ ListIndexesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.ListIndexesResponse)
+ return object;
+ var message = new $root.google.datastore.admin.v1.ListIndexesResponse();
+ if (object.indexes) {
+ if (!Array.isArray(object.indexes))
+ throw TypeError(".google.datastore.admin.v1.ListIndexesResponse.indexes: array expected");
+ message.indexes = [];
+ for (var i = 0; i < object.indexes.length; ++i) {
+ if (typeof object.indexes[i] !== "object")
+ throw TypeError(".google.datastore.admin.v1.ListIndexesResponse.indexes: object expected");
+ message.indexes[i] = $root.google.datastore.admin.v1.Index.fromObject(object.indexes[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListIndexesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {google.datastore.admin.v1.ListIndexesResponse} message ListIndexesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListIndexesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.indexes = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.indexes && message.indexes.length) {
+ object.indexes = [];
+ for (var j = 0; j < message.indexes.length; ++j)
+ object.indexes[j] = $root.google.datastore.admin.v1.Index.toObject(message.indexes[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListIndexesResponse to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListIndexesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListIndexesResponse
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.ListIndexesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListIndexesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.ListIndexesResponse";
+ };
+
+ return ListIndexesResponse;
+ })();
+
+ v1.IndexOperationMetadata = (function() {
+
+ /**
+ * Properties of an IndexOperationMetadata.
+ * @memberof google.datastore.admin.v1
+ * @interface IIndexOperationMetadata
+ * @property {google.datastore.admin.v1.ICommonMetadata|null} [common] IndexOperationMetadata common
+ * @property {google.datastore.admin.v1.IProgress|null} [progressEntities] IndexOperationMetadata progressEntities
+ * @property {string|null} [indexId] IndexOperationMetadata indexId
+ */
+
+ /**
+ * Constructs a new IndexOperationMetadata.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents an IndexOperationMetadata.
+ * @implements IIndexOperationMetadata
+ * @constructor
+ * @param {google.datastore.admin.v1.IIndexOperationMetadata=} [properties] Properties to set
+ */
+ function IndexOperationMetadata(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * IndexOperationMetadata common.
+ * @member {google.datastore.admin.v1.ICommonMetadata|null|undefined} common
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @instance
+ */
+ IndexOperationMetadata.prototype.common = null;
+
+ /**
+ * IndexOperationMetadata progressEntities.
+ * @member {google.datastore.admin.v1.IProgress|null|undefined} progressEntities
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @instance
+ */
+ IndexOperationMetadata.prototype.progressEntities = null;
+
+ /**
+ * IndexOperationMetadata indexId.
+ * @member {string} indexId
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @instance
+ */
+ IndexOperationMetadata.prototype.indexId = "";
+
+ /**
+ * Creates a new IndexOperationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IIndexOperationMetadata=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.IndexOperationMetadata} IndexOperationMetadata instance
+ */
+ IndexOperationMetadata.create = function create(properties) {
+ return new IndexOperationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified IndexOperationMetadata message. Does not implicitly {@link google.datastore.admin.v1.IndexOperationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IIndexOperationMetadata} message IndexOperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IndexOperationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.datastore.admin.v1.CommonMetadata.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.progressEntities != null && Object.hasOwnProperty.call(message, "progressEntities"))
+ $root.google.datastore.admin.v1.Progress.encode(message.progressEntities, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.indexId != null && Object.hasOwnProperty.call(message, "indexId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified IndexOperationMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.IndexOperationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IIndexOperationMetadata} message IndexOperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IndexOperationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an IndexOperationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.IndexOperationMetadata} IndexOperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IndexOperationMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.IndexOperationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.datastore.admin.v1.CommonMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.progressEntities = $root.google.datastore.admin.v1.Progress.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.indexId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an IndexOperationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.IndexOperationMetadata} IndexOperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IndexOperationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an IndexOperationMetadata message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ IndexOperationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.datastore.admin.v1.CommonMetadata.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ if (message.progressEntities != null && message.hasOwnProperty("progressEntities")) {
+ var error = $root.google.datastore.admin.v1.Progress.verify(message.progressEntities);
+ if (error)
+ return "progressEntities." + error;
+ }
+ if (message.indexId != null && message.hasOwnProperty("indexId"))
+ if (!$util.isString(message.indexId))
+ return "indexId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an IndexOperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.IndexOperationMetadata} IndexOperationMetadata
+ */
+ IndexOperationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.IndexOperationMetadata)
+ return object;
+ var message = new $root.google.datastore.admin.v1.IndexOperationMetadata();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.datastore.admin.v1.IndexOperationMetadata.common: object expected");
+ message.common = $root.google.datastore.admin.v1.CommonMetadata.fromObject(object.common);
+ }
+ if (object.progressEntities != null) {
+ if (typeof object.progressEntities !== "object")
+ throw TypeError(".google.datastore.admin.v1.IndexOperationMetadata.progressEntities: object expected");
+ message.progressEntities = $root.google.datastore.admin.v1.Progress.fromObject(object.progressEntities);
+ }
+ if (object.indexId != null)
+ message.indexId = String(object.indexId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an IndexOperationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IndexOperationMetadata} message IndexOperationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ IndexOperationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.common = null;
+ object.progressEntities = null;
+ object.indexId = "";
+ }
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.datastore.admin.v1.CommonMetadata.toObject(message.common, options);
+ if (message.progressEntities != null && message.hasOwnProperty("progressEntities"))
+ object.progressEntities = $root.google.datastore.admin.v1.Progress.toObject(message.progressEntities, options);
+ if (message.indexId != null && message.hasOwnProperty("indexId"))
+ object.indexId = message.indexId;
+ return object;
+ };
+
+ /**
+ * Converts this IndexOperationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ IndexOperationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for IndexOperationMetadata
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.IndexOperationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ IndexOperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.IndexOperationMetadata";
+ };
+
+ return IndexOperationMetadata;
+ })();
+
+ v1.DatastoreFirestoreMigrationMetadata = (function() {
+
+ /**
+ * Properties of a DatastoreFirestoreMigrationMetadata.
+ * @memberof google.datastore.admin.v1
+ * @interface IDatastoreFirestoreMigrationMetadata
+ * @property {google.datastore.admin.v1.MigrationState|null} [migrationState] DatastoreFirestoreMigrationMetadata migrationState
+ * @property {google.datastore.admin.v1.MigrationStep|null} [migrationStep] DatastoreFirestoreMigrationMetadata migrationStep
+ */
+
+ /**
+ * Constructs a new DatastoreFirestoreMigrationMetadata.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a DatastoreFirestoreMigrationMetadata.
+ * @implements IDatastoreFirestoreMigrationMetadata
+ * @constructor
+ * @param {google.datastore.admin.v1.IDatastoreFirestoreMigrationMetadata=} [properties] Properties to set
+ */
+ function DatastoreFirestoreMigrationMetadata(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DatastoreFirestoreMigrationMetadata migrationState.
+ * @member {google.datastore.admin.v1.MigrationState} migrationState
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @instance
+ */
+ DatastoreFirestoreMigrationMetadata.prototype.migrationState = 0;
+
+ /**
+ * DatastoreFirestoreMigrationMetadata migrationStep.
+ * @member {google.datastore.admin.v1.MigrationStep} migrationStep
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @instance
+ */
+ DatastoreFirestoreMigrationMetadata.prototype.migrationStep = 0;
+
+ /**
+ * Creates a new DatastoreFirestoreMigrationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IDatastoreFirestoreMigrationMetadata=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata} DatastoreFirestoreMigrationMetadata instance
+ */
+ DatastoreFirestoreMigrationMetadata.create = function create(properties) {
+ return new DatastoreFirestoreMigrationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified DatastoreFirestoreMigrationMetadata message. Does not implicitly {@link google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IDatastoreFirestoreMigrationMetadata} message DatastoreFirestoreMigrationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DatastoreFirestoreMigrationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.migrationState != null && Object.hasOwnProperty.call(message, "migrationState"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.migrationState);
+ if (message.migrationStep != null && Object.hasOwnProperty.call(message, "migrationStep"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.migrationStep);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DatastoreFirestoreMigrationMetadata message, length delimited. Does not implicitly {@link google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {google.datastore.admin.v1.IDatastoreFirestoreMigrationMetadata} message DatastoreFirestoreMigrationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DatastoreFirestoreMigrationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DatastoreFirestoreMigrationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata} DatastoreFirestoreMigrationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DatastoreFirestoreMigrationMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.migrationState = reader.int32();
+ break;
+ }
+ case 2: {
+ message.migrationStep = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DatastoreFirestoreMigrationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata} DatastoreFirestoreMigrationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DatastoreFirestoreMigrationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DatastoreFirestoreMigrationMetadata message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DatastoreFirestoreMigrationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.migrationState != null && message.hasOwnProperty("migrationState"))
+ switch (message.migrationState) {
+ default:
+ return "migrationState: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.migrationStep != null && message.hasOwnProperty("migrationStep"))
+ switch (message.migrationStep) {
+ default:
+ return "migrationStep: enum value expected";
+ case 0:
+ case 6:
+ case 1:
+ case 7:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DatastoreFirestoreMigrationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata} DatastoreFirestoreMigrationMetadata
+ */
+ DatastoreFirestoreMigrationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata)
+ return object;
+ var message = new $root.google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata();
+ switch (object.migrationState) {
+ default:
+ if (typeof object.migrationState === "number") {
+ message.migrationState = object.migrationState;
+ break;
+ }
+ break;
+ case "MIGRATION_STATE_UNSPECIFIED":
+ case 0:
+ message.migrationState = 0;
+ break;
+ case "RUNNING":
+ case 1:
+ message.migrationState = 1;
+ break;
+ case "PAUSED":
+ case 2:
+ message.migrationState = 2;
+ break;
+ case "COMPLETE":
+ case 3:
+ message.migrationState = 3;
+ break;
+ }
+ switch (object.migrationStep) {
+ default:
+ if (typeof object.migrationStep === "number") {
+ message.migrationStep = object.migrationStep;
+ break;
+ }
+ break;
+ case "MIGRATION_STEP_UNSPECIFIED":
+ case 0:
+ message.migrationStep = 0;
+ break;
+ case "PREPARE":
+ case 6:
+ message.migrationStep = 6;
+ break;
+ case "START":
+ case 1:
+ message.migrationStep = 1;
+ break;
+ case "APPLY_WRITES_SYNCHRONOUSLY":
+ case 7:
+ message.migrationStep = 7;
+ break;
+ case "COPY_AND_VERIFY":
+ case 2:
+ message.migrationStep = 2;
+ break;
+ case "REDIRECT_EVENTUALLY_CONSISTENT_READS":
+ case 3:
+ message.migrationStep = 3;
+ break;
+ case "REDIRECT_STRONGLY_CONSISTENT_READS":
+ case 4:
+ message.migrationStep = 4;
+ break;
+ case "REDIRECT_WRITES":
+ case 5:
+ message.migrationStep = 5;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DatastoreFirestoreMigrationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata} message DatastoreFirestoreMigrationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DatastoreFirestoreMigrationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.migrationState = options.enums === String ? "MIGRATION_STATE_UNSPECIFIED" : 0;
+ object.migrationStep = options.enums === String ? "MIGRATION_STEP_UNSPECIFIED" : 0;
+ }
+ if (message.migrationState != null && message.hasOwnProperty("migrationState"))
+ object.migrationState = options.enums === String ? $root.google.datastore.admin.v1.MigrationState[message.migrationState] === undefined ? message.migrationState : $root.google.datastore.admin.v1.MigrationState[message.migrationState] : message.migrationState;
+ if (message.migrationStep != null && message.hasOwnProperty("migrationStep"))
+ object.migrationStep = options.enums === String ? $root.google.datastore.admin.v1.MigrationStep[message.migrationStep] === undefined ? message.migrationStep : $root.google.datastore.admin.v1.MigrationStep[message.migrationStep] : message.migrationStep;
+ return object;
+ };
+
+ /**
+ * Converts this DatastoreFirestoreMigrationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DatastoreFirestoreMigrationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DatastoreFirestoreMigrationMetadata
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DatastoreFirestoreMigrationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata";
+ };
+
+ return DatastoreFirestoreMigrationMetadata;
+ })();
+
+ /**
+ * OperationType enum.
+ * @name google.datastore.admin.v1.OperationType
+ * @enum {number}
+ * @property {number} OPERATION_TYPE_UNSPECIFIED=0 OPERATION_TYPE_UNSPECIFIED value
+ * @property {number} EXPORT_ENTITIES=1 EXPORT_ENTITIES value
+ * @property {number} IMPORT_ENTITIES=2 IMPORT_ENTITIES value
+ * @property {number} CREATE_INDEX=3 CREATE_INDEX value
+ * @property {number} DELETE_INDEX=4 DELETE_INDEX value
+ */
+ v1.OperationType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "OPERATION_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "EXPORT_ENTITIES"] = 1;
+ values[valuesById[2] = "IMPORT_ENTITIES"] = 2;
+ values[valuesById[3] = "CREATE_INDEX"] = 3;
+ values[valuesById[4] = "DELETE_INDEX"] = 4;
+ return values;
+ })();
+
+ v1.Index = (function() {
+
+ /**
+ * Properties of an Index.
+ * @memberof google.datastore.admin.v1
+ * @interface IIndex
+ * @property {string|null} [projectId] Index projectId
+ * @property {string|null} [indexId] Index indexId
+ * @property {string|null} [kind] Index kind
+ * @property {google.datastore.admin.v1.Index.AncestorMode|null} [ancestor] Index ancestor
+ * @property {Array.|null} [properties] Index properties
+ * @property {google.datastore.admin.v1.Index.State|null} [state] Index state
+ */
+
+ /**
+ * Constructs a new Index.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents an Index.
+ * @implements IIndex
+ * @constructor
+ * @param {google.datastore.admin.v1.IIndex=} [properties] Properties to set
+ */
+ function Index(properties) {
+ this.properties = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Index projectId.
+ * @member {string} projectId
+ * @memberof google.datastore.admin.v1.Index
+ * @instance
+ */
+ Index.prototype.projectId = "";
+
+ /**
+ * Index indexId.
+ * @member {string} indexId
+ * @memberof google.datastore.admin.v1.Index
+ * @instance
+ */
+ Index.prototype.indexId = "";
+
+ /**
+ * Index kind.
+ * @member {string} kind
+ * @memberof google.datastore.admin.v1.Index
+ * @instance
+ */
+ Index.prototype.kind = "";
+
+ /**
+ * Index ancestor.
+ * @member {google.datastore.admin.v1.Index.AncestorMode} ancestor
+ * @memberof google.datastore.admin.v1.Index
+ * @instance
+ */
+ Index.prototype.ancestor = 0;
+
+ /**
+ * Index properties.
+ * @member {Array.} properties
+ * @memberof google.datastore.admin.v1.Index
+ * @instance
+ */
+ Index.prototype.properties = $util.emptyArray;
+
+ /**
+ * Index state.
+ * @member {google.datastore.admin.v1.Index.State} state
+ * @memberof google.datastore.admin.v1.Index
+ * @instance
+ */
+ Index.prototype.state = 0;
+
+ /**
+ * Creates a new Index instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {google.datastore.admin.v1.IIndex=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.Index} Index instance
+ */
+ Index.create = function create(properties) {
+ return new Index(properties);
+ };
+
+ /**
+ * Encodes the specified Index message. Does not implicitly {@link google.datastore.admin.v1.Index.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {google.datastore.admin.v1.IIndex} message Index message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Index.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId);
+ if (message.indexId != null && Object.hasOwnProperty.call(message, "indexId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexId);
+ if (message.kind != null && Object.hasOwnProperty.call(message, "kind"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.kind);
+ if (message.ancestor != null && Object.hasOwnProperty.call(message, "ancestor"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.ancestor);
+ if (message.properties != null && message.properties.length)
+ for (var i = 0; i < message.properties.length; ++i)
+ $root.google.datastore.admin.v1.Index.IndexedProperty.encode(message.properties[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.state);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Index message, length delimited. Does not implicitly {@link google.datastore.admin.v1.Index.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {google.datastore.admin.v1.IIndex} message Index message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Index.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Index message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.Index} Index
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Index.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.Index();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.projectId = reader.string();
+ break;
+ }
+ case 3: {
+ message.indexId = reader.string();
+ break;
+ }
+ case 4: {
+ message.kind = reader.string();
+ break;
+ }
+ case 5: {
+ message.ancestor = reader.int32();
+ break;
+ }
+ case 6: {
+ if (!(message.properties && message.properties.length))
+ message.properties = [];
+ message.properties.push($root.google.datastore.admin.v1.Index.IndexedProperty.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ message.state = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Index message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.Index} Index
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Index.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Index message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Index.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ if (!$util.isString(message.projectId))
+ return "projectId: string expected";
+ if (message.indexId != null && message.hasOwnProperty("indexId"))
+ if (!$util.isString(message.indexId))
+ return "indexId: string expected";
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ if (!$util.isString(message.kind))
+ return "kind: string expected";
+ if (message.ancestor != null && message.hasOwnProperty("ancestor"))
+ switch (message.ancestor) {
+ default:
+ return "ancestor: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.properties != null && message.hasOwnProperty("properties")) {
+ if (!Array.isArray(message.properties))
+ return "properties: array expected";
+ for (var i = 0; i < message.properties.length; ++i) {
+ var error = $root.google.datastore.admin.v1.Index.IndexedProperty.verify(message.properties[i]);
+ if (error)
+ return "properties." + error;
+ }
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Index message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.Index} Index
+ */
+ Index.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.Index)
+ return object;
+ var message = new $root.google.datastore.admin.v1.Index();
+ if (object.projectId != null)
+ message.projectId = String(object.projectId);
+ if (object.indexId != null)
+ message.indexId = String(object.indexId);
+ if (object.kind != null)
+ message.kind = String(object.kind);
+ switch (object.ancestor) {
+ default:
+ if (typeof object.ancestor === "number") {
+ message.ancestor = object.ancestor;
+ break;
+ }
+ break;
+ case "ANCESTOR_MODE_UNSPECIFIED":
+ case 0:
+ message.ancestor = 0;
+ break;
+ case "NONE":
+ case 1:
+ message.ancestor = 1;
+ break;
+ case "ALL_ANCESTORS":
+ case 2:
+ message.ancestor = 2;
+ break;
+ }
+ if (object.properties) {
+ if (!Array.isArray(object.properties))
+ throw TypeError(".google.datastore.admin.v1.Index.properties: array expected");
+ message.properties = [];
+ for (var i = 0; i < object.properties.length; ++i) {
+ if (typeof object.properties[i] !== "object")
+ throw TypeError(".google.datastore.admin.v1.Index.properties: object expected");
+ message.properties[i] = $root.google.datastore.admin.v1.Index.IndexedProperty.fromObject(object.properties[i]);
+ }
+ }
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "CREATING":
+ case 1:
+ message.state = 1;
+ break;
+ case "READY":
+ case 2:
+ message.state = 2;
+ break;
+ case "DELETING":
+ case 3:
+ message.state = 3;
+ break;
+ case "ERROR":
+ case 4:
+ message.state = 4;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Index message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {google.datastore.admin.v1.Index} message Index
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Index.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.properties = [];
+ if (options.defaults) {
+ object.projectId = "";
+ object.indexId = "";
+ object.kind = "";
+ object.ancestor = options.enums === String ? "ANCESTOR_MODE_UNSPECIFIED" : 0;
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ }
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ object.projectId = message.projectId;
+ if (message.indexId != null && message.hasOwnProperty("indexId"))
+ object.indexId = message.indexId;
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ object.kind = message.kind;
+ if (message.ancestor != null && message.hasOwnProperty("ancestor"))
+ object.ancestor = options.enums === String ? $root.google.datastore.admin.v1.Index.AncestorMode[message.ancestor] === undefined ? message.ancestor : $root.google.datastore.admin.v1.Index.AncestorMode[message.ancestor] : message.ancestor;
+ if (message.properties && message.properties.length) {
+ object.properties = [];
+ for (var j = 0; j < message.properties.length; ++j)
+ object.properties[j] = $root.google.datastore.admin.v1.Index.IndexedProperty.toObject(message.properties[j], options);
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.datastore.admin.v1.Index.State[message.state] === undefined ? message.state : $root.google.datastore.admin.v1.Index.State[message.state] : message.state;
+ return object;
+ };
+
+ /**
+ * Converts this Index to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.Index
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Index.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Index
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.Index
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Index.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.Index";
+ };
+
+ /**
+ * AncestorMode enum.
+ * @name google.datastore.admin.v1.Index.AncestorMode
+ * @enum {number}
+ * @property {number} ANCESTOR_MODE_UNSPECIFIED=0 ANCESTOR_MODE_UNSPECIFIED value
+ * @property {number} NONE=1 NONE value
+ * @property {number} ALL_ANCESTORS=2 ALL_ANCESTORS value
+ */
+ Index.AncestorMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ANCESTOR_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "NONE"] = 1;
+ values[valuesById[2] = "ALL_ANCESTORS"] = 2;
+ return values;
+ })();
+
+ /**
+ * Direction enum.
+ * @name google.datastore.admin.v1.Index.Direction
+ * @enum {number}
+ * @property {number} DIRECTION_UNSPECIFIED=0 DIRECTION_UNSPECIFIED value
+ * @property {number} ASCENDING=1 ASCENDING value
+ * @property {number} DESCENDING=2 DESCENDING value
+ */
+ Index.Direction = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DIRECTION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ASCENDING"] = 1;
+ values[valuesById[2] = "DESCENDING"] = 2;
+ return values;
+ })();
+
+ Index.IndexedProperty = (function() {
+
+ /**
+ * Properties of an IndexedProperty.
+ * @memberof google.datastore.admin.v1.Index
+ * @interface IIndexedProperty
+ * @property {string|null} [name] IndexedProperty name
+ * @property {google.datastore.admin.v1.Index.Direction|null} [direction] IndexedProperty direction
+ */
+
+ /**
+ * Constructs a new IndexedProperty.
+ * @memberof google.datastore.admin.v1.Index
+ * @classdesc Represents an IndexedProperty.
+ * @implements IIndexedProperty
+ * @constructor
+ * @param {google.datastore.admin.v1.Index.IIndexedProperty=} [properties] Properties to set
+ */
+ function IndexedProperty(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * IndexedProperty name.
+ * @member {string} name
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @instance
+ */
+ IndexedProperty.prototype.name = "";
+
+ /**
+ * IndexedProperty direction.
+ * @member {google.datastore.admin.v1.Index.Direction} direction
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @instance
+ */
+ IndexedProperty.prototype.direction = 0;
+
+ /**
+ * Creates a new IndexedProperty instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {google.datastore.admin.v1.Index.IIndexedProperty=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.Index.IndexedProperty} IndexedProperty instance
+ */
+ IndexedProperty.create = function create(properties) {
+ return new IndexedProperty(properties);
+ };
+
+ /**
+ * Encodes the specified IndexedProperty message. Does not implicitly {@link google.datastore.admin.v1.Index.IndexedProperty.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {google.datastore.admin.v1.Index.IIndexedProperty} message IndexedProperty message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IndexedProperty.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.direction != null && Object.hasOwnProperty.call(message, "direction"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.direction);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified IndexedProperty message, length delimited. Does not implicitly {@link google.datastore.admin.v1.Index.IndexedProperty.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {google.datastore.admin.v1.Index.IIndexedProperty} message IndexedProperty message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IndexedProperty.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an IndexedProperty message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.Index.IndexedProperty} IndexedProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IndexedProperty.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.Index.IndexedProperty();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.direction = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an IndexedProperty message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.Index.IndexedProperty} IndexedProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IndexedProperty.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an IndexedProperty message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ IndexedProperty.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.direction != null && message.hasOwnProperty("direction"))
+ switch (message.direction) {
+ default:
+ return "direction: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an IndexedProperty message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.Index.IndexedProperty} IndexedProperty
+ */
+ IndexedProperty.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.Index.IndexedProperty)
+ return object;
+ var message = new $root.google.datastore.admin.v1.Index.IndexedProperty();
+ if (object.name != null)
+ message.name = String(object.name);
+ switch (object.direction) {
+ default:
+ if (typeof object.direction === "number") {
+ message.direction = object.direction;
+ break;
+ }
+ break;
+ case "DIRECTION_UNSPECIFIED":
+ case 0:
+ message.direction = 0;
+ break;
+ case "ASCENDING":
+ case 1:
+ message.direction = 1;
+ break;
+ case "DESCENDING":
+ case 2:
+ message.direction = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an IndexedProperty message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {google.datastore.admin.v1.Index.IndexedProperty} message IndexedProperty
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ IndexedProperty.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.direction = options.enums === String ? "DIRECTION_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.direction != null && message.hasOwnProperty("direction"))
+ object.direction = options.enums === String ? $root.google.datastore.admin.v1.Index.Direction[message.direction] === undefined ? message.direction : $root.google.datastore.admin.v1.Index.Direction[message.direction] : message.direction;
+ return object;
+ };
+
+ /**
+ * Converts this IndexedProperty to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ IndexedProperty.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for IndexedProperty
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.Index.IndexedProperty
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ IndexedProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.Index.IndexedProperty";
+ };
+
+ return IndexedProperty;
+ })();
+
+ /**
+ * State enum.
+ * @name google.datastore.admin.v1.Index.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} CREATING=1 CREATING value
+ * @property {number} READY=2 READY value
+ * @property {number} DELETING=3 DELETING value
+ * @property {number} ERROR=4 ERROR value
+ */
+ Index.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CREATING"] = 1;
+ values[valuesById[2] = "READY"] = 2;
+ values[valuesById[3] = "DELETING"] = 3;
+ values[valuesById[4] = "ERROR"] = 4;
+ return values;
+ })();
+
+ return Index;
+ })();
+
+ v1.MigrationStateEvent = (function() {
+
+ /**
+ * Properties of a MigrationStateEvent.
+ * @memberof google.datastore.admin.v1
+ * @interface IMigrationStateEvent
+ * @property {google.datastore.admin.v1.MigrationState|null} [state] MigrationStateEvent state
+ */
+
+ /**
+ * Constructs a new MigrationStateEvent.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a MigrationStateEvent.
+ * @implements IMigrationStateEvent
+ * @constructor
+ * @param {google.datastore.admin.v1.IMigrationStateEvent=} [properties] Properties to set
+ */
+ function MigrationStateEvent(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MigrationStateEvent state.
+ * @member {google.datastore.admin.v1.MigrationState} state
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @instance
+ */
+ MigrationStateEvent.prototype.state = 0;
+
+ /**
+ * Creates a new MigrationStateEvent instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {google.datastore.admin.v1.IMigrationStateEvent=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.MigrationStateEvent} MigrationStateEvent instance
+ */
+ MigrationStateEvent.create = function create(properties) {
+ return new MigrationStateEvent(properties);
+ };
+
+ /**
+ * Encodes the specified MigrationStateEvent message. Does not implicitly {@link google.datastore.admin.v1.MigrationStateEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {google.datastore.admin.v1.IMigrationStateEvent} message MigrationStateEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MigrationStateEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MigrationStateEvent message, length delimited. Does not implicitly {@link google.datastore.admin.v1.MigrationStateEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {google.datastore.admin.v1.IMigrationStateEvent} message MigrationStateEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MigrationStateEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MigrationStateEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.MigrationStateEvent} MigrationStateEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MigrationStateEvent.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.MigrationStateEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.state = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MigrationStateEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.MigrationStateEvent} MigrationStateEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MigrationStateEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MigrationStateEvent message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MigrationStateEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MigrationStateEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.MigrationStateEvent} MigrationStateEvent
+ */
+ MigrationStateEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.MigrationStateEvent)
+ return object;
+ var message = new $root.google.datastore.admin.v1.MigrationStateEvent();
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "MIGRATION_STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "RUNNING":
+ case 1:
+ message.state = 1;
+ break;
+ case "PAUSED":
+ case 2:
+ message.state = 2;
+ break;
+ case "COMPLETE":
+ case 3:
+ message.state = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MigrationStateEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {google.datastore.admin.v1.MigrationStateEvent} message MigrationStateEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MigrationStateEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.state = options.enums === String ? "MIGRATION_STATE_UNSPECIFIED" : 0;
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.datastore.admin.v1.MigrationState[message.state] === undefined ? message.state : $root.google.datastore.admin.v1.MigrationState[message.state] : message.state;
+ return object;
+ };
+
+ /**
+ * Converts this MigrationStateEvent to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MigrationStateEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MigrationStateEvent
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.MigrationStateEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MigrationStateEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.MigrationStateEvent";
+ };
+
+ return MigrationStateEvent;
+ })();
+
+ v1.MigrationProgressEvent = (function() {
+
+ /**
+ * Properties of a MigrationProgressEvent.
+ * @memberof google.datastore.admin.v1
+ * @interface IMigrationProgressEvent
+ * @property {google.datastore.admin.v1.MigrationStep|null} [step] MigrationProgressEvent step
+ * @property {google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails|null} [prepareStepDetails] MigrationProgressEvent prepareStepDetails
+ * @property {google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails|null} [redirectWritesStepDetails] MigrationProgressEvent redirectWritesStepDetails
+ */
+
+ /**
+ * Constructs a new MigrationProgressEvent.
+ * @memberof google.datastore.admin.v1
+ * @classdesc Represents a MigrationProgressEvent.
+ * @implements IMigrationProgressEvent
+ * @constructor
+ * @param {google.datastore.admin.v1.IMigrationProgressEvent=} [properties] Properties to set
+ */
+ function MigrationProgressEvent(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MigrationProgressEvent step.
+ * @member {google.datastore.admin.v1.MigrationStep} step
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @instance
+ */
+ MigrationProgressEvent.prototype.step = 0;
+
+ /**
+ * MigrationProgressEvent prepareStepDetails.
+ * @member {google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails|null|undefined} prepareStepDetails
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @instance
+ */
+ MigrationProgressEvent.prototype.prepareStepDetails = null;
+
+ /**
+ * MigrationProgressEvent redirectWritesStepDetails.
+ * @member {google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails|null|undefined} redirectWritesStepDetails
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @instance
+ */
+ MigrationProgressEvent.prototype.redirectWritesStepDetails = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * MigrationProgressEvent stepDetails.
+ * @member {"prepareStepDetails"|"redirectWritesStepDetails"|undefined} stepDetails
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @instance
+ */
+ Object.defineProperty(MigrationProgressEvent.prototype, "stepDetails", {
+ get: $util.oneOfGetter($oneOfFields = ["prepareStepDetails", "redirectWritesStepDetails"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new MigrationProgressEvent instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {google.datastore.admin.v1.IMigrationProgressEvent=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent} MigrationProgressEvent instance
+ */
+ MigrationProgressEvent.create = function create(properties) {
+ return new MigrationProgressEvent(properties);
+ };
+
+ /**
+ * Encodes the specified MigrationProgressEvent message. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {google.datastore.admin.v1.IMigrationProgressEvent} message MigrationProgressEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MigrationProgressEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.step != null && Object.hasOwnProperty.call(message, "step"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.step);
+ if (message.prepareStepDetails != null && Object.hasOwnProperty.call(message, "prepareStepDetails"))
+ $root.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.encode(message.prepareStepDetails, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.redirectWritesStepDetails != null && Object.hasOwnProperty.call(message, "redirectWritesStepDetails"))
+ $root.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.encode(message.redirectWritesStepDetails, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MigrationProgressEvent message, length delimited. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {google.datastore.admin.v1.IMigrationProgressEvent} message MigrationProgressEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MigrationProgressEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MigrationProgressEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent} MigrationProgressEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MigrationProgressEvent.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.MigrationProgressEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.step = reader.int32();
+ break;
+ }
+ case 2: {
+ message.prepareStepDetails = $root.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.redirectWritesStepDetails = $root.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MigrationProgressEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent} MigrationProgressEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MigrationProgressEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MigrationProgressEvent message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MigrationProgressEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.step != null && message.hasOwnProperty("step"))
+ switch (message.step) {
+ default:
+ return "step: enum value expected";
+ case 0:
+ case 6:
+ case 1:
+ case 7:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.prepareStepDetails != null && message.hasOwnProperty("prepareStepDetails")) {
+ properties.stepDetails = 1;
+ {
+ var error = $root.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.verify(message.prepareStepDetails);
+ if (error)
+ return "prepareStepDetails." + error;
+ }
+ }
+ if (message.redirectWritesStepDetails != null && message.hasOwnProperty("redirectWritesStepDetails")) {
+ if (properties.stepDetails === 1)
+ return "stepDetails: multiple values";
+ properties.stepDetails = 1;
+ {
+ var error = $root.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.verify(message.redirectWritesStepDetails);
+ if (error)
+ return "redirectWritesStepDetails." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MigrationProgressEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent} MigrationProgressEvent
+ */
+ MigrationProgressEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.MigrationProgressEvent)
+ return object;
+ var message = new $root.google.datastore.admin.v1.MigrationProgressEvent();
+ switch (object.step) {
+ default:
+ if (typeof object.step === "number") {
+ message.step = object.step;
+ break;
+ }
+ break;
+ case "MIGRATION_STEP_UNSPECIFIED":
+ case 0:
+ message.step = 0;
+ break;
+ case "PREPARE":
+ case 6:
+ message.step = 6;
+ break;
+ case "START":
+ case 1:
+ message.step = 1;
+ break;
+ case "APPLY_WRITES_SYNCHRONOUSLY":
+ case 7:
+ message.step = 7;
+ break;
+ case "COPY_AND_VERIFY":
+ case 2:
+ message.step = 2;
+ break;
+ case "REDIRECT_EVENTUALLY_CONSISTENT_READS":
+ case 3:
+ message.step = 3;
+ break;
+ case "REDIRECT_STRONGLY_CONSISTENT_READS":
+ case 4:
+ message.step = 4;
+ break;
+ case "REDIRECT_WRITES":
+ case 5:
+ message.step = 5;
+ break;
+ }
+ if (object.prepareStepDetails != null) {
+ if (typeof object.prepareStepDetails !== "object")
+ throw TypeError(".google.datastore.admin.v1.MigrationProgressEvent.prepareStepDetails: object expected");
+ message.prepareStepDetails = $root.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.fromObject(object.prepareStepDetails);
+ }
+ if (object.redirectWritesStepDetails != null) {
+ if (typeof object.redirectWritesStepDetails !== "object")
+ throw TypeError(".google.datastore.admin.v1.MigrationProgressEvent.redirectWritesStepDetails: object expected");
+ message.redirectWritesStepDetails = $root.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.fromObject(object.redirectWritesStepDetails);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MigrationProgressEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent} message MigrationProgressEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MigrationProgressEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.step = options.enums === String ? "MIGRATION_STEP_UNSPECIFIED" : 0;
+ if (message.step != null && message.hasOwnProperty("step"))
+ object.step = options.enums === String ? $root.google.datastore.admin.v1.MigrationStep[message.step] === undefined ? message.step : $root.google.datastore.admin.v1.MigrationStep[message.step] : message.step;
+ if (message.prepareStepDetails != null && message.hasOwnProperty("prepareStepDetails")) {
+ object.prepareStepDetails = $root.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.toObject(message.prepareStepDetails, options);
+ if (options.oneofs)
+ object.stepDetails = "prepareStepDetails";
+ }
+ if (message.redirectWritesStepDetails != null && message.hasOwnProperty("redirectWritesStepDetails")) {
+ object.redirectWritesStepDetails = $root.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.toObject(message.redirectWritesStepDetails, options);
+ if (options.oneofs)
+ object.stepDetails = "redirectWritesStepDetails";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this MigrationProgressEvent to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MigrationProgressEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MigrationProgressEvent
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MigrationProgressEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.MigrationProgressEvent";
+ };
+
+ /**
+ * ConcurrencyMode enum.
+ * @name google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode
+ * @enum {number}
+ * @property {number} CONCURRENCY_MODE_UNSPECIFIED=0 CONCURRENCY_MODE_UNSPECIFIED value
+ * @property {number} PESSIMISTIC=1 PESSIMISTIC value
+ * @property {number} OPTIMISTIC=2 OPTIMISTIC value
+ * @property {number} OPTIMISTIC_WITH_ENTITY_GROUPS=3 OPTIMISTIC_WITH_ENTITY_GROUPS value
+ */
+ MigrationProgressEvent.ConcurrencyMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "CONCURRENCY_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "PESSIMISTIC"] = 1;
+ values[valuesById[2] = "OPTIMISTIC"] = 2;
+ values[valuesById[3] = "OPTIMISTIC_WITH_ENTITY_GROUPS"] = 3;
+ return values;
+ })();
+
+ MigrationProgressEvent.PrepareStepDetails = (function() {
+
+ /**
+ * Properties of a PrepareStepDetails.
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @interface IPrepareStepDetails
+ * @property {google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode|null} [concurrencyMode] PrepareStepDetails concurrencyMode
+ */
+
+ /**
+ * Constructs a new PrepareStepDetails.
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @classdesc Represents a PrepareStepDetails.
+ * @implements IPrepareStepDetails
+ * @constructor
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails=} [properties] Properties to set
+ */
+ function PrepareStepDetails(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PrepareStepDetails concurrencyMode.
+ * @member {google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode} concurrencyMode
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @instance
+ */
+ PrepareStepDetails.prototype.concurrencyMode = 0;
+
+ /**
+ * Creates a new PrepareStepDetails instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails} PrepareStepDetails instance
+ */
+ PrepareStepDetails.create = function create(properties) {
+ return new PrepareStepDetails(properties);
+ };
+
+ /**
+ * Encodes the specified PrepareStepDetails message. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails} message PrepareStepDetails message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PrepareStepDetails.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.concurrencyMode != null && Object.hasOwnProperty.call(message, "concurrencyMode"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.concurrencyMode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PrepareStepDetails message, length delimited. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.IPrepareStepDetails} message PrepareStepDetails message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PrepareStepDetails.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PrepareStepDetails message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails} PrepareStepDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PrepareStepDetails.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.concurrencyMode = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PrepareStepDetails message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails} PrepareStepDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PrepareStepDetails.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PrepareStepDetails message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PrepareStepDetails.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.concurrencyMode != null && message.hasOwnProperty("concurrencyMode"))
+ switch (message.concurrencyMode) {
+ default:
+ return "concurrencyMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PrepareStepDetails message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails} PrepareStepDetails
+ */
+ PrepareStepDetails.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails)
+ return object;
+ var message = new $root.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails();
+ switch (object.concurrencyMode) {
+ default:
+ if (typeof object.concurrencyMode === "number") {
+ message.concurrencyMode = object.concurrencyMode;
+ break;
+ }
+ break;
+ case "CONCURRENCY_MODE_UNSPECIFIED":
+ case 0:
+ message.concurrencyMode = 0;
+ break;
+ case "PESSIMISTIC":
+ case 1:
+ message.concurrencyMode = 1;
+ break;
+ case "OPTIMISTIC":
+ case 2:
+ message.concurrencyMode = 2;
+ break;
+ case "OPTIMISTIC_WITH_ENTITY_GROUPS":
+ case 3:
+ message.concurrencyMode = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PrepareStepDetails message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails} message PrepareStepDetails
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PrepareStepDetails.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.concurrencyMode = options.enums === String ? "CONCURRENCY_MODE_UNSPECIFIED" : 0;
+ if (message.concurrencyMode != null && message.hasOwnProperty("concurrencyMode"))
+ object.concurrencyMode = options.enums === String ? $root.google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode[message.concurrencyMode] === undefined ? message.concurrencyMode : $root.google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode[message.concurrencyMode] : message.concurrencyMode;
+ return object;
+ };
+
+ /**
+ * Converts this PrepareStepDetails to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PrepareStepDetails.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PrepareStepDetails
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PrepareStepDetails.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails";
+ };
+
+ return PrepareStepDetails;
+ })();
+
+ MigrationProgressEvent.RedirectWritesStepDetails = (function() {
+
+ /**
+ * Properties of a RedirectWritesStepDetails.
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @interface IRedirectWritesStepDetails
+ * @property {google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode|null} [concurrencyMode] RedirectWritesStepDetails concurrencyMode
+ */
+
+ /**
+ * Constructs a new RedirectWritesStepDetails.
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent
+ * @classdesc Represents a RedirectWritesStepDetails.
+ * @implements IRedirectWritesStepDetails
+ * @constructor
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails=} [properties] Properties to set
+ */
+ function RedirectWritesStepDetails(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * RedirectWritesStepDetails concurrencyMode.
+ * @member {google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode} concurrencyMode
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @instance
+ */
+ RedirectWritesStepDetails.prototype.concurrencyMode = 0;
+
+ /**
+ * Creates a new RedirectWritesStepDetails instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails=} [properties] Properties to set
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails} RedirectWritesStepDetails instance
+ */
+ RedirectWritesStepDetails.create = function create(properties) {
+ return new RedirectWritesStepDetails(properties);
+ };
+
+ /**
+ * Encodes the specified RedirectWritesStepDetails message. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails} message RedirectWritesStepDetails message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RedirectWritesStepDetails.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.concurrencyMode != null && Object.hasOwnProperty.call(message, "concurrencyMode"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.concurrencyMode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RedirectWritesStepDetails message, length delimited. Does not implicitly {@link google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.IRedirectWritesStepDetails} message RedirectWritesStepDetails message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RedirectWritesStepDetails.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RedirectWritesStepDetails message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails} RedirectWritesStepDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RedirectWritesStepDetails.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.concurrencyMode = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RedirectWritesStepDetails message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails} RedirectWritesStepDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RedirectWritesStepDetails.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RedirectWritesStepDetails message.
+ * @function verify
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RedirectWritesStepDetails.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.concurrencyMode != null && message.hasOwnProperty("concurrencyMode"))
+ switch (message.concurrencyMode) {
+ default:
+ return "concurrencyMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RedirectWritesStepDetails message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails} RedirectWritesStepDetails
+ */
+ RedirectWritesStepDetails.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails)
+ return object;
+ var message = new $root.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails();
+ switch (object.concurrencyMode) {
+ default:
+ if (typeof object.concurrencyMode === "number") {
+ message.concurrencyMode = object.concurrencyMode;
+ break;
+ }
+ break;
+ case "CONCURRENCY_MODE_UNSPECIFIED":
+ case 0:
+ message.concurrencyMode = 0;
+ break;
+ case "PESSIMISTIC":
+ case 1:
+ message.concurrencyMode = 1;
+ break;
+ case "OPTIMISTIC":
+ case 2:
+ message.concurrencyMode = 2;
+ break;
+ case "OPTIMISTIC_WITH_ENTITY_GROUPS":
+ case 3:
+ message.concurrencyMode = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RedirectWritesStepDetails message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails} message RedirectWritesStepDetails
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RedirectWritesStepDetails.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.concurrencyMode = options.enums === String ? "CONCURRENCY_MODE_UNSPECIFIED" : 0;
+ if (message.concurrencyMode != null && message.hasOwnProperty("concurrencyMode"))
+ object.concurrencyMode = options.enums === String ? $root.google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode[message.concurrencyMode] === undefined ? message.concurrencyMode : $root.google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode[message.concurrencyMode] : message.concurrencyMode;
+ return object;
+ };
+
+ /**
+ * Converts this RedirectWritesStepDetails to JSON.
+ * @function toJSON
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RedirectWritesStepDetails.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RedirectWritesStepDetails
+ * @function getTypeUrl
+ * @memberof google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RedirectWritesStepDetails.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails";
+ };
+
+ return RedirectWritesStepDetails;
+ })();
+
+ return MigrationProgressEvent;
+ })();
+
+ /**
+ * MigrationState enum.
+ * @name google.datastore.admin.v1.MigrationState
+ * @enum {number}
+ * @property {number} MIGRATION_STATE_UNSPECIFIED=0 MIGRATION_STATE_UNSPECIFIED value
+ * @property {number} RUNNING=1 RUNNING value
+ * @property {number} PAUSED=2 PAUSED value
+ * @property {number} COMPLETE=3 COMPLETE value
+ */
+ v1.MigrationState = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "MIGRATION_STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "RUNNING"] = 1;
+ values[valuesById[2] = "PAUSED"] = 2;
+ values[valuesById[3] = "COMPLETE"] = 3;
+ return values;
+ })();
+
+ /**
+ * MigrationStep enum.
+ * @name google.datastore.admin.v1.MigrationStep
+ * @enum {number}
+ * @property {number} MIGRATION_STEP_UNSPECIFIED=0 MIGRATION_STEP_UNSPECIFIED value
+ * @property {number} PREPARE=6 PREPARE value
+ * @property {number} START=1 START value
+ * @property {number} APPLY_WRITES_SYNCHRONOUSLY=7 APPLY_WRITES_SYNCHRONOUSLY value
+ * @property {number} COPY_AND_VERIFY=2 COPY_AND_VERIFY value
+ * @property {number} REDIRECT_EVENTUALLY_CONSISTENT_READS=3 REDIRECT_EVENTUALLY_CONSISTENT_READS value
+ * @property {number} REDIRECT_STRONGLY_CONSISTENT_READS=4 REDIRECT_STRONGLY_CONSISTENT_READS value
+ * @property {number} REDIRECT_WRITES=5 REDIRECT_WRITES value
+ */
+ v1.MigrationStep = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "MIGRATION_STEP_UNSPECIFIED"] = 0;
+ values[valuesById[6] = "PREPARE"] = 6;
+ values[valuesById[1] = "START"] = 1;
+ values[valuesById[7] = "APPLY_WRITES_SYNCHRONOUSLY"] = 7;
+ values[valuesById[2] = "COPY_AND_VERIFY"] = 2;
+ values[valuesById[3] = "REDIRECT_EVENTUALLY_CONSISTENT_READS"] = 3;
+ values[valuesById[4] = "REDIRECT_STRONGLY_CONSISTENT_READS"] = 4;
+ values[valuesById[5] = "REDIRECT_WRITES"] = 5;
+ return values;
+ })();
+
+ return v1;
+ })();
+
+ return admin;
+ })();
+
+ datastore.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.datastore
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.AggregationResult = (function() {
+
+ /**
+ * Properties of an AggregationResult.
+ * @memberof google.datastore.v1
+ * @interface IAggregationResult
+ * @property {Object.|null} [aggregateProperties] AggregationResult aggregateProperties
+ */
+
+ /**
+ * Constructs a new AggregationResult.
+ * @memberof google.datastore.v1
+ * @classdesc Represents an AggregationResult.
+ * @implements IAggregationResult
+ * @constructor
+ * @param {google.datastore.v1.IAggregationResult=} [properties] Properties to set
+ */
+ function AggregationResult(properties) {
+ this.aggregateProperties = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AggregationResult aggregateProperties.
+ * @member {Object.} aggregateProperties
+ * @memberof google.datastore.v1.AggregationResult
+ * @instance
+ */
+ AggregationResult.prototype.aggregateProperties = $util.emptyObject;
+
+ /**
+ * Creates a new AggregationResult instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {google.datastore.v1.IAggregationResult=} [properties] Properties to set
+ * @returns {google.datastore.v1.AggregationResult} AggregationResult instance
+ */
+ AggregationResult.create = function create(properties) {
+ return new AggregationResult(properties);
+ };
+
+ /**
+ * Encodes the specified AggregationResult message. Does not implicitly {@link google.datastore.v1.AggregationResult.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {google.datastore.v1.IAggregationResult} message AggregationResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AggregationResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.aggregateProperties != null && Object.hasOwnProperty.call(message, "aggregateProperties"))
+ for (var keys = Object.keys(message.aggregateProperties), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.datastore.v1.Value.encode(message.aggregateProperties[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AggregationResult message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {google.datastore.v1.IAggregationResult} message AggregationResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AggregationResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AggregationResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.AggregationResult} AggregationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AggregationResult.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.AggregationResult(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ if (message.aggregateProperties === $util.emptyObject)
+ message.aggregateProperties = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.datastore.v1.Value.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.aggregateProperties[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AggregationResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.AggregationResult} AggregationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AggregationResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AggregationResult message.
+ * @function verify
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AggregationResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.aggregateProperties != null && message.hasOwnProperty("aggregateProperties")) {
+ if (!$util.isObject(message.aggregateProperties))
+ return "aggregateProperties: object expected";
+ var key = Object.keys(message.aggregateProperties);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.datastore.v1.Value.verify(message.aggregateProperties[key[i]]);
+ if (error)
+ return "aggregateProperties." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AggregationResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.AggregationResult} AggregationResult
+ */
+ AggregationResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.AggregationResult)
+ return object;
+ var message = new $root.google.datastore.v1.AggregationResult();
+ if (object.aggregateProperties) {
+ if (typeof object.aggregateProperties !== "object")
+ throw TypeError(".google.datastore.v1.AggregationResult.aggregateProperties: object expected");
+ message.aggregateProperties = {};
+ for (var keys = Object.keys(object.aggregateProperties), i = 0; i < keys.length; ++i) {
+ if (typeof object.aggregateProperties[keys[i]] !== "object")
+ throw TypeError(".google.datastore.v1.AggregationResult.aggregateProperties: object expected");
+ message.aggregateProperties[keys[i]] = $root.google.datastore.v1.Value.fromObject(object.aggregateProperties[keys[i]]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AggregationResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {google.datastore.v1.AggregationResult} message AggregationResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AggregationResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.aggregateProperties = {};
+ var keys2;
+ if (message.aggregateProperties && (keys2 = Object.keys(message.aggregateProperties)).length) {
+ object.aggregateProperties = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.aggregateProperties[keys2[j]] = $root.google.datastore.v1.Value.toObject(message.aggregateProperties[keys2[j]], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AggregationResult to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.AggregationResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AggregationResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AggregationResult
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.AggregationResult
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AggregationResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.AggregationResult";
+ };
+
+ return AggregationResult;
+ })();
+
+ v1.AggregationResultBatch = (function() {
+
+ /**
+ * Properties of an AggregationResultBatch.
+ * @memberof google.datastore.v1
+ * @interface IAggregationResultBatch
+ * @property {Array.|null} [aggregationResults] AggregationResultBatch aggregationResults
+ * @property {google.datastore.v1.QueryResultBatch.MoreResultsType|null} [moreResults] AggregationResultBatch moreResults
+ * @property {google.protobuf.ITimestamp|null} [readTime] AggregationResultBatch readTime
+ */
+
+ /**
+ * Constructs a new AggregationResultBatch.
+ * @memberof google.datastore.v1
+ * @classdesc Represents an AggregationResultBatch.
+ * @implements IAggregationResultBatch
+ * @constructor
+ * @param {google.datastore.v1.IAggregationResultBatch=} [properties] Properties to set
+ */
+ function AggregationResultBatch(properties) {
+ this.aggregationResults = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AggregationResultBatch aggregationResults.
+ * @member {Array.} aggregationResults
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @instance
+ */
+ AggregationResultBatch.prototype.aggregationResults = $util.emptyArray;
+
+ /**
+ * AggregationResultBatch moreResults.
+ * @member {google.datastore.v1.QueryResultBatch.MoreResultsType} moreResults
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @instance
+ */
+ AggregationResultBatch.prototype.moreResults = 0;
+
+ /**
+ * AggregationResultBatch readTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} readTime
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @instance
+ */
+ AggregationResultBatch.prototype.readTime = null;
+
+ /**
+ * Creates a new AggregationResultBatch instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {google.datastore.v1.IAggregationResultBatch=} [properties] Properties to set
+ * @returns {google.datastore.v1.AggregationResultBatch} AggregationResultBatch instance
+ */
+ AggregationResultBatch.create = function create(properties) {
+ return new AggregationResultBatch(properties);
+ };
+
+ /**
+ * Encodes the specified AggregationResultBatch message. Does not implicitly {@link google.datastore.v1.AggregationResultBatch.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {google.datastore.v1.IAggregationResultBatch} message AggregationResultBatch message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AggregationResultBatch.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.aggregationResults != null && message.aggregationResults.length)
+ for (var i = 0; i < message.aggregationResults.length; ++i)
+ $root.google.datastore.v1.AggregationResult.encode(message.aggregationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.moreResults != null && Object.hasOwnProperty.call(message, "moreResults"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.moreResults);
+ if (message.readTime != null && Object.hasOwnProperty.call(message, "readTime"))
+ $root.google.protobuf.Timestamp.encode(message.readTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AggregationResultBatch message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationResultBatch.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {google.datastore.v1.IAggregationResultBatch} message AggregationResultBatch message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AggregationResultBatch.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AggregationResultBatch message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.AggregationResultBatch} AggregationResultBatch
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AggregationResultBatch.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.AggregationResultBatch();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.aggregationResults && message.aggregationResults.length))
+ message.aggregationResults = [];
+ message.aggregationResults.push($root.google.datastore.v1.AggregationResult.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.moreResults = reader.int32();
+ break;
+ }
+ case 3: {
+ message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AggregationResultBatch message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.AggregationResultBatch} AggregationResultBatch
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AggregationResultBatch.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AggregationResultBatch message.
+ * @function verify
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AggregationResultBatch.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.aggregationResults != null && message.hasOwnProperty("aggregationResults")) {
+ if (!Array.isArray(message.aggregationResults))
+ return "aggregationResults: array expected";
+ for (var i = 0; i < message.aggregationResults.length; ++i) {
+ var error = $root.google.datastore.v1.AggregationResult.verify(message.aggregationResults[i]);
+ if (error)
+ return "aggregationResults." + error;
+ }
+ }
+ if (message.moreResults != null && message.hasOwnProperty("moreResults"))
+ switch (message.moreResults) {
+ default:
+ return "moreResults: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 4:
+ case 3:
+ break;
+ }
+ if (message.readTime != null && message.hasOwnProperty("readTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+ if (error)
+ return "readTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AggregationResultBatch message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.AggregationResultBatch} AggregationResultBatch
+ */
+ AggregationResultBatch.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.AggregationResultBatch)
+ return object;
+ var message = new $root.google.datastore.v1.AggregationResultBatch();
+ if (object.aggregationResults) {
+ if (!Array.isArray(object.aggregationResults))
+ throw TypeError(".google.datastore.v1.AggregationResultBatch.aggregationResults: array expected");
+ message.aggregationResults = [];
+ for (var i = 0; i < object.aggregationResults.length; ++i) {
+ if (typeof object.aggregationResults[i] !== "object")
+ throw TypeError(".google.datastore.v1.AggregationResultBatch.aggregationResults: object expected");
+ message.aggregationResults[i] = $root.google.datastore.v1.AggregationResult.fromObject(object.aggregationResults[i]);
+ }
+ }
+ switch (object.moreResults) {
+ default:
+ if (typeof object.moreResults === "number") {
+ message.moreResults = object.moreResults;
+ break;
+ }
+ break;
+ case "MORE_RESULTS_TYPE_UNSPECIFIED":
+ case 0:
+ message.moreResults = 0;
+ break;
+ case "NOT_FINISHED":
+ case 1:
+ message.moreResults = 1;
+ break;
+ case "MORE_RESULTS_AFTER_LIMIT":
+ case 2:
+ message.moreResults = 2;
+ break;
+ case "MORE_RESULTS_AFTER_CURSOR":
+ case 4:
+ message.moreResults = 4;
+ break;
+ case "NO_MORE_RESULTS":
+ case 3:
+ message.moreResults = 3;
+ break;
+ }
+ if (object.readTime != null) {
+ if (typeof object.readTime !== "object")
+ throw TypeError(".google.datastore.v1.AggregationResultBatch.readTime: object expected");
+ message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AggregationResultBatch message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {google.datastore.v1.AggregationResultBatch} message AggregationResultBatch
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AggregationResultBatch.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.aggregationResults = [];
+ if (options.defaults) {
+ object.moreResults = options.enums === String ? "MORE_RESULTS_TYPE_UNSPECIFIED" : 0;
+ object.readTime = null;
+ }
+ if (message.aggregationResults && message.aggregationResults.length) {
+ object.aggregationResults = [];
+ for (var j = 0; j < message.aggregationResults.length; ++j)
+ object.aggregationResults[j] = $root.google.datastore.v1.AggregationResult.toObject(message.aggregationResults[j], options);
+ }
+ if (message.moreResults != null && message.hasOwnProperty("moreResults"))
+ object.moreResults = options.enums === String ? $root.google.datastore.v1.QueryResultBatch.MoreResultsType[message.moreResults] === undefined ? message.moreResults : $root.google.datastore.v1.QueryResultBatch.MoreResultsType[message.moreResults] : message.moreResults;
+ if (message.readTime != null && message.hasOwnProperty("readTime"))
+ object.readTime = $root.google.protobuf.Timestamp.toObject(message.readTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this AggregationResultBatch to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AggregationResultBatch.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AggregationResultBatch
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.AggregationResultBatch
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AggregationResultBatch.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.AggregationResultBatch";
+ };
+
+ return AggregationResultBatch;
+ })();
+
+ v1.PartitionId = (function() {
+
+ /**
+ * Properties of a PartitionId.
+ * @memberof google.datastore.v1
+ * @interface IPartitionId
+ * @property {string|null} [projectId] PartitionId projectId
+ * @property {string|null} [databaseId] PartitionId databaseId
+ * @property {string|null} [namespaceId] PartitionId namespaceId
+ */
+
+ /**
+ * Constructs a new PartitionId.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a PartitionId.
+ * @implements IPartitionId
+ * @constructor
+ * @param {google.datastore.v1.IPartitionId=} [properties] Properties to set
+ */
+ function PartitionId(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PartitionId projectId.
+ * @member {string} projectId
+ * @memberof google.datastore.v1.PartitionId
+ * @instance
+ */
+ PartitionId.prototype.projectId = "";
+
+ /**
+ * PartitionId databaseId.
+ * @member {string} databaseId
+ * @memberof google.datastore.v1.PartitionId
+ * @instance
+ */
+ PartitionId.prototype.databaseId = "";
+
+ /**
+ * PartitionId namespaceId.
+ * @member {string} namespaceId
+ * @memberof google.datastore.v1.PartitionId
+ * @instance
+ */
+ PartitionId.prototype.namespaceId = "";
+
+ /**
+ * Creates a new PartitionId instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {google.datastore.v1.IPartitionId=} [properties] Properties to set
+ * @returns {google.datastore.v1.PartitionId} PartitionId instance
+ */
+ PartitionId.create = function create(properties) {
+ return new PartitionId(properties);
+ };
+
+ /**
+ * Encodes the specified PartitionId message. Does not implicitly {@link google.datastore.v1.PartitionId.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {google.datastore.v1.IPartitionId} message PartitionId message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PartitionId.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.projectId);
+ if (message.databaseId != null && Object.hasOwnProperty.call(message, "databaseId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.databaseId);
+ if (message.namespaceId != null && Object.hasOwnProperty.call(message, "namespaceId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.namespaceId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PartitionId message, length delimited. Does not implicitly {@link google.datastore.v1.PartitionId.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {google.datastore.v1.IPartitionId} message PartitionId message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PartitionId.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PartitionId message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.PartitionId} PartitionId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PartitionId.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.PartitionId();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.projectId = reader.string();
+ break;
+ }
+ case 3: {
+ message.databaseId = reader.string();
+ break;
+ }
+ case 4: {
+ message.namespaceId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PartitionId message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.PartitionId} PartitionId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PartitionId.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PartitionId message.
+ * @function verify
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PartitionId.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ if (!$util.isString(message.projectId))
+ return "projectId: string expected";
+ if (message.databaseId != null && message.hasOwnProperty("databaseId"))
+ if (!$util.isString(message.databaseId))
+ return "databaseId: string expected";
+ if (message.namespaceId != null && message.hasOwnProperty("namespaceId"))
+ if (!$util.isString(message.namespaceId))
+ return "namespaceId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PartitionId message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.PartitionId} PartitionId
+ */
+ PartitionId.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.PartitionId)
+ return object;
+ var message = new $root.google.datastore.v1.PartitionId();
+ if (object.projectId != null)
+ message.projectId = String(object.projectId);
+ if (object.databaseId != null)
+ message.databaseId = String(object.databaseId);
+ if (object.namespaceId != null)
+ message.namespaceId = String(object.namespaceId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PartitionId message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {google.datastore.v1.PartitionId} message PartitionId
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PartitionId.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.projectId = "";
+ object.databaseId = "";
+ object.namespaceId = "";
+ }
+ if (message.projectId != null && message.hasOwnProperty("projectId"))
+ object.projectId = message.projectId;
+ if (message.databaseId != null && message.hasOwnProperty("databaseId"))
+ object.databaseId = message.databaseId;
+ if (message.namespaceId != null && message.hasOwnProperty("namespaceId"))
+ object.namespaceId = message.namespaceId;
+ return object;
+ };
+
+ /**
+ * Converts this PartitionId to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.PartitionId
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PartitionId.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PartitionId
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.PartitionId
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PartitionId.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.PartitionId";
+ };
+
+ return PartitionId;
+ })();
+
+ v1.Key = (function() {
+
+ /**
+ * Properties of a Key.
+ * @memberof google.datastore.v1
+ * @interface IKey
+ * @property {google.datastore.v1.IPartitionId|null} [partitionId] Key partitionId
+ * @property {Array.|null} [path] Key path
+ */
+
+ /**
+ * Constructs a new Key.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a Key.
+ * @implements IKey
+ * @constructor
+ * @param {google.datastore.v1.IKey=} [properties] Properties to set
+ */
+ function Key(properties) {
+ this.path = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Key partitionId.
+ * @member {google.datastore.v1.IPartitionId|null|undefined} partitionId
+ * @memberof google.datastore.v1.Key
+ * @instance
+ */
+ Key.prototype.partitionId = null;
+
+ /**
+ * Key path.
+ * @member {Array.} path
+ * @memberof google.datastore.v1.Key
+ * @instance
+ */
+ Key.prototype.path = $util.emptyArray;
+
+ /**
+ * Creates a new Key instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {google.datastore.v1.IKey=} [properties] Properties to set
+ * @returns {google.datastore.v1.Key} Key instance
+ */
+ Key.create = function create(properties) {
+ return new Key(properties);
+ };
+
+ /**
+ * Encodes the specified Key message. Does not implicitly {@link google.datastore.v1.Key.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {google.datastore.v1.IKey} message Key message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Key.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.partitionId != null && Object.hasOwnProperty.call(message, "partitionId"))
+ $root.google.datastore.v1.PartitionId.encode(message.partitionId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.path != null && message.path.length)
+ for (var i = 0; i < message.path.length; ++i)
+ $root.google.datastore.v1.Key.PathElement.encode(message.path[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Key message, length delimited. Does not implicitly {@link google.datastore.v1.Key.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {google.datastore.v1.IKey} message Key message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Key.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Key message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.Key} Key
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Key.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.Key();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.partitionId = $root.google.datastore.v1.PartitionId.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.path && message.path.length))
+ message.path = [];
+ message.path.push($root.google.datastore.v1.Key.PathElement.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Key message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.Key} Key
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Key.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Key message.
+ * @function verify
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Key.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.partitionId != null && message.hasOwnProperty("partitionId")) {
+ var error = $root.google.datastore.v1.PartitionId.verify(message.partitionId);
+ if (error)
+ return "partitionId." + error;
+ }
+ if (message.path != null && message.hasOwnProperty("path")) {
+ if (!Array.isArray(message.path))
+ return "path: array expected";
+ for (var i = 0; i < message.path.length; ++i) {
+ var error = $root.google.datastore.v1.Key.PathElement.verify(message.path[i]);
+ if (error)
+ return "path." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Key message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.Key} Key
+ */
+ Key.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.Key)
+ return object;
+ var message = new $root.google.datastore.v1.Key();
+ if (object.partitionId != null) {
+ if (typeof object.partitionId !== "object")
+ throw TypeError(".google.datastore.v1.Key.partitionId: object expected");
+ message.partitionId = $root.google.datastore.v1.PartitionId.fromObject(object.partitionId);
+ }
+ if (object.path) {
+ if (!Array.isArray(object.path))
+ throw TypeError(".google.datastore.v1.Key.path: array expected");
+ message.path = [];
+ for (var i = 0; i < object.path.length; ++i) {
+ if (typeof object.path[i] !== "object")
+ throw TypeError(".google.datastore.v1.Key.path: object expected");
+ message.path[i] = $root.google.datastore.v1.Key.PathElement.fromObject(object.path[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Key message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {google.datastore.v1.Key} message Key
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Key.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.path = [];
+ if (options.defaults)
+ object.partitionId = null;
+ if (message.partitionId != null && message.hasOwnProperty("partitionId"))
+ object.partitionId = $root.google.datastore.v1.PartitionId.toObject(message.partitionId, options);
+ if (message.path && message.path.length) {
+ object.path = [];
+ for (var j = 0; j < message.path.length; ++j)
+ object.path[j] = $root.google.datastore.v1.Key.PathElement.toObject(message.path[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Key to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.Key
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Key.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Key
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.Key
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Key.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.Key";
+ };
+
+ Key.PathElement = (function() {
+
+ /**
+ * Properties of a PathElement.
+ * @memberof google.datastore.v1.Key
+ * @interface IPathElement
+ * @property {string|null} [kind] PathElement kind
+ * @property {number|Long|null} [id] PathElement id
+ * @property {string|null} [name] PathElement name
+ */
+
+ /**
+ * Constructs a new PathElement.
+ * @memberof google.datastore.v1.Key
+ * @classdesc Represents a PathElement.
+ * @implements IPathElement
+ * @constructor
+ * @param {google.datastore.v1.Key.IPathElement=} [properties] Properties to set
+ */
+ function PathElement(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PathElement kind.
+ * @member {string} kind
+ * @memberof google.datastore.v1.Key.PathElement
+ * @instance
+ */
+ PathElement.prototype.kind = "";
+
+ /**
+ * PathElement id.
+ * @member {number|Long|null|undefined} id
+ * @memberof google.datastore.v1.Key.PathElement
+ * @instance
+ */
+ PathElement.prototype.id = null;
+
+ /**
+ * PathElement name.
+ * @member {string|null|undefined} name
+ * @memberof google.datastore.v1.Key.PathElement
+ * @instance
+ */
+ PathElement.prototype.name = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * PathElement idType.
+ * @member {"id"|"name"|undefined} idType
+ * @memberof google.datastore.v1.Key.PathElement
+ * @instance
+ */
+ Object.defineProperty(PathElement.prototype, "idType", {
+ get: $util.oneOfGetter($oneOfFields = ["id", "name"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new PathElement instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {google.datastore.v1.Key.IPathElement=} [properties] Properties to set
+ * @returns {google.datastore.v1.Key.PathElement} PathElement instance
+ */
+ PathElement.create = function create(properties) {
+ return new PathElement(properties);
+ };
+
+ /**
+ * Encodes the specified PathElement message. Does not implicitly {@link google.datastore.v1.Key.PathElement.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {google.datastore.v1.Key.IPathElement} message PathElement message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PathElement.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.kind != null && Object.hasOwnProperty.call(message, "kind"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind);
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.id);
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PathElement message, length delimited. Does not implicitly {@link google.datastore.v1.Key.PathElement.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {google.datastore.v1.Key.IPathElement} message PathElement message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PathElement.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PathElement message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.Key.PathElement} PathElement
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PathElement.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.Key.PathElement();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.kind = reader.string();
+ break;
+ }
+ case 2: {
+ message.id = reader.int64();
+ break;
+ }
+ case 3: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PathElement message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.Key.PathElement} PathElement
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PathElement.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PathElement message.
+ * @function verify
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PathElement.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ if (!$util.isString(message.kind))
+ return "kind: string expected";
+ if (message.id != null && message.hasOwnProperty("id")) {
+ properties.idType = 1;
+ if (!$util.isInteger(message.id) && !(message.id && $util.isInteger(message.id.low) && $util.isInteger(message.id.high)))
+ return "id: integer|Long expected";
+ }
+ if (message.name != null && message.hasOwnProperty("name")) {
+ if (properties.idType === 1)
+ return "idType: multiple values";
+ properties.idType = 1;
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PathElement message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.Key.PathElement} PathElement
+ */
+ PathElement.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.Key.PathElement)
+ return object;
+ var message = new $root.google.datastore.v1.Key.PathElement();
+ if (object.kind != null)
+ message.kind = String(object.kind);
+ if (object.id != null)
+ if ($util.Long)
+ (message.id = $util.Long.fromValue(object.id)).unsigned = false;
+ else if (typeof object.id === "string")
+ message.id = parseInt(object.id, 10);
+ else if (typeof object.id === "number")
+ message.id = object.id;
+ else if (typeof object.id === "object")
+ message.id = new $util.LongBits(object.id.low >>> 0, object.id.high >>> 0).toNumber();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PathElement message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {google.datastore.v1.Key.PathElement} message PathElement
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PathElement.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.kind = "";
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ object.kind = message.kind;
+ if (message.id != null && message.hasOwnProperty("id")) {
+ if (typeof message.id === "number")
+ object.id = options.longs === String ? String(message.id) : message.id;
+ else
+ object.id = options.longs === String ? $util.Long.prototype.toString.call(message.id) : options.longs === Number ? new $util.LongBits(message.id.low >>> 0, message.id.high >>> 0).toNumber() : message.id;
+ if (options.oneofs)
+ object.idType = "id";
+ }
+ if (message.name != null && message.hasOwnProperty("name")) {
+ object.name = message.name;
+ if (options.oneofs)
+ object.idType = "name";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this PathElement to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.Key.PathElement
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PathElement.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PathElement
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.Key.PathElement
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PathElement.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.Key.PathElement";
+ };
+
+ return PathElement;
+ })();
+
+ return Key;
+ })();
+
+ v1.ArrayValue = (function() {
+
+ /**
+ * Properties of an ArrayValue.
+ * @memberof google.datastore.v1
+ * @interface IArrayValue
+ * @property {Array.|null} [values] ArrayValue values
+ */
+
+ /**
+ * Constructs a new ArrayValue.
+ * @memberof google.datastore.v1
+ * @classdesc Represents an ArrayValue.
+ * @implements IArrayValue
+ * @constructor
+ * @param {google.datastore.v1.IArrayValue=} [properties] Properties to set
+ */
+ function ArrayValue(properties) {
+ this.values = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ArrayValue values.
+ * @member {Array.} values
+ * @memberof google.datastore.v1.ArrayValue
+ * @instance
+ */
+ ArrayValue.prototype.values = $util.emptyArray;
+
+ /**
+ * Creates a new ArrayValue instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {google.datastore.v1.IArrayValue=} [properties] Properties to set
+ * @returns {google.datastore.v1.ArrayValue} ArrayValue instance
+ */
+ ArrayValue.create = function create(properties) {
+ return new ArrayValue(properties);
+ };
+
+ /**
+ * Encodes the specified ArrayValue message. Does not implicitly {@link google.datastore.v1.ArrayValue.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {google.datastore.v1.IArrayValue} message ArrayValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ArrayValue.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.values != null && message.values.length)
+ for (var i = 0; i < message.values.length; ++i)
+ $root.google.datastore.v1.Value.encode(message.values[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ArrayValue message, length delimited. Does not implicitly {@link google.datastore.v1.ArrayValue.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {google.datastore.v1.IArrayValue} message ArrayValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ArrayValue.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ArrayValue message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.ArrayValue} ArrayValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ArrayValue.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.ArrayValue();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.values && message.values.length))
+ message.values = [];
+ message.values.push($root.google.datastore.v1.Value.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ArrayValue message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.ArrayValue} ArrayValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ArrayValue.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ArrayValue message.
+ * @function verify
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ArrayValue.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.values != null && message.hasOwnProperty("values")) {
+ if (!Array.isArray(message.values))
+ return "values: array expected";
+ for (var i = 0; i < message.values.length; ++i) {
+ var error = $root.google.datastore.v1.Value.verify(message.values[i]);
+ if (error)
+ return "values." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ArrayValue message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.ArrayValue} ArrayValue
+ */
+ ArrayValue.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.ArrayValue)
+ return object;
+ var message = new $root.google.datastore.v1.ArrayValue();
+ if (object.values) {
+ if (!Array.isArray(object.values))
+ throw TypeError(".google.datastore.v1.ArrayValue.values: array expected");
+ message.values = [];
+ for (var i = 0; i < object.values.length; ++i) {
+ if (typeof object.values[i] !== "object")
+ throw TypeError(".google.datastore.v1.ArrayValue.values: object expected");
+ message.values[i] = $root.google.datastore.v1.Value.fromObject(object.values[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ArrayValue message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {google.datastore.v1.ArrayValue} message ArrayValue
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ArrayValue.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.values = [];
+ if (message.values && message.values.length) {
+ object.values = [];
+ for (var j = 0; j < message.values.length; ++j)
+ object.values[j] = $root.google.datastore.v1.Value.toObject(message.values[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ArrayValue to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.ArrayValue
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ArrayValue.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ArrayValue
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.ArrayValue
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ArrayValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.ArrayValue";
+ };
+
+ return ArrayValue;
+ })();
+
+ v1.Value = (function() {
+
+ /**
+ * Properties of a Value.
+ * @memberof google.datastore.v1
+ * @interface IValue
+ * @property {google.protobuf.NullValue|null} [nullValue] Value nullValue
+ * @property {boolean|null} [booleanValue] Value booleanValue
+ * @property {number|Long|null} [integerValue] Value integerValue
+ * @property {number|null} [doubleValue] Value doubleValue
+ * @property {google.protobuf.ITimestamp|null} [timestampValue] Value timestampValue
+ * @property {google.datastore.v1.IKey|null} [keyValue] Value keyValue
+ * @property {string|null} [stringValue] Value stringValue
+ * @property {Uint8Array|null} [blobValue] Value blobValue
+ * @property {google.type.ILatLng|null} [geoPointValue] Value geoPointValue
+ * @property {google.datastore.v1.IEntity|null} [entityValue] Value entityValue
+ * @property {google.datastore.v1.IArrayValue|null} [arrayValue] Value arrayValue
+ * @property {number|null} [meaning] Value meaning
+ * @property {boolean|null} [excludeFromIndexes] Value excludeFromIndexes
+ */
+
+ /**
+ * Constructs a new Value.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a Value.
+ * @implements IValue
+ * @constructor
+ * @param {google.datastore.v1.IValue=} [properties] Properties to set
+ */
+ function Value(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Value nullValue.
+ * @member {google.protobuf.NullValue|null|undefined} nullValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.nullValue = null;
+
+ /**
+ * Value booleanValue.
+ * @member {boolean|null|undefined} booleanValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.booleanValue = null;
+
+ /**
+ * Value integerValue.
+ * @member {number|Long|null|undefined} integerValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.integerValue = null;
+
+ /**
+ * Value doubleValue.
+ * @member {number|null|undefined} doubleValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.doubleValue = null;
+
+ /**
+ * Value timestampValue.
+ * @member {google.protobuf.ITimestamp|null|undefined} timestampValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.timestampValue = null;
+
+ /**
+ * Value keyValue.
+ * @member {google.datastore.v1.IKey|null|undefined} keyValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.keyValue = null;
+
+ /**
+ * Value stringValue.
+ * @member {string|null|undefined} stringValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.stringValue = null;
+
+ /**
+ * Value blobValue.
+ * @member {Uint8Array|null|undefined} blobValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.blobValue = null;
+
+ /**
+ * Value geoPointValue.
+ * @member {google.type.ILatLng|null|undefined} geoPointValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.geoPointValue = null;
+
+ /**
+ * Value entityValue.
+ * @member {google.datastore.v1.IEntity|null|undefined} entityValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.entityValue = null;
+
+ /**
+ * Value arrayValue.
+ * @member {google.datastore.v1.IArrayValue|null|undefined} arrayValue
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.arrayValue = null;
+
+ /**
+ * Value meaning.
+ * @member {number} meaning
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.meaning = 0;
+
+ /**
+ * Value excludeFromIndexes.
+ * @member {boolean} excludeFromIndexes
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Value.prototype.excludeFromIndexes = false;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Value valueType.
+ * @member {"nullValue"|"booleanValue"|"integerValue"|"doubleValue"|"timestampValue"|"keyValue"|"stringValue"|"blobValue"|"geoPointValue"|"entityValue"|"arrayValue"|undefined} valueType
+ * @memberof google.datastore.v1.Value
+ * @instance
+ */
+ Object.defineProperty(Value.prototype, "valueType", {
+ get: $util.oneOfGetter($oneOfFields = ["nullValue", "booleanValue", "integerValue", "doubleValue", "timestampValue", "keyValue", "stringValue", "blobValue", "geoPointValue", "entityValue", "arrayValue"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {google.datastore.v1.IValue=} [properties] Properties to set
+ * @returns {google.datastore.v1.Value} Value instance
+ */
+ Value.create = function create(properties) {
+ return new Value(properties);
+ };
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.datastore.v1.Value.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {google.datastore.v1.IValue} message Value message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Value.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.booleanValue != null && Object.hasOwnProperty.call(message, "booleanValue"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.booleanValue);
+ if (message.integerValue != null && Object.hasOwnProperty.call(message, "integerValue"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.integerValue);
+ if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue"))
+ writer.uint32(/* id 3, wireType 1 =*/25).double(message.doubleValue);
+ if (message.keyValue != null && Object.hasOwnProperty.call(message, "keyValue"))
+ $root.google.datastore.v1.Key.encode(message.keyValue, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.entityValue != null && Object.hasOwnProperty.call(message, "entityValue"))
+ $root.google.datastore.v1.Entity.encode(message.entityValue, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.geoPointValue != null && Object.hasOwnProperty.call(message, "geoPointValue"))
+ $root.google.type.LatLng.encode(message.geoPointValue, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.arrayValue != null && Object.hasOwnProperty.call(message, "arrayValue"))
+ $root.google.datastore.v1.ArrayValue.encode(message.arrayValue, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.timestampValue != null && Object.hasOwnProperty.call(message, "timestampValue"))
+ $root.google.protobuf.Timestamp.encode(message.timestampValue, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.nullValue != null && Object.hasOwnProperty.call(message, "nullValue"))
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.nullValue);
+ if (message.meaning != null && Object.hasOwnProperty.call(message, "meaning"))
+ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.meaning);
+ if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
+ writer.uint32(/* id 17, wireType 2 =*/138).string(message.stringValue);
+ if (message.blobValue != null && Object.hasOwnProperty.call(message, "blobValue"))
+ writer.uint32(/* id 18, wireType 2 =*/146).bytes(message.blobValue);
+ if (message.excludeFromIndexes != null && Object.hasOwnProperty.call(message, "excludeFromIndexes"))
+ writer.uint32(/* id 19, wireType 0 =*/152).bool(message.excludeFromIndexes);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.datastore.v1.Value.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {google.datastore.v1.IValue} message Value message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Value.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.Value} Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Value.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.Value();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 11: {
+ message.nullValue = reader.int32();
+ break;
+ }
+ case 1: {
+ message.booleanValue = reader.bool();
+ break;
+ }
+ case 2: {
+ message.integerValue = reader.int64();
+ break;
+ }
+ case 3: {
+ message.doubleValue = reader.double();
+ break;
+ }
+ case 10: {
+ message.timestampValue = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.keyValue = $root.google.datastore.v1.Key.decode(reader, reader.uint32());
+ break;
+ }
+ case 17: {
+ message.stringValue = reader.string();
+ break;
+ }
+ case 18: {
+ message.blobValue = reader.bytes();
+ break;
+ }
+ case 8: {
+ message.geoPointValue = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.entityValue = $root.google.datastore.v1.Entity.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.arrayValue = $root.google.datastore.v1.ArrayValue.decode(reader, reader.uint32());
+ break;
+ }
+ case 14: {
+ message.meaning = reader.int32();
+ break;
+ }
+ case 19: {
+ message.excludeFromIndexes = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.Value} Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Value.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Value message.
+ * @function verify
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Value.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.nullValue != null && message.hasOwnProperty("nullValue")) {
+ properties.valueType = 1;
+ switch (message.nullValue) {
+ default:
+ return "nullValue: enum value expected";
+ case 0:
+ break;
+ }
+ }
+ if (message.booleanValue != null && message.hasOwnProperty("booleanValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ if (typeof message.booleanValue !== "boolean")
+ return "booleanValue: boolean expected";
+ }
+ if (message.integerValue != null && message.hasOwnProperty("integerValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ if (!$util.isInteger(message.integerValue) && !(message.integerValue && $util.isInteger(message.integerValue.low) && $util.isInteger(message.integerValue.high)))
+ return "integerValue: integer|Long expected";
+ }
+ if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ if (typeof message.doubleValue !== "number")
+ return "doubleValue: number expected";
+ }
+ if (message.timestampValue != null && message.hasOwnProperty("timestampValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ {
+ var error = $root.google.protobuf.Timestamp.verify(message.timestampValue);
+ if (error)
+ return "timestampValue." + error;
+ }
+ }
+ if (message.keyValue != null && message.hasOwnProperty("keyValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ {
+ var error = $root.google.datastore.v1.Key.verify(message.keyValue);
+ if (error)
+ return "keyValue." + error;
+ }
+ }
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ if (!$util.isString(message.stringValue))
+ return "stringValue: string expected";
+ }
+ if (message.blobValue != null && message.hasOwnProperty("blobValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ if (!(message.blobValue && typeof message.blobValue.length === "number" || $util.isString(message.blobValue)))
+ return "blobValue: buffer expected";
+ }
+ if (message.geoPointValue != null && message.hasOwnProperty("geoPointValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ {
+ var error = $root.google.type.LatLng.verify(message.geoPointValue);
+ if (error)
+ return "geoPointValue." + error;
+ }
+ }
+ if (message.entityValue != null && message.hasOwnProperty("entityValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ {
+ var error = $root.google.datastore.v1.Entity.verify(message.entityValue);
+ if (error)
+ return "entityValue." + error;
+ }
+ }
+ if (message.arrayValue != null && message.hasOwnProperty("arrayValue")) {
+ if (properties.valueType === 1)
+ return "valueType: multiple values";
+ properties.valueType = 1;
+ {
+ var error = $root.google.datastore.v1.ArrayValue.verify(message.arrayValue);
+ if (error)
+ return "arrayValue." + error;
+ }
+ }
+ if (message.meaning != null && message.hasOwnProperty("meaning"))
+ if (!$util.isInteger(message.meaning))
+ return "meaning: integer expected";
+ if (message.excludeFromIndexes != null && message.hasOwnProperty("excludeFromIndexes"))
+ if (typeof message.excludeFromIndexes !== "boolean")
+ return "excludeFromIndexes: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Value message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.Value} Value
+ */
+ Value.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.Value)
+ return object;
+ var message = new $root.google.datastore.v1.Value();
+ switch (object.nullValue) {
+ default:
+ if (typeof object.nullValue === "number") {
+ message.nullValue = object.nullValue;
+ break;
+ }
+ break;
+ case "NULL_VALUE":
+ case 0:
+ message.nullValue = 0;
+ break;
+ }
+ if (object.booleanValue != null)
+ message.booleanValue = Boolean(object.booleanValue);
+ if (object.integerValue != null)
+ if ($util.Long)
+ (message.integerValue = $util.Long.fromValue(object.integerValue)).unsigned = false;
+ else if (typeof object.integerValue === "string")
+ message.integerValue = parseInt(object.integerValue, 10);
+ else if (typeof object.integerValue === "number")
+ message.integerValue = object.integerValue;
+ else if (typeof object.integerValue === "object")
+ message.integerValue = new $util.LongBits(object.integerValue.low >>> 0, object.integerValue.high >>> 0).toNumber();
+ if (object.doubleValue != null)
+ message.doubleValue = Number(object.doubleValue);
+ if (object.timestampValue != null) {
+ if (typeof object.timestampValue !== "object")
+ throw TypeError(".google.datastore.v1.Value.timestampValue: object expected");
+ message.timestampValue = $root.google.protobuf.Timestamp.fromObject(object.timestampValue);
+ }
+ if (object.keyValue != null) {
+ if (typeof object.keyValue !== "object")
+ throw TypeError(".google.datastore.v1.Value.keyValue: object expected");
+ message.keyValue = $root.google.datastore.v1.Key.fromObject(object.keyValue);
+ }
+ if (object.stringValue != null)
+ message.stringValue = String(object.stringValue);
+ if (object.blobValue != null)
+ if (typeof object.blobValue === "string")
+ $util.base64.decode(object.blobValue, message.blobValue = $util.newBuffer($util.base64.length(object.blobValue)), 0);
+ else if (object.blobValue.length >= 0)
+ message.blobValue = object.blobValue;
+ if (object.geoPointValue != null) {
+ if (typeof object.geoPointValue !== "object")
+ throw TypeError(".google.datastore.v1.Value.geoPointValue: object expected");
+ message.geoPointValue = $root.google.type.LatLng.fromObject(object.geoPointValue);
+ }
+ if (object.entityValue != null) {
+ if (typeof object.entityValue !== "object")
+ throw TypeError(".google.datastore.v1.Value.entityValue: object expected");
+ message.entityValue = $root.google.datastore.v1.Entity.fromObject(object.entityValue);
+ }
+ if (object.arrayValue != null) {
+ if (typeof object.arrayValue !== "object")
+ throw TypeError(".google.datastore.v1.Value.arrayValue: object expected");
+ message.arrayValue = $root.google.datastore.v1.ArrayValue.fromObject(object.arrayValue);
+ }
+ if (object.meaning != null)
+ message.meaning = object.meaning | 0;
+ if (object.excludeFromIndexes != null)
+ message.excludeFromIndexes = Boolean(object.excludeFromIndexes);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {google.datastore.v1.Value} message Value
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Value.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.meaning = 0;
+ object.excludeFromIndexes = false;
+ }
+ if (message.booleanValue != null && message.hasOwnProperty("booleanValue")) {
+ object.booleanValue = message.booleanValue;
+ if (options.oneofs)
+ object.valueType = "booleanValue";
+ }
+ if (message.integerValue != null && message.hasOwnProperty("integerValue")) {
+ if (typeof message.integerValue === "number")
+ object.integerValue = options.longs === String ? String(message.integerValue) : message.integerValue;
+ else
+ object.integerValue = options.longs === String ? $util.Long.prototype.toString.call(message.integerValue) : options.longs === Number ? new $util.LongBits(message.integerValue.low >>> 0, message.integerValue.high >>> 0).toNumber() : message.integerValue;
+ if (options.oneofs)
+ object.valueType = "integerValue";
+ }
+ if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
+ object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue;
+ if (options.oneofs)
+ object.valueType = "doubleValue";
+ }
+ if (message.keyValue != null && message.hasOwnProperty("keyValue")) {
+ object.keyValue = $root.google.datastore.v1.Key.toObject(message.keyValue, options);
+ if (options.oneofs)
+ object.valueType = "keyValue";
+ }
+ if (message.entityValue != null && message.hasOwnProperty("entityValue")) {
+ object.entityValue = $root.google.datastore.v1.Entity.toObject(message.entityValue, options);
+ if (options.oneofs)
+ object.valueType = "entityValue";
+ }
+ if (message.geoPointValue != null && message.hasOwnProperty("geoPointValue")) {
+ object.geoPointValue = $root.google.type.LatLng.toObject(message.geoPointValue, options);
+ if (options.oneofs)
+ object.valueType = "geoPointValue";
+ }
+ if (message.arrayValue != null && message.hasOwnProperty("arrayValue")) {
+ object.arrayValue = $root.google.datastore.v1.ArrayValue.toObject(message.arrayValue, options);
+ if (options.oneofs)
+ object.valueType = "arrayValue";
+ }
+ if (message.timestampValue != null && message.hasOwnProperty("timestampValue")) {
+ object.timestampValue = $root.google.protobuf.Timestamp.toObject(message.timestampValue, options);
+ if (options.oneofs)
+ object.valueType = "timestampValue";
+ }
+ if (message.nullValue != null && message.hasOwnProperty("nullValue")) {
+ object.nullValue = options.enums === String ? $root.google.protobuf.NullValue[message.nullValue] === undefined ? message.nullValue : $root.google.protobuf.NullValue[message.nullValue] : message.nullValue;
+ if (options.oneofs)
+ object.valueType = "nullValue";
+ }
+ if (message.meaning != null && message.hasOwnProperty("meaning"))
+ object.meaning = message.meaning;
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ object.stringValue = message.stringValue;
+ if (options.oneofs)
+ object.valueType = "stringValue";
+ }
+ if (message.blobValue != null && message.hasOwnProperty("blobValue")) {
+ object.blobValue = options.bytes === String ? $util.base64.encode(message.blobValue, 0, message.blobValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.blobValue) : message.blobValue;
+ if (options.oneofs)
+ object.valueType = "blobValue";
+ }
+ if (message.excludeFromIndexes != null && message.hasOwnProperty("excludeFromIndexes"))
+ object.excludeFromIndexes = message.excludeFromIndexes;
+ return object;
+ };
+
+ /**
+ * Converts this Value to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.Value
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Value.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Value
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.Value
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Value.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.Value";
+ };
+
+ return Value;
+ })();
+
+ v1.Entity = (function() {
+
+ /**
+ * Properties of an Entity.
+ * @memberof google.datastore.v1
+ * @interface IEntity
+ * @property {google.datastore.v1.IKey|null} [key] Entity key
+ * @property {Object.|null} [properties] Entity properties
+ */
+
+ /**
+ * Constructs a new Entity.
+ * @memberof google.datastore.v1
+ * @classdesc Represents an Entity.
+ * @implements IEntity
+ * @constructor
+ * @param {google.datastore.v1.IEntity=} [properties] Properties to set
+ */
+ function Entity(properties) {
+ this.properties = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Entity key.
+ * @member {google.datastore.v1.IKey|null|undefined} key
+ * @memberof google.datastore.v1.Entity
+ * @instance
+ */
+ Entity.prototype.key = null;
+
+ /**
+ * Entity properties.
+ * @member {Object.} properties
+ * @memberof google.datastore.v1.Entity
+ * @instance
+ */
+ Entity.prototype.properties = $util.emptyObject;
+
+ /**
+ * Creates a new Entity instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {google.datastore.v1.IEntity=} [properties] Properties to set
+ * @returns {google.datastore.v1.Entity} Entity instance
+ */
+ Entity.create = function create(properties) {
+ return new Entity(properties);
+ };
+
+ /**
+ * Encodes the specified Entity message. Does not implicitly {@link google.datastore.v1.Entity.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {google.datastore.v1.IEntity} message Entity message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Entity.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.key != null && Object.hasOwnProperty.call(message, "key"))
+ $root.google.datastore.v1.Key.encode(message.key, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.properties != null && Object.hasOwnProperty.call(message, "properties"))
+ for (var keys = Object.keys(message.properties), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.datastore.v1.Value.encode(message.properties[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.datastore.v1.Entity.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {google.datastore.v1.IEntity} message Entity message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Entity.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.Entity} Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Entity.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.Entity(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.key = $root.google.datastore.v1.Key.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (message.properties === $util.emptyObject)
+ message.properties = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.datastore.v1.Value.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.properties[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.Entity} Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Entity.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Entity message.
+ * @function verify
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Entity.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.key != null && message.hasOwnProperty("key")) {
+ var error = $root.google.datastore.v1.Key.verify(message.key);
+ if (error)
+ return "key." + error;
+ }
+ if (message.properties != null && message.hasOwnProperty("properties")) {
+ if (!$util.isObject(message.properties))
+ return "properties: object expected";
+ var key = Object.keys(message.properties);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.datastore.v1.Value.verify(message.properties[key[i]]);
+ if (error)
+ return "properties." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Entity message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.Entity} Entity
+ */
+ Entity.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.Entity)
+ return object;
+ var message = new $root.google.datastore.v1.Entity();
+ if (object.key != null) {
+ if (typeof object.key !== "object")
+ throw TypeError(".google.datastore.v1.Entity.key: object expected");
+ message.key = $root.google.datastore.v1.Key.fromObject(object.key);
+ }
+ if (object.properties) {
+ if (typeof object.properties !== "object")
+ throw TypeError(".google.datastore.v1.Entity.properties: object expected");
+ message.properties = {};
+ for (var keys = Object.keys(object.properties), i = 0; i < keys.length; ++i) {
+ if (typeof object.properties[keys[i]] !== "object")
+ throw TypeError(".google.datastore.v1.Entity.properties: object expected");
+ message.properties[keys[i]] = $root.google.datastore.v1.Value.fromObject(object.properties[keys[i]]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Entity message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {google.datastore.v1.Entity} message Entity
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Entity.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.properties = {};
+ if (options.defaults)
+ object.key = null;
+ if (message.key != null && message.hasOwnProperty("key"))
+ object.key = $root.google.datastore.v1.Key.toObject(message.key, options);
+ var keys2;
+ if (message.properties && (keys2 = Object.keys(message.properties)).length) {
+ object.properties = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.properties[keys2[j]] = $root.google.datastore.v1.Value.toObject(message.properties[keys2[j]], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Entity to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.Entity
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Entity.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Entity
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.Entity
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Entity.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.Entity";
+ };
+
+ return Entity;
+ })();
+
+ v1.EntityResult = (function() {
+
+ /**
+ * Properties of an EntityResult.
+ * @memberof google.datastore.v1
+ * @interface IEntityResult
+ * @property {google.datastore.v1.IEntity|null} [entity] EntityResult entity
+ * @property {number|Long|null} [version] EntityResult version
+ * @property {google.protobuf.ITimestamp|null} [createTime] EntityResult createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] EntityResult updateTime
+ * @property {Uint8Array|null} [cursor] EntityResult cursor
+ */
+
+ /**
+ * Constructs a new EntityResult.
+ * @memberof google.datastore.v1
+ * @classdesc Represents an EntityResult.
+ * @implements IEntityResult
+ * @constructor
+ * @param {google.datastore.v1.IEntityResult=} [properties] Properties to set
+ */
+ function EntityResult(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * EntityResult entity.
+ * @member {google.datastore.v1.IEntity|null|undefined} entity
+ * @memberof google.datastore.v1.EntityResult
+ * @instance
+ */
+ EntityResult.prototype.entity = null;
+
+ /**
+ * EntityResult version.
+ * @member {number|Long} version
+ * @memberof google.datastore.v1.EntityResult
+ * @instance
+ */
+ EntityResult.prototype.version = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * EntityResult createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.datastore.v1.EntityResult
+ * @instance
+ */
+ EntityResult.prototype.createTime = null;
+
+ /**
+ * EntityResult updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.datastore.v1.EntityResult
+ * @instance
+ */
+ EntityResult.prototype.updateTime = null;
+
+ /**
+ * EntityResult cursor.
+ * @member {Uint8Array} cursor
+ * @memberof google.datastore.v1.EntityResult
+ * @instance
+ */
+ EntityResult.prototype.cursor = $util.newBuffer([]);
+
+ /**
+ * Creates a new EntityResult instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {google.datastore.v1.IEntityResult=} [properties] Properties to set
+ * @returns {google.datastore.v1.EntityResult} EntityResult instance
+ */
+ EntityResult.create = function create(properties) {
+ return new EntityResult(properties);
+ };
+
+ /**
+ * Encodes the specified EntityResult message. Does not implicitly {@link google.datastore.v1.EntityResult.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {google.datastore.v1.IEntityResult} message EntityResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EntityResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.entity != null && Object.hasOwnProperty.call(message, "entity"))
+ $root.google.datastore.v1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.cursor != null && Object.hasOwnProperty.call(message, "cursor"))
+ writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.cursor);
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int64(message.version);
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EntityResult message, length delimited. Does not implicitly {@link google.datastore.v1.EntityResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {google.datastore.v1.IEntityResult} message EntityResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EntityResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EntityResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.EntityResult} EntityResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EntityResult.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.EntityResult();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.entity = $root.google.datastore.v1.Entity.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.version = reader.int64();
+ break;
+ }
+ case 6: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.cursor = reader.bytes();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EntityResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.EntityResult} EntityResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EntityResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EntityResult message.
+ * @function verify
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EntityResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.entity != null && message.hasOwnProperty("entity")) {
+ var error = $root.google.datastore.v1.Entity.verify(message.entity);
+ if (error)
+ return "entity." + error;
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isInteger(message.version) && !(message.version && $util.isInteger(message.version.low) && $util.isInteger(message.version.high)))
+ return "version: integer|Long expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.cursor != null && message.hasOwnProperty("cursor"))
+ if (!(message.cursor && typeof message.cursor.length === "number" || $util.isString(message.cursor)))
+ return "cursor: buffer expected";
+ return null;
+ };
+
+ /**
+ * Creates an EntityResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.EntityResult} EntityResult
+ */
+ EntityResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.EntityResult)
+ return object;
+ var message = new $root.google.datastore.v1.EntityResult();
+ if (object.entity != null) {
+ if (typeof object.entity !== "object")
+ throw TypeError(".google.datastore.v1.EntityResult.entity: object expected");
+ message.entity = $root.google.datastore.v1.Entity.fromObject(object.entity);
+ }
+ if (object.version != null)
+ if ($util.Long)
+ (message.version = $util.Long.fromValue(object.version)).unsigned = false;
+ else if (typeof object.version === "string")
+ message.version = parseInt(object.version, 10);
+ else if (typeof object.version === "number")
+ message.version = object.version;
+ else if (typeof object.version === "object")
+ message.version = new $util.LongBits(object.version.low >>> 0, object.version.high >>> 0).toNumber();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.datastore.v1.EntityResult.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.datastore.v1.EntityResult.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.cursor != null)
+ if (typeof object.cursor === "string")
+ $util.base64.decode(object.cursor, message.cursor = $util.newBuffer($util.base64.length(object.cursor)), 0);
+ else if (object.cursor.length >= 0)
+ message.cursor = object.cursor;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EntityResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {google.datastore.v1.EntityResult} message EntityResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EntityResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.entity = null;
+ if (options.bytes === String)
+ object.cursor = "";
+ else {
+ object.cursor = [];
+ if (options.bytes !== Array)
+ object.cursor = $util.newBuffer(object.cursor);
+ }
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.version = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.version = options.longs === String ? "0" : 0;
+ object.updateTime = null;
+ object.createTime = null;
+ }
+ if (message.entity != null && message.hasOwnProperty("entity"))
+ object.entity = $root.google.datastore.v1.Entity.toObject(message.entity, options);
+ if (message.cursor != null && message.hasOwnProperty("cursor"))
+ object.cursor = options.bytes === String ? $util.base64.encode(message.cursor, 0, message.cursor.length) : options.bytes === Array ? Array.prototype.slice.call(message.cursor) : message.cursor;
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (typeof message.version === "number")
+ object.version = options.longs === String ? String(message.version) : message.version;
+ else
+ object.version = options.longs === String ? $util.Long.prototype.toString.call(message.version) : options.longs === Number ? new $util.LongBits(message.version.low >>> 0, message.version.high >>> 0).toNumber() : message.version;
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this EntityResult to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.EntityResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EntityResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EntityResult
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.EntityResult
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EntityResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.EntityResult";
+ };
+
+ /**
+ * ResultType enum.
+ * @name google.datastore.v1.EntityResult.ResultType
+ * @enum {number}
+ * @property {number} RESULT_TYPE_UNSPECIFIED=0 RESULT_TYPE_UNSPECIFIED value
+ * @property {number} FULL=1 FULL value
+ * @property {number} PROJECTION=2 PROJECTION value
+ * @property {number} KEY_ONLY=3 KEY_ONLY value
+ */
+ EntityResult.ResultType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "RESULT_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "FULL"] = 1;
+ values[valuesById[2] = "PROJECTION"] = 2;
+ values[valuesById[3] = "KEY_ONLY"] = 3;
+ return values;
+ })();
+
+ return EntityResult;
+ })();
+
+ v1.Query = (function() {
+
+ /**
+ * Properties of a Query.
+ * @memberof google.datastore.v1
+ * @interface IQuery
+ * @property {Array.|null} [projection] Query projection
+ * @property {Array.|null} [kind] Query kind
+ * @property {google.datastore.v1.IFilter|null} [filter] Query filter
+ * @property {Array.|null} [order] Query order
+ * @property {Array.|null} [distinctOn] Query distinctOn
+ * @property {Uint8Array|null} [startCursor] Query startCursor
+ * @property {Uint8Array|null} [endCursor] Query endCursor
+ * @property {number|null} [offset] Query offset
+ * @property {google.protobuf.IInt32Value|null} [limit] Query limit
+ * @property {google.datastore.v1.IFindNearest|null} [findNearest] Query findNearest
+ */
+
+ /**
+ * Constructs a new Query.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a Query.
+ * @implements IQuery
+ * @constructor
+ * @param {google.datastore.v1.IQuery=} [properties] Properties to set
+ */
+ function Query(properties) {
+ this.projection = [];
+ this.kind = [];
+ this.order = [];
+ this.distinctOn = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Query projection.
+ * @member {Array.} projection
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.projection = $util.emptyArray;
+
+ /**
+ * Query kind.
+ * @member {Array.} kind
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.kind = $util.emptyArray;
+
+ /**
+ * Query filter.
+ * @member {google.datastore.v1.IFilter|null|undefined} filter
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.filter = null;
+
+ /**
+ * Query order.
+ * @member {Array.} order
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.order = $util.emptyArray;
+
+ /**
+ * Query distinctOn.
+ * @member {Array.} distinctOn
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.distinctOn = $util.emptyArray;
+
+ /**
+ * Query startCursor.
+ * @member {Uint8Array} startCursor
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.startCursor = $util.newBuffer([]);
+
+ /**
+ * Query endCursor.
+ * @member {Uint8Array} endCursor
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.endCursor = $util.newBuffer([]);
+
+ /**
+ * Query offset.
+ * @member {number} offset
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.offset = 0;
+
+ /**
+ * Query limit.
+ * @member {google.protobuf.IInt32Value|null|undefined} limit
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.limit = null;
+
+ /**
+ * Query findNearest.
+ * @member {google.datastore.v1.IFindNearest|null|undefined} findNearest
+ * @memberof google.datastore.v1.Query
+ * @instance
+ */
+ Query.prototype.findNearest = null;
+
+ /**
+ * Creates a new Query instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {google.datastore.v1.IQuery=} [properties] Properties to set
+ * @returns {google.datastore.v1.Query} Query instance
+ */
+ Query.create = function create(properties) {
+ return new Query(properties);
+ };
+
+ /**
+ * Encodes the specified Query message. Does not implicitly {@link google.datastore.v1.Query.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {google.datastore.v1.IQuery} message Query message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Query.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.projection != null && message.projection.length)
+ for (var i = 0; i < message.projection.length; ++i)
+ $root.google.datastore.v1.Projection.encode(message.projection[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.kind != null && message.kind.length)
+ for (var i = 0; i < message.kind.length; ++i)
+ $root.google.datastore.v1.KindExpression.encode(message.kind[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ $root.google.datastore.v1.Filter.encode(message.filter, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.order != null && message.order.length)
+ for (var i = 0; i < message.order.length; ++i)
+ $root.google.datastore.v1.PropertyOrder.encode(message.order[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.distinctOn != null && message.distinctOn.length)
+ for (var i = 0; i < message.distinctOn.length; ++i)
+ $root.google.datastore.v1.PropertyReference.encode(message.distinctOn[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.startCursor != null && Object.hasOwnProperty.call(message, "startCursor"))
+ writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.startCursor);
+ if (message.endCursor != null && Object.hasOwnProperty.call(message, "endCursor"))
+ writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.endCursor);
+ if (message.offset != null && Object.hasOwnProperty.call(message, "offset"))
+ writer.uint32(/* id 10, wireType 0 =*/80).int32(message.offset);
+ if (message.limit != null && Object.hasOwnProperty.call(message, "limit"))
+ $root.google.protobuf.Int32Value.encode(message.limit, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.findNearest != null && Object.hasOwnProperty.call(message, "findNearest"))
+ $root.google.datastore.v1.FindNearest.encode(message.findNearest, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Query message, length delimited. Does not implicitly {@link google.datastore.v1.Query.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {google.datastore.v1.IQuery} message Query message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Query.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Query message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.Query} Query
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Query.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.Query();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ if (!(message.projection && message.projection.length))
+ message.projection = [];
+ message.projection.push($root.google.datastore.v1.Projection.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.kind && message.kind.length))
+ message.kind = [];
+ message.kind.push($root.google.datastore.v1.KindExpression.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ message.filter = $root.google.datastore.v1.Filter.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ if (!(message.order && message.order.length))
+ message.order = [];
+ message.order.push($root.google.datastore.v1.PropertyOrder.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.distinctOn && message.distinctOn.length))
+ message.distinctOn = [];
+ message.distinctOn.push($root.google.datastore.v1.PropertyReference.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ message.startCursor = reader.bytes();
+ break;
+ }
+ case 8: {
+ message.endCursor = reader.bytes();
+ break;
+ }
+ case 10: {
+ message.offset = reader.int32();
+ break;
+ }
+ case 12: {
+ message.limit = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.findNearest = $root.google.datastore.v1.FindNearest.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Query message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.Query} Query
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Query.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Query message.
+ * @function verify
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Query.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.projection != null && message.hasOwnProperty("projection")) {
+ if (!Array.isArray(message.projection))
+ return "projection: array expected";
+ for (var i = 0; i < message.projection.length; ++i) {
+ var error = $root.google.datastore.v1.Projection.verify(message.projection[i]);
+ if (error)
+ return "projection." + error;
+ }
+ }
+ if (message.kind != null && message.hasOwnProperty("kind")) {
+ if (!Array.isArray(message.kind))
+ return "kind: array expected";
+ for (var i = 0; i < message.kind.length; ++i) {
+ var error = $root.google.datastore.v1.KindExpression.verify(message.kind[i]);
+ if (error)
+ return "kind." + error;
+ }
+ }
+ if (message.filter != null && message.hasOwnProperty("filter")) {
+ var error = $root.google.datastore.v1.Filter.verify(message.filter);
+ if (error)
+ return "filter." + error;
+ }
+ if (message.order != null && message.hasOwnProperty("order")) {
+ if (!Array.isArray(message.order))
+ return "order: array expected";
+ for (var i = 0; i < message.order.length; ++i) {
+ var error = $root.google.datastore.v1.PropertyOrder.verify(message.order[i]);
+ if (error)
+ return "order." + error;
+ }
+ }
+ if (message.distinctOn != null && message.hasOwnProperty("distinctOn")) {
+ if (!Array.isArray(message.distinctOn))
+ return "distinctOn: array expected";
+ for (var i = 0; i < message.distinctOn.length; ++i) {
+ var error = $root.google.datastore.v1.PropertyReference.verify(message.distinctOn[i]);
+ if (error)
+ return "distinctOn." + error;
+ }
+ }
+ if (message.startCursor != null && message.hasOwnProperty("startCursor"))
+ if (!(message.startCursor && typeof message.startCursor.length === "number" || $util.isString(message.startCursor)))
+ return "startCursor: buffer expected";
+ if (message.endCursor != null && message.hasOwnProperty("endCursor"))
+ if (!(message.endCursor && typeof message.endCursor.length === "number" || $util.isString(message.endCursor)))
+ return "endCursor: buffer expected";
+ if (message.offset != null && message.hasOwnProperty("offset"))
+ if (!$util.isInteger(message.offset))
+ return "offset: integer expected";
+ if (message.limit != null && message.hasOwnProperty("limit")) {
+ var error = $root.google.protobuf.Int32Value.verify(message.limit);
+ if (error)
+ return "limit." + error;
+ }
+ if (message.findNearest != null && message.hasOwnProperty("findNearest")) {
+ var error = $root.google.datastore.v1.FindNearest.verify(message.findNearest);
+ if (error)
+ return "findNearest." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Query message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.Query} Query
+ */
+ Query.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.Query)
+ return object;
+ var message = new $root.google.datastore.v1.Query();
+ if (object.projection) {
+ if (!Array.isArray(object.projection))
+ throw TypeError(".google.datastore.v1.Query.projection: array expected");
+ message.projection = [];
+ for (var i = 0; i < object.projection.length; ++i) {
+ if (typeof object.projection[i] !== "object")
+ throw TypeError(".google.datastore.v1.Query.projection: object expected");
+ message.projection[i] = $root.google.datastore.v1.Projection.fromObject(object.projection[i]);
+ }
+ }
+ if (object.kind) {
+ if (!Array.isArray(object.kind))
+ throw TypeError(".google.datastore.v1.Query.kind: array expected");
+ message.kind = [];
+ for (var i = 0; i < object.kind.length; ++i) {
+ if (typeof object.kind[i] !== "object")
+ throw TypeError(".google.datastore.v1.Query.kind: object expected");
+ message.kind[i] = $root.google.datastore.v1.KindExpression.fromObject(object.kind[i]);
+ }
+ }
+ if (object.filter != null) {
+ if (typeof object.filter !== "object")
+ throw TypeError(".google.datastore.v1.Query.filter: object expected");
+ message.filter = $root.google.datastore.v1.Filter.fromObject(object.filter);
+ }
+ if (object.order) {
+ if (!Array.isArray(object.order))
+ throw TypeError(".google.datastore.v1.Query.order: array expected");
+ message.order = [];
+ for (var i = 0; i < object.order.length; ++i) {
+ if (typeof object.order[i] !== "object")
+ throw TypeError(".google.datastore.v1.Query.order: object expected");
+ message.order[i] = $root.google.datastore.v1.PropertyOrder.fromObject(object.order[i]);
+ }
+ }
+ if (object.distinctOn) {
+ if (!Array.isArray(object.distinctOn))
+ throw TypeError(".google.datastore.v1.Query.distinctOn: array expected");
+ message.distinctOn = [];
+ for (var i = 0; i < object.distinctOn.length; ++i) {
+ if (typeof object.distinctOn[i] !== "object")
+ throw TypeError(".google.datastore.v1.Query.distinctOn: object expected");
+ message.distinctOn[i] = $root.google.datastore.v1.PropertyReference.fromObject(object.distinctOn[i]);
+ }
+ }
+ if (object.startCursor != null)
+ if (typeof object.startCursor === "string")
+ $util.base64.decode(object.startCursor, message.startCursor = $util.newBuffer($util.base64.length(object.startCursor)), 0);
+ else if (object.startCursor.length >= 0)
+ message.startCursor = object.startCursor;
+ if (object.endCursor != null)
+ if (typeof object.endCursor === "string")
+ $util.base64.decode(object.endCursor, message.endCursor = $util.newBuffer($util.base64.length(object.endCursor)), 0);
+ else if (object.endCursor.length >= 0)
+ message.endCursor = object.endCursor;
+ if (object.offset != null)
+ message.offset = object.offset | 0;
+ if (object.limit != null) {
+ if (typeof object.limit !== "object")
+ throw TypeError(".google.datastore.v1.Query.limit: object expected");
+ message.limit = $root.google.protobuf.Int32Value.fromObject(object.limit);
+ }
+ if (object.findNearest != null) {
+ if (typeof object.findNearest !== "object")
+ throw TypeError(".google.datastore.v1.Query.findNearest: object expected");
+ message.findNearest = $root.google.datastore.v1.FindNearest.fromObject(object.findNearest);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Query message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {google.datastore.v1.Query} message Query
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Query.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.projection = [];
+ object.kind = [];
+ object.order = [];
+ object.distinctOn = [];
+ }
+ if (options.defaults) {
+ object.filter = null;
+ if (options.bytes === String)
+ object.startCursor = "";
+ else {
+ object.startCursor = [];
+ if (options.bytes !== Array)
+ object.startCursor = $util.newBuffer(object.startCursor);
+ }
+ if (options.bytes === String)
+ object.endCursor = "";
+ else {
+ object.endCursor = [];
+ if (options.bytes !== Array)
+ object.endCursor = $util.newBuffer(object.endCursor);
+ }
+ object.offset = 0;
+ object.limit = null;
+ object.findNearest = null;
+ }
+ if (message.projection && message.projection.length) {
+ object.projection = [];
+ for (var j = 0; j < message.projection.length; ++j)
+ object.projection[j] = $root.google.datastore.v1.Projection.toObject(message.projection[j], options);
+ }
+ if (message.kind && message.kind.length) {
+ object.kind = [];
+ for (var j = 0; j < message.kind.length; ++j)
+ object.kind[j] = $root.google.datastore.v1.KindExpression.toObject(message.kind[j], options);
+ }
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = $root.google.datastore.v1.Filter.toObject(message.filter, options);
+ if (message.order && message.order.length) {
+ object.order = [];
+ for (var j = 0; j < message.order.length; ++j)
+ object.order[j] = $root.google.datastore.v1.PropertyOrder.toObject(message.order[j], options);
+ }
+ if (message.distinctOn && message.distinctOn.length) {
+ object.distinctOn = [];
+ for (var j = 0; j < message.distinctOn.length; ++j)
+ object.distinctOn[j] = $root.google.datastore.v1.PropertyReference.toObject(message.distinctOn[j], options);
+ }
+ if (message.startCursor != null && message.hasOwnProperty("startCursor"))
+ object.startCursor = options.bytes === String ? $util.base64.encode(message.startCursor, 0, message.startCursor.length) : options.bytes === Array ? Array.prototype.slice.call(message.startCursor) : message.startCursor;
+ if (message.endCursor != null && message.hasOwnProperty("endCursor"))
+ object.endCursor = options.bytes === String ? $util.base64.encode(message.endCursor, 0, message.endCursor.length) : options.bytes === Array ? Array.prototype.slice.call(message.endCursor) : message.endCursor;
+ if (message.offset != null && message.hasOwnProperty("offset"))
+ object.offset = message.offset;
+ if (message.limit != null && message.hasOwnProperty("limit"))
+ object.limit = $root.google.protobuf.Int32Value.toObject(message.limit, options);
+ if (message.findNearest != null && message.hasOwnProperty("findNearest"))
+ object.findNearest = $root.google.datastore.v1.FindNearest.toObject(message.findNearest, options);
+ return object;
+ };
+
+ /**
+ * Converts this Query to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.Query
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Query.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Query
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.Query
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Query.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.Query";
+ };
+
+ return Query;
+ })();
+
+ v1.AggregationQuery = (function() {
+
+ /**
+ * Properties of an AggregationQuery.
+ * @memberof google.datastore.v1
+ * @interface IAggregationQuery
+ * @property {google.datastore.v1.IQuery|null} [nestedQuery] AggregationQuery nestedQuery
+ * @property {Array.|null} [aggregations] AggregationQuery aggregations
+ */
+
+ /**
+ * Constructs a new AggregationQuery.
+ * @memberof google.datastore.v1
+ * @classdesc Represents an AggregationQuery.
+ * @implements IAggregationQuery
+ * @constructor
+ * @param {google.datastore.v1.IAggregationQuery=} [properties] Properties to set
+ */
+ function AggregationQuery(properties) {
+ this.aggregations = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AggregationQuery nestedQuery.
+ * @member {google.datastore.v1.IQuery|null|undefined} nestedQuery
+ * @memberof google.datastore.v1.AggregationQuery
+ * @instance
+ */
+ AggregationQuery.prototype.nestedQuery = null;
+
+ /**
+ * AggregationQuery aggregations.
+ * @member {Array.} aggregations
+ * @memberof google.datastore.v1.AggregationQuery
+ * @instance
+ */
+ AggregationQuery.prototype.aggregations = $util.emptyArray;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * AggregationQuery queryType.
+ * @member {"nestedQuery"|undefined} queryType
+ * @memberof google.datastore.v1.AggregationQuery
+ * @instance
+ */
+ Object.defineProperty(AggregationQuery.prototype, "queryType", {
+ get: $util.oneOfGetter($oneOfFields = ["nestedQuery"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new AggregationQuery instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {google.datastore.v1.IAggregationQuery=} [properties] Properties to set
+ * @returns {google.datastore.v1.AggregationQuery} AggregationQuery instance
+ */
+ AggregationQuery.create = function create(properties) {
+ return new AggregationQuery(properties);
+ };
+
+ /**
+ * Encodes the specified AggregationQuery message. Does not implicitly {@link google.datastore.v1.AggregationQuery.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {google.datastore.v1.IAggregationQuery} message AggregationQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AggregationQuery.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.nestedQuery != null && Object.hasOwnProperty.call(message, "nestedQuery"))
+ $root.google.datastore.v1.Query.encode(message.nestedQuery, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.aggregations != null && message.aggregations.length)
+ for (var i = 0; i < message.aggregations.length; ++i)
+ $root.google.datastore.v1.AggregationQuery.Aggregation.encode(message.aggregations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AggregationQuery message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {google.datastore.v1.IAggregationQuery} message AggregationQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AggregationQuery.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AggregationQuery message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.AggregationQuery} AggregationQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AggregationQuery.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.AggregationQuery();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.nestedQuery = $root.google.datastore.v1.Query.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.aggregations && message.aggregations.length))
+ message.aggregations = [];
+ message.aggregations.push($root.google.datastore.v1.AggregationQuery.Aggregation.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AggregationQuery message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.AggregationQuery} AggregationQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AggregationQuery.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AggregationQuery message.
+ * @function verify
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AggregationQuery.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.nestedQuery != null && message.hasOwnProperty("nestedQuery")) {
+ properties.queryType = 1;
+ {
+ var error = $root.google.datastore.v1.Query.verify(message.nestedQuery);
+ if (error)
+ return "nestedQuery." + error;
+ }
+ }
+ if (message.aggregations != null && message.hasOwnProperty("aggregations")) {
+ if (!Array.isArray(message.aggregations))
+ return "aggregations: array expected";
+ for (var i = 0; i < message.aggregations.length; ++i) {
+ var error = $root.google.datastore.v1.AggregationQuery.Aggregation.verify(message.aggregations[i]);
+ if (error)
+ return "aggregations." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AggregationQuery message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.AggregationQuery} AggregationQuery
+ */
+ AggregationQuery.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.AggregationQuery)
+ return object;
+ var message = new $root.google.datastore.v1.AggregationQuery();
+ if (object.nestedQuery != null) {
+ if (typeof object.nestedQuery !== "object")
+ throw TypeError(".google.datastore.v1.AggregationQuery.nestedQuery: object expected");
+ message.nestedQuery = $root.google.datastore.v1.Query.fromObject(object.nestedQuery);
+ }
+ if (object.aggregations) {
+ if (!Array.isArray(object.aggregations))
+ throw TypeError(".google.datastore.v1.AggregationQuery.aggregations: array expected");
+ message.aggregations = [];
+ for (var i = 0; i < object.aggregations.length; ++i) {
+ if (typeof object.aggregations[i] !== "object")
+ throw TypeError(".google.datastore.v1.AggregationQuery.aggregations: object expected");
+ message.aggregations[i] = $root.google.datastore.v1.AggregationQuery.Aggregation.fromObject(object.aggregations[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AggregationQuery message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {google.datastore.v1.AggregationQuery} message AggregationQuery
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AggregationQuery.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.aggregations = [];
+ if (message.nestedQuery != null && message.hasOwnProperty("nestedQuery")) {
+ object.nestedQuery = $root.google.datastore.v1.Query.toObject(message.nestedQuery, options);
+ if (options.oneofs)
+ object.queryType = "nestedQuery";
+ }
+ if (message.aggregations && message.aggregations.length) {
+ object.aggregations = [];
+ for (var j = 0; j < message.aggregations.length; ++j)
+ object.aggregations[j] = $root.google.datastore.v1.AggregationQuery.Aggregation.toObject(message.aggregations[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AggregationQuery to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.AggregationQuery
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AggregationQuery.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AggregationQuery
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.AggregationQuery
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AggregationQuery.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.AggregationQuery";
+ };
+
+ AggregationQuery.Aggregation = (function() {
+
+ /**
+ * Properties of an Aggregation.
+ * @memberof google.datastore.v1.AggregationQuery
+ * @interface IAggregation
+ * @property {google.datastore.v1.AggregationQuery.Aggregation.ICount|null} [count] Aggregation count
+ * @property {google.datastore.v1.AggregationQuery.Aggregation.ISum|null} [sum] Aggregation sum
+ * @property {google.datastore.v1.AggregationQuery.Aggregation.IAvg|null} [avg] Aggregation avg
+ * @property {string|null} [alias] Aggregation alias
+ */
+
+ /**
+ * Constructs a new Aggregation.
+ * @memberof google.datastore.v1.AggregationQuery
+ * @classdesc Represents an Aggregation.
+ * @implements IAggregation
+ * @constructor
+ * @param {google.datastore.v1.AggregationQuery.IAggregation=} [properties] Properties to set
+ */
+ function Aggregation(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Aggregation count.
+ * @member {google.datastore.v1.AggregationQuery.Aggregation.ICount|null|undefined} count
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @instance
+ */
+ Aggregation.prototype.count = null;
+
+ /**
+ * Aggregation sum.
+ * @member {google.datastore.v1.AggregationQuery.Aggregation.ISum|null|undefined} sum
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @instance
+ */
+ Aggregation.prototype.sum = null;
+
+ /**
+ * Aggregation avg.
+ * @member {google.datastore.v1.AggregationQuery.Aggregation.IAvg|null|undefined} avg
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @instance
+ */
+ Aggregation.prototype.avg = null;
+
+ /**
+ * Aggregation alias.
+ * @member {string} alias
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @instance
+ */
+ Aggregation.prototype.alias = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Aggregation operator.
+ * @member {"count"|"sum"|"avg"|undefined} operator
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @instance
+ */
+ Object.defineProperty(Aggregation.prototype, "operator", {
+ get: $util.oneOfGetter($oneOfFields = ["count", "sum", "avg"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Aggregation instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.IAggregation=} [properties] Properties to set
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation} Aggregation instance
+ */
+ Aggregation.create = function create(properties) {
+ return new Aggregation(properties);
+ };
+
+ /**
+ * Encodes the specified Aggregation message. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.IAggregation} message Aggregation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Aggregation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.count != null && Object.hasOwnProperty.call(message, "count"))
+ $root.google.datastore.v1.AggregationQuery.Aggregation.Count.encode(message.count, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.sum != null && Object.hasOwnProperty.call(message, "sum"))
+ $root.google.datastore.v1.AggregationQuery.Aggregation.Sum.encode(message.sum, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.avg != null && Object.hasOwnProperty.call(message, "avg"))
+ $root.google.datastore.v1.AggregationQuery.Aggregation.Avg.encode(message.avg, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.alias != null && Object.hasOwnProperty.call(message, "alias"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.alias);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Aggregation message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.IAggregation} message Aggregation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Aggregation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Aggregation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation} Aggregation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Aggregation.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.AggregationQuery.Aggregation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.count = $root.google.datastore.v1.AggregationQuery.Aggregation.Count.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.sum = $root.google.datastore.v1.AggregationQuery.Aggregation.Sum.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.avg = $root.google.datastore.v1.AggregationQuery.Aggregation.Avg.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.alias = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Aggregation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation} Aggregation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Aggregation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Aggregation message.
+ * @function verify
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Aggregation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.count != null && message.hasOwnProperty("count")) {
+ properties.operator = 1;
+ {
+ var error = $root.google.datastore.v1.AggregationQuery.Aggregation.Count.verify(message.count);
+ if (error)
+ return "count." + error;
+ }
+ }
+ if (message.sum != null && message.hasOwnProperty("sum")) {
+ if (properties.operator === 1)
+ return "operator: multiple values";
+ properties.operator = 1;
+ {
+ var error = $root.google.datastore.v1.AggregationQuery.Aggregation.Sum.verify(message.sum);
+ if (error)
+ return "sum." + error;
+ }
+ }
+ if (message.avg != null && message.hasOwnProperty("avg")) {
+ if (properties.operator === 1)
+ return "operator: multiple values";
+ properties.operator = 1;
+ {
+ var error = $root.google.datastore.v1.AggregationQuery.Aggregation.Avg.verify(message.avg);
+ if (error)
+ return "avg." + error;
+ }
+ }
+ if (message.alias != null && message.hasOwnProperty("alias"))
+ if (!$util.isString(message.alias))
+ return "alias: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an Aggregation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation} Aggregation
+ */
+ Aggregation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.AggregationQuery.Aggregation)
+ return object;
+ var message = new $root.google.datastore.v1.AggregationQuery.Aggregation();
+ if (object.count != null) {
+ if (typeof object.count !== "object")
+ throw TypeError(".google.datastore.v1.AggregationQuery.Aggregation.count: object expected");
+ message.count = $root.google.datastore.v1.AggregationQuery.Aggregation.Count.fromObject(object.count);
+ }
+ if (object.sum != null) {
+ if (typeof object.sum !== "object")
+ throw TypeError(".google.datastore.v1.AggregationQuery.Aggregation.sum: object expected");
+ message.sum = $root.google.datastore.v1.AggregationQuery.Aggregation.Sum.fromObject(object.sum);
+ }
+ if (object.avg != null) {
+ if (typeof object.avg !== "object")
+ throw TypeError(".google.datastore.v1.AggregationQuery.Aggregation.avg: object expected");
+ message.avg = $root.google.datastore.v1.AggregationQuery.Aggregation.Avg.fromObject(object.avg);
+ }
+ if (object.alias != null)
+ message.alias = String(object.alias);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Aggregation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation} message Aggregation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Aggregation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.alias = "";
+ if (message.count != null && message.hasOwnProperty("count")) {
+ object.count = $root.google.datastore.v1.AggregationQuery.Aggregation.Count.toObject(message.count, options);
+ if (options.oneofs)
+ object.operator = "count";
+ }
+ if (message.sum != null && message.hasOwnProperty("sum")) {
+ object.sum = $root.google.datastore.v1.AggregationQuery.Aggregation.Sum.toObject(message.sum, options);
+ if (options.oneofs)
+ object.operator = "sum";
+ }
+ if (message.avg != null && message.hasOwnProperty("avg")) {
+ object.avg = $root.google.datastore.v1.AggregationQuery.Aggregation.Avg.toObject(message.avg, options);
+ if (options.oneofs)
+ object.operator = "avg";
+ }
+ if (message.alias != null && message.hasOwnProperty("alias"))
+ object.alias = message.alias;
+ return object;
+ };
+
+ /**
+ * Converts this Aggregation to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Aggregation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Aggregation
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Aggregation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.AggregationQuery.Aggregation";
+ };
+
+ Aggregation.Count = (function() {
+
+ /**
+ * Properties of a Count.
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @interface ICount
+ * @property {google.protobuf.IInt64Value|null} [upTo] Count upTo
+ */
+
+ /**
+ * Constructs a new Count.
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @classdesc Represents a Count.
+ * @implements ICount
+ * @constructor
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.ICount=} [properties] Properties to set
+ */
+ function Count(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Count upTo.
+ * @member {google.protobuf.IInt64Value|null|undefined} upTo
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @instance
+ */
+ Count.prototype.upTo = null;
+
+ /**
+ * Creates a new Count instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.ICount=} [properties] Properties to set
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Count} Count instance
+ */
+ Count.create = function create(properties) {
+ return new Count(properties);
+ };
+
+ /**
+ * Encodes the specified Count message. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Count.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.ICount} message Count message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Count.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.upTo != null && Object.hasOwnProperty.call(message, "upTo"))
+ $root.google.protobuf.Int64Value.encode(message.upTo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Count message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Count.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.ICount} message Count message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Count.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Count message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Count} Count
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Count.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.AggregationQuery.Aggregation.Count();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.upTo = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Count message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Count} Count
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Count.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Count message.
+ * @function verify
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Count.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.upTo != null && message.hasOwnProperty("upTo")) {
+ var error = $root.google.protobuf.Int64Value.verify(message.upTo);
+ if (error)
+ return "upTo." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Count message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Count} Count
+ */
+ Count.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.AggregationQuery.Aggregation.Count)
+ return object;
+ var message = new $root.google.datastore.v1.AggregationQuery.Aggregation.Count();
+ if (object.upTo != null) {
+ if (typeof object.upTo !== "object")
+ throw TypeError(".google.datastore.v1.AggregationQuery.Aggregation.Count.upTo: object expected");
+ message.upTo = $root.google.protobuf.Int64Value.fromObject(object.upTo);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Count message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.Count} message Count
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Count.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.upTo = null;
+ if (message.upTo != null && message.hasOwnProperty("upTo"))
+ object.upTo = $root.google.protobuf.Int64Value.toObject(message.upTo, options);
+ return object;
+ };
+
+ /**
+ * Converts this Count to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Count.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Count
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Count
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Count.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.AggregationQuery.Aggregation.Count";
+ };
+
+ return Count;
+ })();
+
+ Aggregation.Sum = (function() {
+
+ /**
+ * Properties of a Sum.
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @interface ISum
+ * @property {google.datastore.v1.IPropertyReference|null} [property] Sum property
+ */
+
+ /**
+ * Constructs a new Sum.
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @classdesc Represents a Sum.
+ * @implements ISum
+ * @constructor
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.ISum=} [properties] Properties to set
+ */
+ function Sum(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Sum property.
+ * @member {google.datastore.v1.IPropertyReference|null|undefined} property
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @instance
+ */
+ Sum.prototype.property = null;
+
+ /**
+ * Creates a new Sum instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.ISum=} [properties] Properties to set
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Sum} Sum instance
+ */
+ Sum.create = function create(properties) {
+ return new Sum(properties);
+ };
+
+ /**
+ * Encodes the specified Sum message. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Sum.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.ISum} message Sum message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Sum.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.property != null && Object.hasOwnProperty.call(message, "property"))
+ $root.google.datastore.v1.PropertyReference.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Sum message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Sum.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.ISum} message Sum message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Sum.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Sum message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Sum} Sum
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Sum.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.AggregationQuery.Aggregation.Sum();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.property = $root.google.datastore.v1.PropertyReference.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Sum message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Sum} Sum
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Sum.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Sum message.
+ * @function verify
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Sum.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.property != null && message.hasOwnProperty("property")) {
+ var error = $root.google.datastore.v1.PropertyReference.verify(message.property);
+ if (error)
+ return "property." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Sum message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Sum} Sum
+ */
+ Sum.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.AggregationQuery.Aggregation.Sum)
+ return object;
+ var message = new $root.google.datastore.v1.AggregationQuery.Aggregation.Sum();
+ if (object.property != null) {
+ if (typeof object.property !== "object")
+ throw TypeError(".google.datastore.v1.AggregationQuery.Aggregation.Sum.property: object expected");
+ message.property = $root.google.datastore.v1.PropertyReference.fromObject(object.property);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Sum message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.Sum} message Sum
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Sum.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.property = null;
+ if (message.property != null && message.hasOwnProperty("property"))
+ object.property = $root.google.datastore.v1.PropertyReference.toObject(message.property, options);
+ return object;
+ };
+
+ /**
+ * Converts this Sum to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Sum.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Sum
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Sum
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Sum.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.AggregationQuery.Aggregation.Sum";
+ };
+
+ return Sum;
+ })();
+
+ Aggregation.Avg = (function() {
+
+ /**
+ * Properties of an Avg.
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @interface IAvg
+ * @property {google.datastore.v1.IPropertyReference|null} [property] Avg property
+ */
+
+ /**
+ * Constructs a new Avg.
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation
+ * @classdesc Represents an Avg.
+ * @implements IAvg
+ * @constructor
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.IAvg=} [properties] Properties to set
+ */
+ function Avg(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Avg property.
+ * @member {google.datastore.v1.IPropertyReference|null|undefined} property
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @instance
+ */
+ Avg.prototype.property = null;
+
+ /**
+ * Creates a new Avg instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.IAvg=} [properties] Properties to set
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Avg} Avg instance
+ */
+ Avg.create = function create(properties) {
+ return new Avg(properties);
+ };
+
+ /**
+ * Encodes the specified Avg message. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Avg.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.IAvg} message Avg message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Avg.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.property != null && Object.hasOwnProperty.call(message, "property"))
+ $root.google.datastore.v1.PropertyReference.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Avg message, length delimited. Does not implicitly {@link google.datastore.v1.AggregationQuery.Aggregation.Avg.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.IAvg} message Avg message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Avg.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Avg message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Avg} Avg
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Avg.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.AggregationQuery.Aggregation.Avg();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.property = $root.google.datastore.v1.PropertyReference.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Avg message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Avg} Avg
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Avg.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Avg message.
+ * @function verify
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Avg.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.property != null && message.hasOwnProperty("property")) {
+ var error = $root.google.datastore.v1.PropertyReference.verify(message.property);
+ if (error)
+ return "property." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Avg message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.AggregationQuery.Aggregation.Avg} Avg
+ */
+ Avg.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.AggregationQuery.Aggregation.Avg)
+ return object;
+ var message = new $root.google.datastore.v1.AggregationQuery.Aggregation.Avg();
+ if (object.property != null) {
+ if (typeof object.property !== "object")
+ throw TypeError(".google.datastore.v1.AggregationQuery.Aggregation.Avg.property: object expected");
+ message.property = $root.google.datastore.v1.PropertyReference.fromObject(object.property);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Avg message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {google.datastore.v1.AggregationQuery.Aggregation.Avg} message Avg
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Avg.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.property = null;
+ if (message.property != null && message.hasOwnProperty("property"))
+ object.property = $root.google.datastore.v1.PropertyReference.toObject(message.property, options);
+ return object;
+ };
+
+ /**
+ * Converts this Avg to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Avg.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Avg
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.AggregationQuery.Aggregation.Avg
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Avg.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.AggregationQuery.Aggregation.Avg";
+ };
+
+ return Avg;
+ })();
+
+ return Aggregation;
+ })();
+
+ return AggregationQuery;
+ })();
+
+ v1.KindExpression = (function() {
+
+ /**
+ * Properties of a KindExpression.
+ * @memberof google.datastore.v1
+ * @interface IKindExpression
+ * @property {string|null} [name] KindExpression name
+ */
+
+ /**
+ * Constructs a new KindExpression.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a KindExpression.
+ * @implements IKindExpression
+ * @constructor
+ * @param {google.datastore.v1.IKindExpression=} [properties] Properties to set
+ */
+ function KindExpression(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * KindExpression name.
+ * @member {string} name
+ * @memberof google.datastore.v1.KindExpression
+ * @instance
+ */
+ KindExpression.prototype.name = "";
+
+ /**
+ * Creates a new KindExpression instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {google.datastore.v1.IKindExpression=} [properties] Properties to set
+ * @returns {google.datastore.v1.KindExpression} KindExpression instance
+ */
+ KindExpression.create = function create(properties) {
+ return new KindExpression(properties);
+ };
+
+ /**
+ * Encodes the specified KindExpression message. Does not implicitly {@link google.datastore.v1.KindExpression.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {google.datastore.v1.IKindExpression} message KindExpression message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KindExpression.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified KindExpression message, length delimited. Does not implicitly {@link google.datastore.v1.KindExpression.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {google.datastore.v1.IKindExpression} message KindExpression message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KindExpression.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a KindExpression message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.KindExpression} KindExpression
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KindExpression.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.KindExpression();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a KindExpression message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.KindExpression} KindExpression
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KindExpression.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a KindExpression message.
+ * @function verify
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ KindExpression.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a KindExpression message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.KindExpression} KindExpression
+ */
+ KindExpression.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.KindExpression)
+ return object;
+ var message = new $root.google.datastore.v1.KindExpression();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a KindExpression message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {google.datastore.v1.KindExpression} message KindExpression
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ KindExpression.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this KindExpression to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.KindExpression
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ KindExpression.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for KindExpression
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.KindExpression
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ KindExpression.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.KindExpression";
+ };
+
+ return KindExpression;
+ })();
+
+ v1.PropertyReference = (function() {
+
+ /**
+ * Properties of a PropertyReference.
+ * @memberof google.datastore.v1
+ * @interface IPropertyReference
+ * @property {string|null} [name] PropertyReference name
+ */
+
+ /**
+ * Constructs a new PropertyReference.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a PropertyReference.
+ * @implements IPropertyReference
+ * @constructor
+ * @param {google.datastore.v1.IPropertyReference=} [properties] Properties to set
+ */
+ function PropertyReference(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PropertyReference name.
+ * @member {string} name
+ * @memberof google.datastore.v1.PropertyReference
+ * @instance
+ */
+ PropertyReference.prototype.name = "";
+
+ /**
+ * Creates a new PropertyReference instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {google.datastore.v1.IPropertyReference=} [properties] Properties to set
+ * @returns {google.datastore.v1.PropertyReference} PropertyReference instance
+ */
+ PropertyReference.create = function create(properties) {
+ return new PropertyReference(properties);
+ };
+
+ /**
+ * Encodes the specified PropertyReference message. Does not implicitly {@link google.datastore.v1.PropertyReference.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {google.datastore.v1.IPropertyReference} message PropertyReference message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PropertyReference.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PropertyReference message, length delimited. Does not implicitly {@link google.datastore.v1.PropertyReference.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {google.datastore.v1.IPropertyReference} message PropertyReference message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PropertyReference.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PropertyReference message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.PropertyReference} PropertyReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PropertyReference.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.PropertyReference();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PropertyReference message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.PropertyReference} PropertyReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PropertyReference.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PropertyReference message.
+ * @function verify
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PropertyReference.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PropertyReference message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.PropertyReference} PropertyReference
+ */
+ PropertyReference.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.PropertyReference)
+ return object;
+ var message = new $root.google.datastore.v1.PropertyReference();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PropertyReference message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {google.datastore.v1.PropertyReference} message PropertyReference
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PropertyReference.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this PropertyReference to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.PropertyReference
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PropertyReference.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PropertyReference
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.PropertyReference
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PropertyReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.PropertyReference";
+ };
+
+ return PropertyReference;
+ })();
+
+ v1.Projection = (function() {
+
+ /**
+ * Properties of a Projection.
+ * @memberof google.datastore.v1
+ * @interface IProjection
+ * @property {google.datastore.v1.IPropertyReference|null} [property] Projection property
+ */
+
+ /**
+ * Constructs a new Projection.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a Projection.
+ * @implements IProjection
+ * @constructor
+ * @param {google.datastore.v1.IProjection=} [properties] Properties to set
+ */
+ function Projection(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Projection property.
+ * @member {google.datastore.v1.IPropertyReference|null|undefined} property
+ * @memberof google.datastore.v1.Projection
+ * @instance
+ */
+ Projection.prototype.property = null;
+
+ /**
+ * Creates a new Projection instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {google.datastore.v1.IProjection=} [properties] Properties to set
+ * @returns {google.datastore.v1.Projection} Projection instance
+ */
+ Projection.create = function create(properties) {
+ return new Projection(properties);
+ };
+
+ /**
+ * Encodes the specified Projection message. Does not implicitly {@link google.datastore.v1.Projection.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {google.datastore.v1.IProjection} message Projection message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Projection.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.property != null && Object.hasOwnProperty.call(message, "property"))
+ $root.google.datastore.v1.PropertyReference.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Projection message, length delimited. Does not implicitly {@link google.datastore.v1.Projection.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {google.datastore.v1.IProjection} message Projection message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Projection.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Projection message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.Projection} Projection
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Projection.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.Projection();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.property = $root.google.datastore.v1.PropertyReference.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Projection message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.Projection} Projection
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Projection.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Projection message.
+ * @function verify
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Projection.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.property != null && message.hasOwnProperty("property")) {
+ var error = $root.google.datastore.v1.PropertyReference.verify(message.property);
+ if (error)
+ return "property." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Projection message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.Projection} Projection
+ */
+ Projection.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.Projection)
+ return object;
+ var message = new $root.google.datastore.v1.Projection();
+ if (object.property != null) {
+ if (typeof object.property !== "object")
+ throw TypeError(".google.datastore.v1.Projection.property: object expected");
+ message.property = $root.google.datastore.v1.PropertyReference.fromObject(object.property);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Projection message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {google.datastore.v1.Projection} message Projection
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Projection.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.property = null;
+ if (message.property != null && message.hasOwnProperty("property"))
+ object.property = $root.google.datastore.v1.PropertyReference.toObject(message.property, options);
+ return object;
+ };
+
+ /**
+ * Converts this Projection to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.Projection
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Projection.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Projection
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.Projection
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Projection.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.Projection";
+ };
+
+ return Projection;
+ })();
+
+ v1.PropertyOrder = (function() {
+
+ /**
+ * Properties of a PropertyOrder.
+ * @memberof google.datastore.v1
+ * @interface IPropertyOrder
+ * @property {google.datastore.v1.IPropertyReference|null} [property] PropertyOrder property
+ * @property {google.datastore.v1.PropertyOrder.Direction|null} [direction] PropertyOrder direction
+ */
+
+ /**
+ * Constructs a new PropertyOrder.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a PropertyOrder.
+ * @implements IPropertyOrder
+ * @constructor
+ * @param {google.datastore.v1.IPropertyOrder=} [properties] Properties to set
+ */
+ function PropertyOrder(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PropertyOrder property.
+ * @member {google.datastore.v1.IPropertyReference|null|undefined} property
+ * @memberof google.datastore.v1.PropertyOrder
+ * @instance
+ */
+ PropertyOrder.prototype.property = null;
+
+ /**
+ * PropertyOrder direction.
+ * @member {google.datastore.v1.PropertyOrder.Direction} direction
+ * @memberof google.datastore.v1.PropertyOrder
+ * @instance
+ */
+ PropertyOrder.prototype.direction = 0;
+
+ /**
+ * Creates a new PropertyOrder instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {google.datastore.v1.IPropertyOrder=} [properties] Properties to set
+ * @returns {google.datastore.v1.PropertyOrder} PropertyOrder instance
+ */
+ PropertyOrder.create = function create(properties) {
+ return new PropertyOrder(properties);
+ };
+
+ /**
+ * Encodes the specified PropertyOrder message. Does not implicitly {@link google.datastore.v1.PropertyOrder.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {google.datastore.v1.IPropertyOrder} message PropertyOrder message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PropertyOrder.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.property != null && Object.hasOwnProperty.call(message, "property"))
+ $root.google.datastore.v1.PropertyReference.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.direction != null && Object.hasOwnProperty.call(message, "direction"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.direction);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PropertyOrder message, length delimited. Does not implicitly {@link google.datastore.v1.PropertyOrder.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {google.datastore.v1.IPropertyOrder} message PropertyOrder message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PropertyOrder.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PropertyOrder message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.PropertyOrder} PropertyOrder
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PropertyOrder.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.PropertyOrder();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.property = $root.google.datastore.v1.PropertyReference.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.direction = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PropertyOrder message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.PropertyOrder} PropertyOrder
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PropertyOrder.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PropertyOrder message.
+ * @function verify
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PropertyOrder.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.property != null && message.hasOwnProperty("property")) {
+ var error = $root.google.datastore.v1.PropertyReference.verify(message.property);
+ if (error)
+ return "property." + error;
+ }
+ if (message.direction != null && message.hasOwnProperty("direction"))
+ switch (message.direction) {
+ default:
+ return "direction: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PropertyOrder message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.PropertyOrder} PropertyOrder
+ */
+ PropertyOrder.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.PropertyOrder)
+ return object;
+ var message = new $root.google.datastore.v1.PropertyOrder();
+ if (object.property != null) {
+ if (typeof object.property !== "object")
+ throw TypeError(".google.datastore.v1.PropertyOrder.property: object expected");
+ message.property = $root.google.datastore.v1.PropertyReference.fromObject(object.property);
+ }
+ switch (object.direction) {
+ default:
+ if (typeof object.direction === "number") {
+ message.direction = object.direction;
+ break;
+ }
+ break;
+ case "DIRECTION_UNSPECIFIED":
+ case 0:
+ message.direction = 0;
+ break;
+ case "ASCENDING":
+ case 1:
+ message.direction = 1;
+ break;
+ case "DESCENDING":
+ case 2:
+ message.direction = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PropertyOrder message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {google.datastore.v1.PropertyOrder} message PropertyOrder
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PropertyOrder.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.property = null;
+ object.direction = options.enums === String ? "DIRECTION_UNSPECIFIED" : 0;
+ }
+ if (message.property != null && message.hasOwnProperty("property"))
+ object.property = $root.google.datastore.v1.PropertyReference.toObject(message.property, options);
+ if (message.direction != null && message.hasOwnProperty("direction"))
+ object.direction = options.enums === String ? $root.google.datastore.v1.PropertyOrder.Direction[message.direction] === undefined ? message.direction : $root.google.datastore.v1.PropertyOrder.Direction[message.direction] : message.direction;
+ return object;
+ };
+
+ /**
+ * Converts this PropertyOrder to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.PropertyOrder
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PropertyOrder.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PropertyOrder
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.PropertyOrder
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PropertyOrder.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.PropertyOrder";
+ };
+
+ /**
+ * Direction enum.
+ * @name google.datastore.v1.PropertyOrder.Direction
+ * @enum {number}
+ * @property {number} DIRECTION_UNSPECIFIED=0 DIRECTION_UNSPECIFIED value
+ * @property {number} ASCENDING=1 ASCENDING value
+ * @property {number} DESCENDING=2 DESCENDING value
+ */
+ PropertyOrder.Direction = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DIRECTION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ASCENDING"] = 1;
+ values[valuesById[2] = "DESCENDING"] = 2;
+ return values;
+ })();
+
+ return PropertyOrder;
+ })();
+
+ v1.Filter = (function() {
+
+ /**
+ * Properties of a Filter.
+ * @memberof google.datastore.v1
+ * @interface IFilter
+ * @property {google.datastore.v1.ICompositeFilter|null} [compositeFilter] Filter compositeFilter
+ * @property {google.datastore.v1.IPropertyFilter|null} [propertyFilter] Filter propertyFilter
+ */
+
+ /**
+ * Constructs a new Filter.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a Filter.
+ * @implements IFilter
+ * @constructor
+ * @param {google.datastore.v1.IFilter=} [properties] Properties to set
+ */
+ function Filter(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Filter compositeFilter.
+ * @member {google.datastore.v1.ICompositeFilter|null|undefined} compositeFilter
+ * @memberof google.datastore.v1.Filter
+ * @instance
+ */
+ Filter.prototype.compositeFilter = null;
+
+ /**
+ * Filter propertyFilter.
+ * @member {google.datastore.v1.IPropertyFilter|null|undefined} propertyFilter
+ * @memberof google.datastore.v1.Filter
+ * @instance
+ */
+ Filter.prototype.propertyFilter = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Filter filterType.
+ * @member {"compositeFilter"|"propertyFilter"|undefined} filterType
+ * @memberof google.datastore.v1.Filter
+ * @instance
+ */
+ Object.defineProperty(Filter.prototype, "filterType", {
+ get: $util.oneOfGetter($oneOfFields = ["compositeFilter", "propertyFilter"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Filter instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {google.datastore.v1.IFilter=} [properties] Properties to set
+ * @returns {google.datastore.v1.Filter} Filter instance
+ */
+ Filter.create = function create(properties) {
+ return new Filter(properties);
+ };
+
+ /**
+ * Encodes the specified Filter message. Does not implicitly {@link google.datastore.v1.Filter.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {google.datastore.v1.IFilter} message Filter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Filter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.compositeFilter != null && Object.hasOwnProperty.call(message, "compositeFilter"))
+ $root.google.datastore.v1.CompositeFilter.encode(message.compositeFilter, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.propertyFilter != null && Object.hasOwnProperty.call(message, "propertyFilter"))
+ $root.google.datastore.v1.PropertyFilter.encode(message.propertyFilter, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Filter message, length delimited. Does not implicitly {@link google.datastore.v1.Filter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {google.datastore.v1.IFilter} message Filter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Filter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Filter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.Filter} Filter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Filter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.Filter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.compositeFilter = $root.google.datastore.v1.CompositeFilter.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.propertyFilter = $root.google.datastore.v1.PropertyFilter.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Filter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.Filter} Filter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Filter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Filter message.
+ * @function verify
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Filter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.compositeFilter != null && message.hasOwnProperty("compositeFilter")) {
+ properties.filterType = 1;
+ {
+ var error = $root.google.datastore.v1.CompositeFilter.verify(message.compositeFilter);
+ if (error)
+ return "compositeFilter." + error;
+ }
+ }
+ if (message.propertyFilter != null && message.hasOwnProperty("propertyFilter")) {
+ if (properties.filterType === 1)
+ return "filterType: multiple values";
+ properties.filterType = 1;
+ {
+ var error = $root.google.datastore.v1.PropertyFilter.verify(message.propertyFilter);
+ if (error)
+ return "propertyFilter." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Filter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.Filter} Filter
+ */
+ Filter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.Filter)
+ return object;
+ var message = new $root.google.datastore.v1.Filter();
+ if (object.compositeFilter != null) {
+ if (typeof object.compositeFilter !== "object")
+ throw TypeError(".google.datastore.v1.Filter.compositeFilter: object expected");
+ message.compositeFilter = $root.google.datastore.v1.CompositeFilter.fromObject(object.compositeFilter);
+ }
+ if (object.propertyFilter != null) {
+ if (typeof object.propertyFilter !== "object")
+ throw TypeError(".google.datastore.v1.Filter.propertyFilter: object expected");
+ message.propertyFilter = $root.google.datastore.v1.PropertyFilter.fromObject(object.propertyFilter);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Filter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {google.datastore.v1.Filter} message Filter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Filter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.compositeFilter != null && message.hasOwnProperty("compositeFilter")) {
+ object.compositeFilter = $root.google.datastore.v1.CompositeFilter.toObject(message.compositeFilter, options);
+ if (options.oneofs)
+ object.filterType = "compositeFilter";
+ }
+ if (message.propertyFilter != null && message.hasOwnProperty("propertyFilter")) {
+ object.propertyFilter = $root.google.datastore.v1.PropertyFilter.toObject(message.propertyFilter, options);
+ if (options.oneofs)
+ object.filterType = "propertyFilter";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Filter to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.Filter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Filter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Filter
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.Filter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Filter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.Filter";
+ };
+
+ return Filter;
+ })();
+
+ v1.CompositeFilter = (function() {
+
+ /**
+ * Properties of a CompositeFilter.
+ * @memberof google.datastore.v1
+ * @interface ICompositeFilter
+ * @property {google.datastore.v1.CompositeFilter.Operator|null} [op] CompositeFilter op
+ * @property {Array.|null} [filters] CompositeFilter filters
+ */
+
+ /**
+ * Constructs a new CompositeFilter.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a CompositeFilter.
+ * @implements ICompositeFilter
+ * @constructor
+ * @param {google.datastore.v1.ICompositeFilter=} [properties] Properties to set
+ */
+ function CompositeFilter(properties) {
+ this.filters = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CompositeFilter op.
+ * @member {google.datastore.v1.CompositeFilter.Operator} op
+ * @memberof google.datastore.v1.CompositeFilter
+ * @instance
+ */
+ CompositeFilter.prototype.op = 0;
+
+ /**
+ * CompositeFilter filters.
+ * @member {Array.} filters
+ * @memberof google.datastore.v1.CompositeFilter
+ * @instance
+ */
+ CompositeFilter.prototype.filters = $util.emptyArray;
+
+ /**
+ * Creates a new CompositeFilter instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {google.datastore.v1.ICompositeFilter=} [properties] Properties to set
+ * @returns {google.datastore.v1.CompositeFilter} CompositeFilter instance
+ */
+ CompositeFilter.create = function create(properties) {
+ return new CompositeFilter(properties);
+ };
+
+ /**
+ * Encodes the specified CompositeFilter message. Does not implicitly {@link google.datastore.v1.CompositeFilter.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {google.datastore.v1.ICompositeFilter} message CompositeFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompositeFilter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.op != null && Object.hasOwnProperty.call(message, "op"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.op);
+ if (message.filters != null && message.filters.length)
+ for (var i = 0; i < message.filters.length; ++i)
+ $root.google.datastore.v1.Filter.encode(message.filters[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompositeFilter message, length delimited. Does not implicitly {@link google.datastore.v1.CompositeFilter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {google.datastore.v1.ICompositeFilter} message CompositeFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompositeFilter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompositeFilter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.CompositeFilter} CompositeFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompositeFilter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.CompositeFilter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.op = reader.int32();
+ break;
+ }
+ case 2: {
+ if (!(message.filters && message.filters.length))
+ message.filters = [];
+ message.filters.push($root.google.datastore.v1.Filter.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompositeFilter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.CompositeFilter} CompositeFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompositeFilter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompositeFilter message.
+ * @function verify
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompositeFilter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.op != null && message.hasOwnProperty("op"))
+ switch (message.op) {
+ default:
+ return "op: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.filters != null && message.hasOwnProperty("filters")) {
+ if (!Array.isArray(message.filters))
+ return "filters: array expected";
+ for (var i = 0; i < message.filters.length; ++i) {
+ var error = $root.google.datastore.v1.Filter.verify(message.filters[i]);
+ if (error)
+ return "filters." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CompositeFilter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.CompositeFilter} CompositeFilter
+ */
+ CompositeFilter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.CompositeFilter)
+ return object;
+ var message = new $root.google.datastore.v1.CompositeFilter();
+ switch (object.op) {
+ default:
+ if (typeof object.op === "number") {
+ message.op = object.op;
+ break;
+ }
+ break;
+ case "OPERATOR_UNSPECIFIED":
+ case 0:
+ message.op = 0;
+ break;
+ case "AND":
+ case 1:
+ message.op = 1;
+ break;
+ case "OR":
+ case 2:
+ message.op = 2;
+ break;
+ }
+ if (object.filters) {
+ if (!Array.isArray(object.filters))
+ throw TypeError(".google.datastore.v1.CompositeFilter.filters: array expected");
+ message.filters = [];
+ for (var i = 0; i < object.filters.length; ++i) {
+ if (typeof object.filters[i] !== "object")
+ throw TypeError(".google.datastore.v1.CompositeFilter.filters: object expected");
+ message.filters[i] = $root.google.datastore.v1.Filter.fromObject(object.filters[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompositeFilter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {google.datastore.v1.CompositeFilter} message CompositeFilter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompositeFilter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.filters = [];
+ if (options.defaults)
+ object.op = options.enums === String ? "OPERATOR_UNSPECIFIED" : 0;
+ if (message.op != null && message.hasOwnProperty("op"))
+ object.op = options.enums === String ? $root.google.datastore.v1.CompositeFilter.Operator[message.op] === undefined ? message.op : $root.google.datastore.v1.CompositeFilter.Operator[message.op] : message.op;
+ if (message.filters && message.filters.length) {
+ object.filters = [];
+ for (var j = 0; j < message.filters.length; ++j)
+ object.filters[j] = $root.google.datastore.v1.Filter.toObject(message.filters[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CompositeFilter to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.CompositeFilter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompositeFilter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompositeFilter
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.CompositeFilter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompositeFilter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.CompositeFilter";
+ };
+
+ /**
+ * Operator enum.
+ * @name google.datastore.v1.CompositeFilter.Operator
+ * @enum {number}
+ * @property {number} OPERATOR_UNSPECIFIED=0 OPERATOR_UNSPECIFIED value
+ * @property {number} AND=1 AND value
+ * @property {number} OR=2 OR value
+ */
+ CompositeFilter.Operator = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "OPERATOR_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "AND"] = 1;
+ values[valuesById[2] = "OR"] = 2;
+ return values;
+ })();
+
+ return CompositeFilter;
+ })();
+
+ v1.PropertyFilter = (function() {
+
+ /**
+ * Properties of a PropertyFilter.
+ * @memberof google.datastore.v1
+ * @interface IPropertyFilter
+ * @property {google.datastore.v1.IPropertyReference|null} [property] PropertyFilter property
+ * @property {google.datastore.v1.PropertyFilter.Operator|null} [op] PropertyFilter op
+ * @property {google.datastore.v1.IValue|null} [value] PropertyFilter value
+ */
+
+ /**
+ * Constructs a new PropertyFilter.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a PropertyFilter.
+ * @implements IPropertyFilter
+ * @constructor
+ * @param {google.datastore.v1.IPropertyFilter=} [properties] Properties to set
+ */
+ function PropertyFilter(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PropertyFilter property.
+ * @member {google.datastore.v1.IPropertyReference|null|undefined} property
+ * @memberof google.datastore.v1.PropertyFilter
+ * @instance
+ */
+ PropertyFilter.prototype.property = null;
+
+ /**
+ * PropertyFilter op.
+ * @member {google.datastore.v1.PropertyFilter.Operator} op
+ * @memberof google.datastore.v1.PropertyFilter
+ * @instance
+ */
+ PropertyFilter.prototype.op = 0;
+
+ /**
+ * PropertyFilter value.
+ * @member {google.datastore.v1.IValue|null|undefined} value
+ * @memberof google.datastore.v1.PropertyFilter
+ * @instance
+ */
+ PropertyFilter.prototype.value = null;
+
+ /**
+ * Creates a new PropertyFilter instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {google.datastore.v1.IPropertyFilter=} [properties] Properties to set
+ * @returns {google.datastore.v1.PropertyFilter} PropertyFilter instance
+ */
+ PropertyFilter.create = function create(properties) {
+ return new PropertyFilter(properties);
+ };
+
+ /**
+ * Encodes the specified PropertyFilter message. Does not implicitly {@link google.datastore.v1.PropertyFilter.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {google.datastore.v1.IPropertyFilter} message PropertyFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PropertyFilter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.property != null && Object.hasOwnProperty.call(message, "property"))
+ $root.google.datastore.v1.PropertyReference.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.op != null && Object.hasOwnProperty.call(message, "op"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.op);
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ $root.google.datastore.v1.Value.encode(message.value, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PropertyFilter message, length delimited. Does not implicitly {@link google.datastore.v1.PropertyFilter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {google.datastore.v1.IPropertyFilter} message PropertyFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PropertyFilter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PropertyFilter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.PropertyFilter} PropertyFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PropertyFilter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.PropertyFilter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.property = $root.google.datastore.v1.PropertyReference.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.op = reader.int32();
+ break;
+ }
+ case 3: {
+ message.value = $root.google.datastore.v1.Value.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PropertyFilter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.PropertyFilter} PropertyFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PropertyFilter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PropertyFilter message.
+ * @function verify
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PropertyFilter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.property != null && message.hasOwnProperty("property")) {
+ var error = $root.google.datastore.v1.PropertyReference.verify(message.property);
+ if (error)
+ return "property." + error;
+ }
+ if (message.op != null && message.hasOwnProperty("op"))
+ switch (message.op) {
+ default:
+ return "op: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 9:
+ case 11:
+ case 13:
+ break;
+ }
+ if (message.value != null && message.hasOwnProperty("value")) {
+ var error = $root.google.datastore.v1.Value.verify(message.value);
+ if (error)
+ return "value." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PropertyFilter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.PropertyFilter} PropertyFilter
+ */
+ PropertyFilter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.PropertyFilter)
+ return object;
+ var message = new $root.google.datastore.v1.PropertyFilter();
+ if (object.property != null) {
+ if (typeof object.property !== "object")
+ throw TypeError(".google.datastore.v1.PropertyFilter.property: object expected");
+ message.property = $root.google.datastore.v1.PropertyReference.fromObject(object.property);
+ }
+ switch (object.op) {
+ default:
+ if (typeof object.op === "number") {
+ message.op = object.op;
+ break;
+ }
+ break;
+ case "OPERATOR_UNSPECIFIED":
+ case 0:
+ message.op = 0;
+ break;
+ case "LESS_THAN":
+ case 1:
+ message.op = 1;
+ break;
+ case "LESS_THAN_OR_EQUAL":
+ case 2:
+ message.op = 2;
+ break;
+ case "GREATER_THAN":
+ case 3:
+ message.op = 3;
+ break;
+ case "GREATER_THAN_OR_EQUAL":
+ case 4:
+ message.op = 4;
+ break;
+ case "EQUAL":
+ case 5:
+ message.op = 5;
+ break;
+ case "IN":
+ case 6:
+ message.op = 6;
+ break;
+ case "NOT_EQUAL":
+ case 9:
+ message.op = 9;
+ break;
+ case "HAS_ANCESTOR":
+ case 11:
+ message.op = 11;
+ break;
+ case "NOT_IN":
+ case 13:
+ message.op = 13;
+ break;
+ }
+ if (object.value != null) {
+ if (typeof object.value !== "object")
+ throw TypeError(".google.datastore.v1.PropertyFilter.value: object expected");
+ message.value = $root.google.datastore.v1.Value.fromObject(object.value);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PropertyFilter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {google.datastore.v1.PropertyFilter} message PropertyFilter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PropertyFilter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.property = null;
+ object.op = options.enums === String ? "OPERATOR_UNSPECIFIED" : 0;
+ object.value = null;
+ }
+ if (message.property != null && message.hasOwnProperty("property"))
+ object.property = $root.google.datastore.v1.PropertyReference.toObject(message.property, options);
+ if (message.op != null && message.hasOwnProperty("op"))
+ object.op = options.enums === String ? $root.google.datastore.v1.PropertyFilter.Operator[message.op] === undefined ? message.op : $root.google.datastore.v1.PropertyFilter.Operator[message.op] : message.op;
+ if (message.value != null && message.hasOwnProperty("value"))
+ object.value = $root.google.datastore.v1.Value.toObject(message.value, options);
+ return object;
+ };
+
+ /**
+ * Converts this PropertyFilter to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.PropertyFilter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PropertyFilter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PropertyFilter
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.PropertyFilter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PropertyFilter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.PropertyFilter";
+ };
+
+ /**
+ * Operator enum.
+ * @name google.datastore.v1.PropertyFilter.Operator
+ * @enum {number}
+ * @property {number} OPERATOR_UNSPECIFIED=0 OPERATOR_UNSPECIFIED value
+ * @property {number} LESS_THAN=1 LESS_THAN value
+ * @property {number} LESS_THAN_OR_EQUAL=2 LESS_THAN_OR_EQUAL value
+ * @property {number} GREATER_THAN=3 GREATER_THAN value
+ * @property {number} GREATER_THAN_OR_EQUAL=4 GREATER_THAN_OR_EQUAL value
+ * @property {number} EQUAL=5 EQUAL value
+ * @property {number} IN=6 IN value
+ * @property {number} NOT_EQUAL=9 NOT_EQUAL value
+ * @property {number} HAS_ANCESTOR=11 HAS_ANCESTOR value
+ * @property {number} NOT_IN=13 NOT_IN value
+ */
+ PropertyFilter.Operator = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "OPERATOR_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "LESS_THAN"] = 1;
+ values[valuesById[2] = "LESS_THAN_OR_EQUAL"] = 2;
+ values[valuesById[3] = "GREATER_THAN"] = 3;
+ values[valuesById[4] = "GREATER_THAN_OR_EQUAL"] = 4;
+ values[valuesById[5] = "EQUAL"] = 5;
+ values[valuesById[6] = "IN"] = 6;
+ values[valuesById[9] = "NOT_EQUAL"] = 9;
+ values[valuesById[11] = "HAS_ANCESTOR"] = 11;
+ values[valuesById[13] = "NOT_IN"] = 13;
+ return values;
+ })();
+
+ return PropertyFilter;
+ })();
+
+ v1.FindNearest = (function() {
+
+ /**
+ * Properties of a FindNearest.
+ * @memberof google.datastore.v1
+ * @interface IFindNearest
+ * @property {google.datastore.v1.IPropertyReference|null} [vectorProperty] FindNearest vectorProperty
+ * @property {google.datastore.v1.IValue|null} [queryVector] FindNearest queryVector
+ * @property {google.datastore.v1.FindNearest.DistanceMeasure|null} [distanceMeasure] FindNearest distanceMeasure
+ * @property {google.protobuf.IInt32Value|null} [limit] FindNearest limit
+ * @property {string|null} [distanceResultProperty] FindNearest distanceResultProperty
+ * @property {google.protobuf.IDoubleValue|null} [distanceThreshold] FindNearest distanceThreshold
+ */
+
+ /**
+ * Constructs a new FindNearest.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a FindNearest.
+ * @implements IFindNearest
+ * @constructor
+ * @param {google.datastore.v1.IFindNearest=} [properties] Properties to set
+ */
+ function FindNearest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * FindNearest vectorProperty.
+ * @member {google.datastore.v1.IPropertyReference|null|undefined} vectorProperty
+ * @memberof google.datastore.v1.FindNearest
+ * @instance
+ */
+ FindNearest.prototype.vectorProperty = null;
+
+ /**
+ * FindNearest queryVector.
+ * @member {google.datastore.v1.IValue|null|undefined} queryVector
+ * @memberof google.datastore.v1.FindNearest
+ * @instance
+ */
+ FindNearest.prototype.queryVector = null;
+
+ /**
+ * FindNearest distanceMeasure.
+ * @member {google.datastore.v1.FindNearest.DistanceMeasure} distanceMeasure
+ * @memberof google.datastore.v1.FindNearest
+ * @instance
+ */
+ FindNearest.prototype.distanceMeasure = 0;
+
+ /**
+ * FindNearest limit.
+ * @member {google.protobuf.IInt32Value|null|undefined} limit
+ * @memberof google.datastore.v1.FindNearest
+ * @instance
+ */
+ FindNearest.prototype.limit = null;
+
+ /**
+ * FindNearest distanceResultProperty.
+ * @member {string} distanceResultProperty
+ * @memberof google.datastore.v1.FindNearest
+ * @instance
+ */
+ FindNearest.prototype.distanceResultProperty = "";
+
+ /**
+ * FindNearest distanceThreshold.
+ * @member {google.protobuf.IDoubleValue|null|undefined} distanceThreshold
+ * @memberof google.datastore.v1.FindNearest
+ * @instance
+ */
+ FindNearest.prototype.distanceThreshold = null;
+
+ /**
+ * Creates a new FindNearest instance using the specified properties.
+ * @function create
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {google.datastore.v1.IFindNearest=} [properties] Properties to set
+ * @returns {google.datastore.v1.FindNearest} FindNearest instance
+ */
+ FindNearest.create = function create(properties) {
+ return new FindNearest(properties);
+ };
+
+ /**
+ * Encodes the specified FindNearest message. Does not implicitly {@link google.datastore.v1.FindNearest.verify|verify} messages.
+ * @function encode
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {google.datastore.v1.IFindNearest} message FindNearest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FindNearest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.vectorProperty != null && Object.hasOwnProperty.call(message, "vectorProperty"))
+ $root.google.datastore.v1.PropertyReference.encode(message.vectorProperty, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.queryVector != null && Object.hasOwnProperty.call(message, "queryVector"))
+ $root.google.datastore.v1.Value.encode(message.queryVector, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.distanceMeasure != null && Object.hasOwnProperty.call(message, "distanceMeasure"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.distanceMeasure);
+ if (message.limit != null && Object.hasOwnProperty.call(message, "limit"))
+ $root.google.protobuf.Int32Value.encode(message.limit, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.distanceResultProperty != null && Object.hasOwnProperty.call(message, "distanceResultProperty"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.distanceResultProperty);
+ if (message.distanceThreshold != null && Object.hasOwnProperty.call(message, "distanceThreshold"))
+ $root.google.protobuf.DoubleValue.encode(message.distanceThreshold, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FindNearest message, length delimited. Does not implicitly {@link google.datastore.v1.FindNearest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {google.datastore.v1.IFindNearest} message FindNearest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FindNearest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FindNearest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.datastore.v1.FindNearest} FindNearest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FindNearest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.datastore.v1.FindNearest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.vectorProperty = $root.google.datastore.v1.PropertyReference.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.queryVector = $root.google.datastore.v1.Value.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.distanceMeasure = reader.int32();
+ break;
+ }
+ case 4: {
+ message.limit = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.distanceResultProperty = reader.string();
+ break;
+ }
+ case 6: {
+ message.distanceThreshold = $root.google.protobuf.DoubleValue.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FindNearest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.datastore.v1.FindNearest} FindNearest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FindNearest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FindNearest message.
+ * @function verify
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FindNearest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.vectorProperty != null && message.hasOwnProperty("vectorProperty")) {
+ var error = $root.google.datastore.v1.PropertyReference.verify(message.vectorProperty);
+ if (error)
+ return "vectorProperty." + error;
+ }
+ if (message.queryVector != null && message.hasOwnProperty("queryVector")) {
+ var error = $root.google.datastore.v1.Value.verify(message.queryVector);
+ if (error)
+ return "queryVector." + error;
+ }
+ if (message.distanceMeasure != null && message.hasOwnProperty("distanceMeasure"))
+ switch (message.distanceMeasure) {
+ default:
+ return "distanceMeasure: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.limit != null && message.hasOwnProperty("limit")) {
+ var error = $root.google.protobuf.Int32Value.verify(message.limit);
+ if (error)
+ return "limit." + error;
+ }
+ if (message.distanceResultProperty != null && message.hasOwnProperty("distanceResultProperty"))
+ if (!$util.isString(message.distanceResultProperty))
+ return "distanceResultProperty: string expected";
+ if (message.distanceThreshold != null && message.hasOwnProperty("distanceThreshold")) {
+ var error = $root.google.protobuf.DoubleValue.verify(message.distanceThreshold);
+ if (error)
+ return "distanceThreshold." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FindNearest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.datastore.v1.FindNearest} FindNearest
+ */
+ FindNearest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.datastore.v1.FindNearest)
+ return object;
+ var message = new $root.google.datastore.v1.FindNearest();
+ if (object.vectorProperty != null) {
+ if (typeof object.vectorProperty !== "object")
+ throw TypeError(".google.datastore.v1.FindNearest.vectorProperty: object expected");
+ message.vectorProperty = $root.google.datastore.v1.PropertyReference.fromObject(object.vectorProperty);
+ }
+ if (object.queryVector != null) {
+ if (typeof object.queryVector !== "object")
+ throw TypeError(".google.datastore.v1.FindNearest.queryVector: object expected");
+ message.queryVector = $root.google.datastore.v1.Value.fromObject(object.queryVector);
+ }
+ switch (object.distanceMeasure) {
+ default:
+ if (typeof object.distanceMeasure === "number") {
+ message.distanceMeasure = object.distanceMeasure;
+ break;
+ }
+ break;
+ case "DISTANCE_MEASURE_UNSPECIFIED":
+ case 0:
+ message.distanceMeasure = 0;
+ break;
+ case "EUCLIDEAN":
+ case 1:
+ message.distanceMeasure = 1;
+ break;
+ case "COSINE":
+ case 2:
+ message.distanceMeasure = 2;
+ break;
+ case "DOT_PRODUCT":
+ case 3:
+ message.distanceMeasure = 3;
+ break;
+ }
+ if (object.limit != null) {
+ if (typeof object.limit !== "object")
+ throw TypeError(".google.datastore.v1.FindNearest.limit: object expected");
+ message.limit = $root.google.protobuf.Int32Value.fromObject(object.limit);
+ }
+ if (object.distanceResultProperty != null)
+ message.distanceResultProperty = String(object.distanceResultProperty);
+ if (object.distanceThreshold != null) {
+ if (typeof object.distanceThreshold !== "object")
+ throw TypeError(".google.datastore.v1.FindNearest.distanceThreshold: object expected");
+ message.distanceThreshold = $root.google.protobuf.DoubleValue.fromObject(object.distanceThreshold);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FindNearest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {google.datastore.v1.FindNearest} message FindNearest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FindNearest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.vectorProperty = null;
+ object.queryVector = null;
+ object.distanceMeasure = options.enums === String ? "DISTANCE_MEASURE_UNSPECIFIED" : 0;
+ object.limit = null;
+ object.distanceResultProperty = "";
+ object.distanceThreshold = null;
+ }
+ if (message.vectorProperty != null && message.hasOwnProperty("vectorProperty"))
+ object.vectorProperty = $root.google.datastore.v1.PropertyReference.toObject(message.vectorProperty, options);
+ if (message.queryVector != null && message.hasOwnProperty("queryVector"))
+ object.queryVector = $root.google.datastore.v1.Value.toObject(message.queryVector, options);
+ if (message.distanceMeasure != null && message.hasOwnProperty("distanceMeasure"))
+ object.distanceMeasure = options.enums === String ? $root.google.datastore.v1.FindNearest.DistanceMeasure[message.distanceMeasure] === undefined ? message.distanceMeasure : $root.google.datastore.v1.FindNearest.DistanceMeasure[message.distanceMeasure] : message.distanceMeasure;
+ if (message.limit != null && message.hasOwnProperty("limit"))
+ object.limit = $root.google.protobuf.Int32Value.toObject(message.limit, options);
+ if (message.distanceResultProperty != null && message.hasOwnProperty("distanceResultProperty"))
+ object.distanceResultProperty = message.distanceResultProperty;
+ if (message.distanceThreshold != null && message.hasOwnProperty("distanceThreshold"))
+ object.distanceThreshold = $root.google.protobuf.DoubleValue.toObject(message.distanceThreshold, options);
+ return object;
+ };
+
+ /**
+ * Converts this FindNearest to JSON.
+ * @function toJSON
+ * @memberof google.datastore.v1.FindNearest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FindNearest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FindNearest
+ * @function getTypeUrl
+ * @memberof google.datastore.v1.FindNearest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FindNearest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.datastore.v1.FindNearest";
+ };
+
+ /**
+ * DistanceMeasure enum.
+ * @name google.datastore.v1.FindNearest.DistanceMeasure
+ * @enum {number}
+ * @property {number} DISTANCE_MEASURE_UNSPECIFIED=0 DISTANCE_MEASURE_UNSPECIFIED value
+ * @property {number} EUCLIDEAN=1 EUCLIDEAN value
+ * @property {number} COSINE=2 COSINE value
+ * @property {number} DOT_PRODUCT=3 DOT_PRODUCT value
+ */
+ FindNearest.DistanceMeasure = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DISTANCE_MEASURE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "EUCLIDEAN"] = 1;
+ values[valuesById[2] = "COSINE"] = 2;
+ values[valuesById[3] = "DOT_PRODUCT"] = 3;
+ return values;
+ })();
+
+ return FindNearest;
+ })();
+
+ v1.GqlQuery = (function() {
+
+ /**
+ * Properties of a GqlQuery.
+ * @memberof google.datastore.v1
+ * @interface IGqlQuery
+ * @property {string|null} [queryString] GqlQuery queryString
+ * @property {boolean|null} [allowLiterals] GqlQuery allowLiterals
+ * @property {Object.|null} [namedBindings] GqlQuery namedBindings
+ * @property {Array.|null} [positionalBindings] GqlQuery positionalBindings
+ */
+
+ /**
+ * Constructs a new GqlQuery.
+ * @memberof google.datastore.v1
+ * @classdesc Represents a GqlQuery.
+ * @implements IGqlQuery
+ * @constructor
+ * @param {google.datastore.v1.IGqlQuery=} [properties] Properties to set
+ */
+ function GqlQuery(properties) {
+ this.namedBindings = {};
+ this.positionalBindings = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GqlQuery queryString.
+ * @member {string} queryString
+ * @memberof google.datastore.v1.GqlQuery
+ * @instance
+ */
+ GqlQuery.prototype.queryString = "";
+
+ /**
+ * GqlQuery allowLiterals.
+ * @member {boolean} allowLiterals
+ * @memberof google.datastore.v1.GqlQuery
+ * @instance
+ */
+ GqlQuery.prototype.allowLiterals = false;
+
+ /**
+ * GqlQuery namedBindings.
+ * @member {Object.} namedBindings
+ * @memberof google.datastore.v1.GqlQuery
+ * @instance
+ */
+ GqlQuery.prototype.namedBindings = $util.emptyObject;
+
+ /**
+ * GqlQuery positionalBindings.
+ * @member {Array.