diff --git a/packages/google-maps-geocode/.OwlBot.yaml b/packages/google-maps-geocode/.OwlBot.yaml
new file mode 100644
index 00000000000..f34257196d2
--- /dev/null
+++ b/packages/google-maps-geocode/.OwlBot.yaml
@@ -0,0 +1,19 @@
+# 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.
+
+deep-copy-regex:
+ - source: /google/maps/geocode/google-maps-geocode-nodejs
+ dest: /owl-bot-staging/google-maps-geocode
+
+api-name: geocode
\ No newline at end of file
diff --git a/packages/google-maps-geocode/.eslintignore b/packages/google-maps-geocode/.eslintignore
new file mode 100644
index 00000000000..cfc348ec4d1
--- /dev/null
+++ b/packages/google-maps-geocode/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/.coverage
+build/
+docs/
+protos/
+system-test/
+samples/generated/
diff --git a/packages/google-maps-geocode/.eslintrc.json b/packages/google-maps-geocode/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-maps-geocode/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-maps-geocode/.gitattributes b/packages/google-maps-geocode/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-maps-geocode/.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/packages/google-maps-geocode/.gitignore b/packages/google-maps-geocode/.gitignore
new file mode 100644
index 00000000000..d4f03a0df2e
--- /dev/null
+++ b/packages/google-maps-geocode/.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/packages/google-maps-geocode/.jsdoc.js b/packages/google-maps-geocode/.jsdoc.js
new file mode 100644
index 00000000000..696ffbbe707
--- /dev/null
+++ b/packages/google-maps-geocode/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2026 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 2026 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/geocode',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-maps-geocode/.mocharc.js b/packages/google-maps-geocode/.mocharc.js
new file mode 100644
index 00000000000..5eb34e86c87
--- /dev/null
+++ b/packages/google-maps-geocode/.mocharc.js
@@ -0,0 +1,33 @@
+// Copyright 2026 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. **
+
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000
+}
+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/packages/google-maps-geocode/.nycrc b/packages/google-maps-geocode/.nycrc
new file mode 100644
index 00000000000..81a95fc94b0
--- /dev/null
+++ b/packages/google-maps-geocode/.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
+}
\ No newline at end of file
diff --git a/packages/google-maps-geocode/.prettierignore b/packages/google-maps-geocode/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-maps-geocode/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-maps-geocode/.prettierrc.js b/packages/google-maps-geocode/.prettierrc.js
new file mode 100644
index 00000000000..7649ee3c254
--- /dev/null
+++ b/packages/google-maps-geocode/.prettierrc.js
@@ -0,0 +1,22 @@
+// Copyright 2026 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. **
+
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-maps-geocode/.repo-metadata.json b/packages/google-maps-geocode/.repo-metadata.json
new file mode 100644
index 00000000000..64a2220f423
--- /dev/null
+++ b/packages/google-maps-geocode/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "name": "geocode",
+ "name_pretty": "Geocoding API",
+ "product_documentation": "https://developers.google.com/maps/documentation/geocoding/overview",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/geocode/latest",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "preview",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-cloud/geocode",
+ "api_id": "geocoding-backend.googleapis.com",
+ "default_version": "v4",
+ "requires_billing": true,
+ "library_type": "GAPIC_AUTO",
+ "api_shortname": "geocode"
+}
+
diff --git a/packages/google-maps-geocode/CODE_OF_CONDUCT.md b/packages/google-maps-geocode/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-maps-geocode/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/packages/google-maps-geocode/CONTRIBUTING.md b/packages/google-maps-geocode/CONTRIBUTING.md
new file mode 100644
index 00000000000..bef80499acb
--- /dev/null
+++ b/packages/google-maps-geocode/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# 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 billing for your project][billing].
+1. [Enable the Geocode 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=geocoding-backend.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-maps-geocode/LICENSE b/packages/google-maps-geocode/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-maps-geocode/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/packages/google-maps-geocode/README.md b/packages/google-maps-geocode/README.md
new file mode 100644
index 00000000000..16505235b94
--- /dev/null
+++ b/packages/google-maps-geocode/README.md
@@ -0,0 +1,117 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "The comments you see below are used to generate those parts of the template in later states."
+
+
+# [Geocoding API: Nodejs Client][homepage]
+
+This library is considered to be in **preview**. This means it is still a
+work-in-progress and under active development. Any release is subject to
+backwards-incompatible changes at any time.
+
+[](https://www.npmjs.org/package/@google-cloud/geocode)
+
+Geocoding API client for Node.js
+
+[//]: # "partials.introduction"
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG][homepage_changelog].
+
+* [Geocoding API Nodejs Client API Reference](https://cloud.google.com/nodejs/docs/reference/geocode/latest)
+* [Geocoding API Documentation](https://developers.google.com/maps/documentation/geocoding/overview)
+
+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)
+
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Geocoding API 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/geocode
+```
+
+[//]: # "partials.body"
+
+## Samples
+
+Samples are in the [`samples/`][homepage_samples] directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code |
+| --------------------------- | --------------------------------- |
+| search destinations | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode/samples/generated/v4/destination_service.search_destinations.js) |
+| geocode address | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode/samples/generated/v4/geocode_service.geocode_address.js) |
+| geocode location | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode/samples/generated/v4/geocode_service.geocode_location.js) |
+| geocode place | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode/samples/generated/v4/geocode_service.geocode_place.js) |
+| maps | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode/samples/generated/v4/snippet_metadata_google.maps.geocode.v4.json) |
+
+
+## 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/geocode@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+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/google-cloud-node/blob/main/packages/google-maps-geocode/CONTRIBUTING.md).
+
+Please note that this `README.md`
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template.
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode/LICENSE)
+
+[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=geocoding-backend.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local
+[homepage_samples]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode/samples
+[homepage_changelog]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode/CHANGELOG.md
+[homepage]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-geocode
diff --git a/packages/google-maps-geocode/package.json b/packages/google-maps-geocode/package.json
new file mode 100644
index 00000000000..573509f9dbb
--- /dev/null
+++ b/packages/google-maps-geocode/package.json
@@ -0,0 +1,70 @@
+{
+ "name": "@google-cloud/geocode",
+ "version": "0.0.0",
+ "description": "Geocoding API client for Node.js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/googleapis/google-cloud-node.git",
+ "directory": "packages/google-maps-geocode"
+ },
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-maps-geocode",
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google geocode",
+ "geocode",
+ "Geocoding API"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "postpack": "minifyProtoJson",
+ "prepare": "npm run compile",
+ "system-test": "c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "cd samples/ && npm link ../ && npm i && npm test",
+ "prelint": "cd samples; npm link ../; npm i"
+ },
+ "dependencies": {
+ "google-gax": "^5.0.0"
+ },
+ "devDependencies": {
+ "@types/mocha": "^10.0.10",
+ "@types/node": "^22.13.9",
+ "@types/sinon": "^17.0.4",
+ "c8": "^10.1.3",
+ "gapic-tools": "^1.0.0",
+ "gts": "^6.0.2",
+ "jsdoc": "^4.0.4",
+ "jsdoc-fresh": "^4.0.0",
+ "jsdoc-region-tag": "^3.0.0",
+ "linkinator": "^6.1.2",
+ "long": "^5.3.1",
+ "mocha": "^11.1.0",
+ "pack-n-play": "^3.0.0",
+ "sinon": "^21.0.0",
+ "typescript": "^5.8.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+}
diff --git a/packages/google-maps-geocode/protos/google/geo/type/viewport.proto b/packages/google-maps-geocode/protos/google/geo/type/viewport.proto
new file mode 100644
index 00000000000..08c0cce8cfc
--- /dev/null
+++ b/packages/google-maps-geocode/protos/google/geo/type/viewport.proto
@@ -0,0 +1,69 @@
+// 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.geo.type;
+
+import "google/type/latlng.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/geo/type/viewport;viewport";
+option java_multiple_files = true;
+option java_outer_classname = "ViewportProto";
+option java_package = "com.google.geo.type";
+option objc_class_prefix = "GGTP";
+
+// A latitude-longitude viewport, represented as two diagonally opposite `low`
+// and `high` points. A viewport is considered a closed region, i.e. it includes
+// its boundary. The latitude bounds must range between -90 to 90 degrees
+// inclusive, and the longitude bounds must range between -180 to 180 degrees
+// inclusive. Various cases include:
+//
+// - If `low` = `high`, the viewport consists of that single point.
+//
+// - If `low.longitude` > `high.longitude`, the longitude range is inverted
+// (the viewport crosses the 180 degree longitude line).
+//
+// - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees,
+// the viewport includes all longitudes.
+//
+// - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees,
+// the longitude range is empty.
+//
+// - If `low.latitude` > `high.latitude`, the latitude range is empty.
+//
+// Both `low` and `high` must be populated, and the represented box cannot be
+// empty (as specified by the definitions above). An empty viewport will result
+// in an error.
+//
+// For example, this viewport fully encloses New York City:
+//
+// {
+// "low": {
+// "latitude": 40.477398,
+// "longitude": -74.259087
+// },
+// "high": {
+// "latitude": 40.91618,
+// "longitude": -73.70018
+// }
+// }
+message Viewport {
+ // Required. The low point of the viewport.
+ google.type.LatLng low = 1;
+
+ // Required. The high point of the viewport.
+ google.type.LatLng high = 2;
+}
diff --git a/packages/google-maps-geocode/protos/google/maps/geocode/v4/destination_service.proto b/packages/google-maps-geocode/protos/google/maps/geocode/v4/destination_service.proto
new file mode 100644
index 00000000000..2bb717de85e
--- /dev/null
+++ b/packages/google-maps-geocode/protos/google/maps/geocode/v4/destination_service.proto
@@ -0,0 +1,431 @@
+// Copyright 2026 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.maps.geocode.v4;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/protobuf/struct.proto";
+import "google/type/latlng.proto";
+import "google/type/localized_text.proto";
+import "google/type/postal_address.proto";
+
+option csharp_namespace = "Google.Maps.Geocode.V4";
+option go_package = "cloud.google.com/go/maps/geocode/apiv4/geocodepb;geocodepb";
+option java_multiple_files = true;
+option java_outer_classname = "DestinationServiceProto";
+option java_package = "com.google.maps.geocode.v4";
+option objc_class_prefix = "GMPG";
+option php_namespace = "Google\\Maps\\Geocode\\V4";
+option ruby_package = "Google::Maps::Geocode::V4";
+
+// A service for retrieving destinations.
+//
+// A destination provides hierarchical context about a place, which
+// allows you to, for example, find apartment buildings within a larger
+// apartment complex and vice versa. It also provides navigation points suitable
+// for use cases such as ridesharing or delivery.
+service DestinationService {
+ option (google.api.default_host) = "geocoding-backend.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/maps-platform.destinations,"
+ "https://www.googleapis.com/auth/maps-platform.geocode";
+
+ // This method performs a destination lookup and returns a list of
+ // destinations.
+ rpc SearchDestinations(SearchDestinationsRequest)
+ returns (SearchDestinationsResponse) {
+ option (google.api.http) = {
+ post: "/v4/geocode/destinations"
+ body: "*"
+ };
+ }
+}
+
+// Request message for DestinationService.SearchDestinations.
+message SearchDestinationsRequest {
+ // The street address that you want to search for. Specify addresses in
+ // accordance with the format used by the national postal service of the
+ // country concerned.
+ message AddressQuery {
+ // The address query.
+ oneof kind {
+ // A street address in postal address format.
+ google.type.PostalAddress address = 1;
+
+ // A street address formatted as a single line.
+ string address_query = 2;
+ }
+ }
+
+ // A location query to identify a nearby primary destination.
+ //
+ // Note: if the location query is within a building that contains subpremises,
+ // it is possible that the returned primary place is a subpremise. In these
+ // cases, the `containing_places` field will include the building.
+ message LocationQuery {
+ // Filters to apply to destination candidates.
+ message PlaceFilter {
+ // Defines options for addressability filtering. New values may be added
+ // in the future.
+ enum Addressability {
+ // When unspecified, the service will choose a sensible default.
+ ADDRESSABILITY_UNSPECIFIED = 0;
+
+ // Addressability is not a filtering criteria. Destinations are returned
+ // regardless of their addressability.
+ ANY = 1;
+
+ // All destinations returned will have a primary place with a street
+ // level address or name.
+ PRIMARY = 2;
+
+ // All destinations returned will have either a primary place or a
+ // subdestination with a street level address or name.
+ WEAK = 3;
+ }
+
+ // Optional. If specified, all destinations are guaranteed to have a
+ // primary place with this structure type. This can result in filtering
+ // out some destinations, or in coarsening/refining the returned
+ // destinations.
+ //
+ // For example, if `GROUNDS` is specified, all returned destinations will
+ // have a primary place with the `GROUNDS` structure type. This can
+ // result in filtering out some destinations that are not part of a
+ // grounds, or in coarsening the returned destinations to the grounds
+ // level.
+ //
+ // Another use of this field is to more easily extract building display
+ // polygons. For example, if `BUILDING` is specified, the primary place's
+ // display polygon will be for the building at the specified location.
+ PlaceView.StructureType structure_type = 2
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If specified, only returns destinations that meet the
+ // corresponding addressability criteria.
+ Addressability addressability = 3
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // The location query.
+ oneof kind {
+ // A precise LatLng location.
+ google.type.LatLng location = 1;
+ }
+
+ // Optional. Filters to apply to destination candidates.
+ PlaceFilter place_filter = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Query for the primary destination. This can be either a place, a fully
+ // specified address, or a LatLng location. Some places and addresses with
+ // minimal information won't be able to be turned into a destination.
+ //
+ // The destinations are built around the specified primary query.
+ //
+ // Note: only places and addresses that can have a navigational destination
+ // are supported. For example, a place that represents a house or an apartment
+ // complex can be used as the primary query, but places that represent a
+ // locality or an administrative area cannot be used as the primary query.
+ oneof primary_query {
+ // The resource name of a place, in `places/{place_id}` format.
+ string place = 1;
+
+ // A street address.
+ AddressQuery address_query = 2;
+
+ // A precise location.
+ LocationQuery location_query = 3;
+ }
+
+ // Optional. The travel modes to filter navigation points for. This influences
+ // the `navigation_points` field returned in the response. If empty,
+ // navigation points of all travel modes are returned.
+ repeated NavigationPoint.TravelMode travel_modes = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Language in which the results should be returned.
+ string language_code = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Region code. The region code, specified as a ccTLD ("top-level
+ // domain") two-character value. The parameter affects results based on
+ // applicable law. This parameter also influences, but not fully restricts,
+ // results from the service.
+ string region_code = 7 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for DestinationService.SearchDestinations.
+message SearchDestinationsResponse {
+ // A list of destinations.
+ //
+ // The service returns one result if a primary destination can be
+ // unambiguously identified from the primary query. Otherwise, the service
+ // might return multiple results for disambiguation or zero results.
+ repeated Destination destinations = 1;
+}
+
+// A destination. This includes the primary place, related places,
+// entrances, and navigation points.
+message Destination {
+ // The primary place identified by the `primary_query` in the request.
+ PlaceView primary = 1;
+
+ // The less precise places that the primary place is contained by.
+ // For example, the apartment complex that contains this building.
+ repeated PlaceView containing_places = 2;
+
+ // More precise sub-destinations of the primary place. For example, units
+ // contained in a building.
+ //
+ // Note: compared to the
+ // [SubDestination](/maps/documentation/places/web-service/reference/rest/v1/places#SubDestination)
+ // returned by the Places API, this list of sub-destinations is more
+ // exhaustive, and each sub-destination contains more information.
+ repeated PlaceView sub_destinations = 3;
+
+ // Landmarks that can be used to communicate where the destination is
+ // or help with arrival.
+ repeated Landmark landmarks = 4;
+
+ // Entrances for this destination.
+ repeated Entrance entrances = 5;
+
+ // Navigation points for this destination.
+ repeated NavigationPoint navigation_points = 6;
+}
+
+// Represents a view of a
+// [Place](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#resource:-place)
+// in the Places API. It also provides additional information specific to
+// destinations, such as the structure type and the display polygon.
+//
+// In some cases, a `PlaceView` with the same place ID might differ from what
+// is being returned by the Places API for the `types` and
+// `display_name` fields.
+message PlaceView {
+ // The type of structure that this place represents.
+ enum StructureType {
+ // Not used.
+ STRUCTURE_TYPE_UNSPECIFIED = 0;
+
+ // A point location.
+ POINT = 1;
+
+ // A sub-section of a building.
+ SECTION = 2;
+
+ // A building.
+ BUILDING = 3;
+
+ // A large area that typically contains multiple buildings, such as a
+ // university campus, an apartment complex, or a shopping mall.
+ GROUNDS = 4;
+ }
+
+ // This place's resource name, in `places/{placeId}` format.
+ string place = 1;
+
+ // Human readable place description. For example, "Gate B", "McDonalds"
+ google.type.LocalizedText display_name = 3;
+
+ // The primary place type of this place. See
+ // https://developers.google.com/maps/documentation/places/web-service/place-types
+ // for the list of possible values.
+ //
+ // Note: This field is not always populated. Be prepared to use the `types`
+ // field in such situations.
+ string primary_type = 4;
+
+ // All associated place types of this place. See
+ // https://developers.google.com/maps/documentation/places/web-service/place-types
+ // for the list of possible values.
+ repeated string types = 5;
+
+ // One line address.
+ string formatted_address = 6;
+
+ // Structured address.
+ google.type.PostalAddress postal_address = 7;
+
+ // The type of structure corresponding to this place.
+ StructureType structure_type = 8;
+
+ // The location of this place. For places with display polygons, this can
+ // represent a good spot to put a marker on the map.
+ google.type.LatLng location = 9;
+
+ // The polygon outline of the place in GeoJSON format, using the RFC 7946
+ // format: https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6.
+ //
+ // Note: The RFC 7946 format supports MultiPolygons, so one `display_polygon`
+ // object can represent multiple polygons.
+ google.protobuf.Struct display_polygon = 10;
+}
+
+// An entrance is a single latitude/longitude coordinate pair that defines the
+// location of an entry and exit point for a place.
+message Entrance {
+ // Characteristics that describe an entrance.
+ enum Tag {
+ // Not used.
+ TAG_UNSPECIFIED = 0;
+
+ // The entrance likely provides physical access to the primary place in
+ // the returned destination. A place can have multiple preferred entrances.
+ // If an entrance does not have this tag, it means the entrance is
+ // physically on the same building as the primary place, but does not
+ // necessarily provide access to the place.
+ //
+ // For example, if the primary place is a restaurant in a strip mall, the
+ // "PREFERRED" entrances will be the ones that likely lead into the
+ // restaurant itself, while the other returned entrances will be other
+ // entrances for the building, such as entrances into other restaurants in
+ // the strip mall.
+ //
+ // If the primary place is a building itself, the `PREFERRED` entrances
+ // will be the ones that lead into the "main" part of the building. For
+ // example, in a shopping center the `PREFERRED` entrances will be the ones
+ // that allow access to the main foyer area, but if an entrance only
+ // provides access to a store on the side of the building, it won't be a
+ // `PREFERRED` entrance.
+ //
+ // Note: a `PREFERRED` entrance might not provide access to the primary
+ // place, and a non-`PREFERRED` entrance might provide access to the
+ // primary place.
+ PREFERRED = 1;
+ }
+
+ // The location of the entrance.
+ google.type.LatLng location = 2;
+
+ // A list of tags that describe the entrance.
+ repeated Tag tags = 3;
+
+ // The structure this entrance is physically located on, in
+ // `places/{place_id}` format.
+ string place = 4;
+}
+
+// A navigation point is a location next to a road where navigation can end.
+message NavigationPoint {
+ // Travel modes that are appropriate for this navigation point.
+ enum TravelMode {
+ // Not used.
+ TRAVEL_MODE_UNSPECIFIED = 0;
+
+ // Suitable for driving.
+ DRIVE = 1;
+
+ // Suitable for walking.
+ WALK = 2;
+ }
+
+ // Usages supported by this navigation point.
+ // New values may be added in the future.
+ enum Usage {
+ // Not used.
+ USAGE_UNSPECIFIED = 0;
+
+ // Unknown usage type. Most navigation points will be `UNKNOWN` and it does
+ // not necessarily mean their usage is restricted in any way. This
+ // navigation might still be suitable for pickup and/or dropoff.
+ UNKNOWN = 1;
+
+ // Suitable for dropping off a passenger. For example, a rideshare drop off
+ // location.
+ DROPOFF = 2;
+
+ // Suitable for picking up a passenger. For example, a rideshare pick up
+ // location.
+ PICKUP = 3;
+
+ // Suitable for parking. For example, within a parking lot.
+ PARKING = 4;
+ }
+
+ // Output only. A token that can be used to identify this navigation point.
+ string navigation_point_token = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The display name of this navigation point. For example, "5th Ave" or "Gate
+ // B".
+ google.type.LocalizedText display_name = 2;
+
+ // A point next to the road segment where navigation should end. The point is
+ // intentionally slightly offset from the road's centerline to clearly mark
+ // the side of the road where the place is located.
+ google.type.LatLng location = 3;
+
+ // Travel modes that are appropriate for this navigation point.
+ repeated TravelMode travel_modes = 4;
+
+ // Usages supported by this navigation point.
+ repeated Usage usages = 5;
+}
+
+// Landmarks are used to communicate where the destination is or help with
+// arriving at the destination.
+message Landmark {
+ // The list of all possible tags that describe how a landmark can be used in
+ // the context of a destination.
+ //
+ // If an address has both the `ADDRESS` and `ARRIVAL` tags, it means the
+ // landmark is both locally prominent and close to the destination.
+ enum Tag {
+ // Not used.
+ TAG_UNSPECIFIED = 0;
+
+ // A locally prominent place that can be used to identify the general
+ // location of the destination. Typically within a few hundred meters of the
+ // destination. These are similar to the landmarks returned by the
+ // Address Descriptors feature of the Geocoding API:
+ // https://developers.google.com/maps/documentation/geocoding/address-descriptors/requests-address-descriptors.
+ ADDRESS = 1;
+
+ // A place that can be used to help arrive at the destination. Useful for
+ // navigation once you are close to the destination. For example, this
+ // landmark might be a place that is across the street from the destination.
+ // A landmark with this tag is typically closer to the destination than
+ // landmarks with the `ADDRESS` tag.
+ ARRIVAL = 2;
+ }
+
+ // The landmark.
+ oneof landmark {
+ // The place that represents this landmark.
+ PlaceView place = 1;
+ }
+
+ // A human-readable description of how the destination relates to the
+ // landmark. For example: "Near the Empire State Building" or "Across from
+ // the White House".
+ google.type.LocalizedText relational_description = 2;
+
+ // Tags that describe how the landmark can be used in the context of the
+ // destination.
+ repeated Tag tags = 3;
+
+ // Output only. The straight-line distance from this landmark to the
+ // destination in meters.
+ double straight_line_distance_meters = 4
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The road-network distance from this landmark to the
+ // destination in meters.
+ double travel_distance_meters = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-maps-geocode/protos/google/maps/geocode/v4/geocode_service.proto b/packages/google-maps-geocode/protos/google/maps/geocode/v4/geocode_service.proto
new file mode 100644
index 00000000000..152552355cc
--- /dev/null
+++ b/packages/google-maps-geocode/protos/google/maps/geocode/v4/geocode_service.proto
@@ -0,0 +1,281 @@
+// Copyright 2026 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.maps.geocode.v4;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/geo/type/viewport.proto";
+import "google/type/latlng.proto";
+import "google/type/localized_text.proto";
+import "google/type/postal_address.proto";
+
+option csharp_namespace = "Google.Maps.Geocode.V4";
+option go_package = "cloud.google.com/go/maps/geocode/apiv4/geocodepb;geocodepb";
+option java_multiple_files = true;
+option java_outer_classname = "GeocodeServiceProto";
+option java_package = "com.google.maps.geocode.v4";
+option objc_class_prefix = "GMPG";
+option php_namespace = "Google\\Maps\\Geocode\\V4";
+option ruby_package = "Google::Maps::Geocode::V4";
+
+// A service for performing geocoding.
+service GeocodeService {
+ option (google.api.default_host) = "geocoding-backend.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/maps-platform.geocode,"
+ "https://www.googleapis.com/auth/maps-platform.geocode.address,"
+ "https://www.googleapis.com/auth/maps-platform.geocode.location,"
+ "https://www.googleapis.com/auth/maps-platform.geocode.place";
+
+ // This method performs an address geocode, which maps an address to a
+ // LatLng. It also provides structured information about the address.
+ rpc GeocodeAddress(GeocodeAddressRequest) returns (GeocodeAddressResponse) {
+ option (google.api.http) = {
+ get: "/v4/geocode/address"
+ additional_bindings { get: "/v4/geocode/address/{address_query}" }
+ };
+ }
+
+ // This method performs a location geocode, which maps a LatLng to an
+ // address. It also provides structured information about the address.
+ rpc GeocodeLocation(GeocodeLocationRequest)
+ returns (GeocodeLocationResponse) {
+ option (google.api.http) = {
+ get: "/v4/geocode/location"
+ additional_bindings { get: "/v4/geocode/location/{location_query}" }
+ };
+ }
+
+ // This method performs a geocode lookup using a place ID.
+ rpc GeocodePlace(GeocodePlaceRequest) returns (GeocodeResult) {
+ option (google.api.http) = {
+ get: "/v4/geocode/{place=places/*}"
+ };
+ }
+}
+
+// Request message for GeocodeService.GeocodeAddress.
+message GeocodeAddressRequest {
+ // The region to search. This location serves as a bias which means results
+ // around the given location are preferred.
+ message LocationBias {
+ // Types of location bias.
+ oneof type {
+ // A rectangular box defined by northeast and southwest corner.
+ // `rectangle.high()` must be the northeast point of the rectangle
+ // viewport. `rectangle.low()` must be the southwest point of the
+ // rectangle viewport. `rectangle.low().latitude()` cannot be greater than
+ // `rectangle.high().latitude()`. This will result in an empty latitude
+ // range. A rectangle viewport cannot be wider than 180 degrees.
+ google.geo.type.Viewport rectangle = 1;
+ }
+ }
+
+ // The address to geocode.
+ oneof address_input {
+ // The unstructured address to geocode.
+ string address_query = 1;
+
+ // The structured address to geocode in postal address format.
+ google.type.PostalAddress address = 2;
+ }
+
+ // Optional. The region to search. This location serves as a bias which means
+ // results around the given location are preferred.
+ LocationBias location_bias = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Language in which the results should be returned.
+ string language_code = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Region code. The region code, specified as a ccTLD ("top-level
+ // domain") two-character value. The parameter affects results based on
+ // applicable law. This parameter will also influence, but not fully restrict,
+ // results from the service.
+ string region_code = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for GeocodeService.GeocodeLocation.
+message GeocodeLocationRequest {
+ // The location to geocode.
+ oneof location_input {
+ // The location in the format of "lat,lng" string. For example,
+ // "64.7611872,-18.4705364".
+ string location_query = 1;
+
+ // The location in the structured format.
+ google.type.LatLng location = 2;
+ }
+
+ // Optional. Language in which the results should be returned.
+ string language_code = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Region code. The region code, specified as a ccTLD ("top-level
+ // domain") two-character value. The parameter affects results based on
+ // applicable law.
+ string region_code = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A set of type tags to restrict the results. Results that do not
+ // have any of the specified types are removed.
+ //
+ // For the complete list of possible values, see Table A and Table B at
+ // https://developers.google.com/maps/documentation/places/web-service/place-types.
+ repeated string types = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A filter of one or more location granularity enums.
+ repeated GeocodeResult.Granularity granularity = 6
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for GeocodeService.GeocodePlace.
+message GeocodePlaceRequest {
+ // Required. Place identifier to geocode in the format of places/{place}.
+ string place = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Language in which the results should be returned.
+ string language_code = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Region code. The region code, specified as a ccTLD ("top-level
+ // domain") two-character value. The parameter affects results based on
+ // applicable law.
+ string region_code = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Plus code (http://plus.codes) is a location reference with two formats:
+// global code defining a 14mx14m (1/8000th of a degree) or smaller rectangle,
+// and compound code, replacing the prefix with a reference location.
+message PlusCode {
+ // Place's global (full) code, such as "9FWM33GV+HQ", representing an
+ // 1/8000 by 1/8000 degree area (~14 by 14 meters).
+ string global_code = 1;
+
+ // Place's compound code, such as "33GV+HQ, Ramberg, Norway", containing
+ // the suffix of the global code and replacing the prefix with a formatted
+ // name of a reference entity.
+ string compound_code = 2;
+}
+
+// A geocode result contains geographic information about a place.
+message GeocodeResult {
+ // The structured components that form the formatted address, if this
+ // information is available.
+ message AddressComponent {
+ // The full text description or name of the address component. For example,
+ // an address component for the country Australia may have a long name of
+ // "Australia".
+ string long_text = 1;
+
+ // An abbreviated textual name for the address component, if available. For
+ // example, an address component for the country of Australia may have a
+ // short name of "AU".
+ string short_text = 2;
+
+ // An array indicating the type(s) of the address component.
+ //
+ // See
+ // https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types
+ // for more details.
+ repeated string types = 3;
+
+ // The language used to format this component, in CLDR notation.
+ string language_code = 4;
+ }
+
+ // The granularity of the location.
+ enum Granularity {
+ // Do not use.
+ GRANULARITY_UNSPECIFIED = 0;
+
+ // The non-interpolated location of an actual plot of land corresponding
+ // to the matched address.
+ ROOFTOP = 1;
+
+ // Interpolated from a range of street numbers. For example, if we know
+ // that a segment of Amphitheatre Pkwy contains numbers 1600 - 1699, then
+ // 1650 might be placed halfway between its endpoints.
+ RANGE_INTERPOLATED = 2;
+
+ // The geometric center of a feature for which we have polygonal data.
+ GEOMETRIC_CENTER = 3;
+
+ // Everything else.
+ APPROXIMATE = 4;
+ }
+
+ // The fully qualified place identifier for this result.
+ // In the format of "//places.googleapis.com/places/{placeID}". See
+ // https://developers.google.com/maps/documentation/places/web-service/place-id.
+ // for more details.
+ string place = 1;
+
+ // The place ID for this result.
+ string place_id = 2;
+
+ // The latlng of this address.
+ google.type.LatLng location = 3;
+
+ // The granularity of the location.
+ Granularity granularity = 4;
+
+ // A viewport suitable for displaying the geocode result.
+ google.geo.type.Viewport viewport = 5;
+
+ // A bounding box for the address.
+ google.geo.type.Viewport bounds = 6;
+
+ // The one line formatted address.
+ string formatted_address = 7;
+
+ // The address in postal address format.
+ google.type.PostalAddress postal_address = 8;
+
+ // Repeated components for each locality level.
+ repeated AddressComponent address_components = 9;
+
+ // Complete list of localities contained in the postal code.
+ //
+ // This is only populated when the result is of type "postal_code".
+ repeated google.type.LocalizedText postal_code_localities = 11;
+
+ // A set of type tags for this result. For
+ // example, "political" and "administrative_area".
+ //
+ // For the complete list of possible values, see Table A and Table B at
+ // https://developers.google.com/maps/documentation/places/web-service/place-types.
+ repeated string types = 12;
+
+ // Plus code of the location in this geocode.
+ PlusCode plus_code = 13;
+}
+
+// Response message for
+// [GeocodeService.GeocodeAddress][google.maps.geocode.v4.GeocodeService.GeocodeAddress].
+message GeocodeAddressResponse {
+ // The geocoding result.
+ repeated GeocodeResult results = 1;
+}
+
+// Response message for
+// [GeocodeService.GeocodeLocation][google.maps.geocode.v4.GeocodeService.GeocodeLocation].
+message GeocodeLocationResponse {
+ // The geocoding result.
+ repeated GeocodeResult results = 1;
+
+ // Plus code of the location in the request.
+ PlusCode plus_code = 2;
+}
diff --git a/packages/google-maps-geocode/protos/protos.d.ts b/packages/google-maps-geocode/protos/protos.d.ts
new file mode 100644
index 00000000000..21487b18ced
--- /dev/null
+++ b/packages/google-maps-geocode/protos/protos.d.ts
@@ -0,0 +1,9337 @@
+// Copyright 2026 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 geo. */
+ namespace geo {
+
+ /** Namespace type. */
+ namespace type {
+
+ /** Properties of a Viewport. */
+ interface IViewport {
+
+ /** Viewport low */
+ low?: (google.type.ILatLng|null);
+
+ /** Viewport high */
+ high?: (google.type.ILatLng|null);
+ }
+
+ /** Represents a Viewport. */
+ class Viewport implements IViewport {
+
+ /**
+ * Constructs a new Viewport.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.geo.type.IViewport);
+
+ /** Viewport low. */
+ public low?: (google.type.ILatLng|null);
+
+ /** Viewport high. */
+ public high?: (google.type.ILatLng|null);
+
+ /**
+ * Creates a new Viewport instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Viewport instance
+ */
+ public static create(properties?: google.geo.type.IViewport): google.geo.type.Viewport;
+
+ /**
+ * Encodes the specified Viewport message. Does not implicitly {@link google.geo.type.Viewport.verify|verify} messages.
+ * @param message Viewport message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.geo.type.IViewport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Viewport message, length delimited. Does not implicitly {@link google.geo.type.Viewport.verify|verify} messages.
+ * @param message Viewport message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.geo.type.IViewport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Viewport message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Viewport
+ * @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.geo.type.Viewport;
+
+ /**
+ * Decodes a Viewport message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Viewport
+ * @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.geo.type.Viewport;
+
+ /**
+ * Verifies a Viewport 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 Viewport message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Viewport
+ */
+ public static fromObject(object: { [k: string]: any }): google.geo.type.Viewport;
+
+ /**
+ * Creates a plain object from a Viewport message. Also converts values to other types if specified.
+ * @param message Viewport
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.geo.type.Viewport, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Viewport to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Viewport
+ * @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;
+ }
+
+ /** Properties of a LocalizedText. */
+ interface ILocalizedText {
+
+ /** LocalizedText text */
+ text?: (string|null);
+
+ /** LocalizedText languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a LocalizedText. */
+ class LocalizedText implements ILocalizedText {
+
+ /**
+ * Constructs a new LocalizedText.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.ILocalizedText);
+
+ /** LocalizedText text. */
+ public text: string;
+
+ /** LocalizedText languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new LocalizedText instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocalizedText instance
+ */
+ public static create(properties?: google.type.ILocalizedText): google.type.LocalizedText;
+
+ /**
+ * Encodes the specified LocalizedText message. Does not implicitly {@link google.type.LocalizedText.verify|verify} messages.
+ * @param message LocalizedText message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.ILocalizedText, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocalizedText message, length delimited. Does not implicitly {@link google.type.LocalizedText.verify|verify} messages.
+ * @param message LocalizedText message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.ILocalizedText, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocalizedText message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocalizedText
+ * @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.LocalizedText;
+
+ /**
+ * Decodes a LocalizedText message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocalizedText
+ * @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.LocalizedText;
+
+ /**
+ * Verifies a LocalizedText 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 LocalizedText message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocalizedText
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.LocalizedText;
+
+ /**
+ * Creates a plain object from a LocalizedText message. Also converts values to other types if specified.
+ * @param message LocalizedText
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.LocalizedText, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocalizedText to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocalizedText
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PostalAddress. */
+ interface IPostalAddress {
+
+ /** PostalAddress revision */
+ revision?: (number|null);
+
+ /** PostalAddress regionCode */
+ regionCode?: (string|null);
+
+ /** PostalAddress languageCode */
+ languageCode?: (string|null);
+
+ /** PostalAddress postalCode */
+ postalCode?: (string|null);
+
+ /** PostalAddress sortingCode */
+ sortingCode?: (string|null);
+
+ /** PostalAddress administrativeArea */
+ administrativeArea?: (string|null);
+
+ /** PostalAddress locality */
+ locality?: (string|null);
+
+ /** PostalAddress sublocality */
+ sublocality?: (string|null);
+
+ /** PostalAddress addressLines */
+ addressLines?: (string[]|null);
+
+ /** PostalAddress recipients */
+ recipients?: (string[]|null);
+
+ /** PostalAddress organization */
+ organization?: (string|null);
+ }
+
+ /** Represents a PostalAddress. */
+ class PostalAddress implements IPostalAddress {
+
+ /**
+ * Constructs a new PostalAddress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IPostalAddress);
+
+ /** PostalAddress revision. */
+ public revision: number;
+
+ /** PostalAddress regionCode. */
+ public regionCode: string;
+
+ /** PostalAddress languageCode. */
+ public languageCode: string;
+
+ /** PostalAddress postalCode. */
+ public postalCode: string;
+
+ /** PostalAddress sortingCode. */
+ public sortingCode: string;
+
+ /** PostalAddress administrativeArea. */
+ public administrativeArea: string;
+
+ /** PostalAddress locality. */
+ public locality: string;
+
+ /** PostalAddress sublocality. */
+ public sublocality: string;
+
+ /** PostalAddress addressLines. */
+ public addressLines: string[];
+
+ /** PostalAddress recipients. */
+ public recipients: string[];
+
+ /** PostalAddress organization. */
+ public organization: string;
+
+ /**
+ * Creates a new PostalAddress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PostalAddress instance
+ */
+ public static create(properties?: google.type.IPostalAddress): google.type.PostalAddress;
+
+ /**
+ * Encodes the specified PostalAddress message. Does not implicitly {@link google.type.PostalAddress.verify|verify} messages.
+ * @param message PostalAddress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IPostalAddress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PostalAddress message, length delimited. Does not implicitly {@link google.type.PostalAddress.verify|verify} messages.
+ * @param message PostalAddress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IPostalAddress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PostalAddress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PostalAddress
+ * @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.PostalAddress;
+
+ /**
+ * Decodes a PostalAddress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PostalAddress
+ * @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.PostalAddress;
+
+ /**
+ * Verifies a PostalAddress 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 PostalAddress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PostalAddress
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.PostalAddress;
+
+ /**
+ * Creates a plain object from a PostalAddress message. Also converts values to other types if specified.
+ * @param message PostalAddress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.PostalAddress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PostalAddress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PostalAddress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace maps. */
+ namespace maps {
+
+ /** Namespace geocode. */
+ namespace geocode {
+
+ /** Namespace v4. */
+ namespace v4 {
+
+ /** Represents a DestinationService */
+ class DestinationService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new DestinationService 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 DestinationService 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): DestinationService;
+
+ /**
+ * Calls SearchDestinations.
+ * @param request SearchDestinationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchDestinationsResponse
+ */
+ public searchDestinations(request: google.maps.geocode.v4.ISearchDestinationsRequest, callback: google.maps.geocode.v4.DestinationService.SearchDestinationsCallback): void;
+
+ /**
+ * Calls SearchDestinations.
+ * @param request SearchDestinationsRequest message or plain object
+ * @returns Promise
+ */
+ public searchDestinations(request: google.maps.geocode.v4.ISearchDestinationsRequest): Promise;
+ }
+
+ namespace DestinationService {
+
+ /**
+ * Callback as used by {@link google.maps.geocode.v4.DestinationService|searchDestinations}.
+ * @param error Error, if any
+ * @param [response] SearchDestinationsResponse
+ */
+ type SearchDestinationsCallback = (error: (Error|null), response?: google.maps.geocode.v4.SearchDestinationsResponse) => void;
+ }
+
+ /** Properties of a SearchDestinationsRequest. */
+ interface ISearchDestinationsRequest {
+
+ /** SearchDestinationsRequest place */
+ place?: (string|null);
+
+ /** SearchDestinationsRequest addressQuery */
+ addressQuery?: (google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery|null);
+
+ /** SearchDestinationsRequest locationQuery */
+ locationQuery?: (google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery|null);
+
+ /** SearchDestinationsRequest travelModes */
+ travelModes?: (google.maps.geocode.v4.NavigationPoint.TravelMode[]|null);
+
+ /** SearchDestinationsRequest languageCode */
+ languageCode?: (string|null);
+
+ /** SearchDestinationsRequest regionCode */
+ regionCode?: (string|null);
+ }
+
+ /** Represents a SearchDestinationsRequest. */
+ class SearchDestinationsRequest implements ISearchDestinationsRequest {
+
+ /**
+ * Constructs a new SearchDestinationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.ISearchDestinationsRequest);
+
+ /** SearchDestinationsRequest place. */
+ public place?: (string|null);
+
+ /** SearchDestinationsRequest addressQuery. */
+ public addressQuery?: (google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery|null);
+
+ /** SearchDestinationsRequest locationQuery. */
+ public locationQuery?: (google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery|null);
+
+ /** SearchDestinationsRequest travelModes. */
+ public travelModes: google.maps.geocode.v4.NavigationPoint.TravelMode[];
+
+ /** SearchDestinationsRequest languageCode. */
+ public languageCode: string;
+
+ /** SearchDestinationsRequest regionCode. */
+ public regionCode: string;
+
+ /** SearchDestinationsRequest primaryQuery. */
+ public primaryQuery?: ("place"|"addressQuery"|"locationQuery");
+
+ /**
+ * Creates a new SearchDestinationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchDestinationsRequest instance
+ */
+ public static create(properties?: google.maps.geocode.v4.ISearchDestinationsRequest): google.maps.geocode.v4.SearchDestinationsRequest;
+
+ /**
+ * Encodes the specified SearchDestinationsRequest message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.verify|verify} messages.
+ * @param message SearchDestinationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.ISearchDestinationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchDestinationsRequest message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.verify|verify} messages.
+ * @param message SearchDestinationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.ISearchDestinationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchDestinationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchDestinationsRequest
+ * @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.maps.geocode.v4.SearchDestinationsRequest;
+
+ /**
+ * Decodes a SearchDestinationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchDestinationsRequest
+ * @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.maps.geocode.v4.SearchDestinationsRequest;
+
+ /**
+ * Verifies a SearchDestinationsRequest 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 SearchDestinationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchDestinationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.SearchDestinationsRequest;
+
+ /**
+ * Creates a plain object from a SearchDestinationsRequest message. Also converts values to other types if specified.
+ * @param message SearchDestinationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.SearchDestinationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchDestinationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchDestinationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchDestinationsRequest {
+
+ /** Properties of an AddressQuery. */
+ interface IAddressQuery {
+
+ /** AddressQuery address */
+ address?: (google.type.IPostalAddress|null);
+
+ /** AddressQuery addressQuery */
+ addressQuery?: (string|null);
+ }
+
+ /** Represents an AddressQuery. */
+ class AddressQuery implements IAddressQuery {
+
+ /**
+ * Constructs a new AddressQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery);
+
+ /** AddressQuery address. */
+ public address?: (google.type.IPostalAddress|null);
+
+ /** AddressQuery addressQuery. */
+ public addressQuery?: (string|null);
+
+ /** AddressQuery kind. */
+ public kind?: ("address"|"addressQuery");
+
+ /**
+ * Creates a new AddressQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddressQuery instance
+ */
+ public static create(properties?: google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery): google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery;
+
+ /**
+ * Encodes the specified AddressQuery message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.verify|verify} messages.
+ * @param message AddressQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddressQuery message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.verify|verify} messages.
+ * @param message AddressQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddressQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddressQuery
+ * @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.maps.geocode.v4.SearchDestinationsRequest.AddressQuery;
+
+ /**
+ * Decodes an AddressQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddressQuery
+ * @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.maps.geocode.v4.SearchDestinationsRequest.AddressQuery;
+
+ /**
+ * Verifies an AddressQuery 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 AddressQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddressQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery;
+
+ /**
+ * Creates a plain object from an AddressQuery message. Also converts values to other types if specified.
+ * @param message AddressQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddressQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddressQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LocationQuery. */
+ interface ILocationQuery {
+
+ /** LocationQuery location */
+ location?: (google.type.ILatLng|null);
+
+ /** LocationQuery placeFilter */
+ placeFilter?: (google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter|null);
+ }
+
+ /** Represents a LocationQuery. */
+ class LocationQuery implements ILocationQuery {
+
+ /**
+ * Constructs a new LocationQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery);
+
+ /** LocationQuery location. */
+ public location?: (google.type.ILatLng|null);
+
+ /** LocationQuery placeFilter. */
+ public placeFilter?: (google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter|null);
+
+ /** LocationQuery kind. */
+ public kind?: "location";
+
+ /**
+ * Creates a new LocationQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocationQuery instance
+ */
+ public static create(properties?: google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery): google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery;
+
+ /**
+ * Encodes the specified LocationQuery message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.verify|verify} messages.
+ * @param message LocationQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocationQuery message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.verify|verify} messages.
+ * @param message LocationQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocationQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocationQuery
+ * @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.maps.geocode.v4.SearchDestinationsRequest.LocationQuery;
+
+ /**
+ * Decodes a LocationQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocationQuery
+ * @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.maps.geocode.v4.SearchDestinationsRequest.LocationQuery;
+
+ /**
+ * Verifies a LocationQuery 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 LocationQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocationQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery;
+
+ /**
+ * Creates a plain object from a LocationQuery message. Also converts values to other types if specified.
+ * @param message LocationQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocationQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocationQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace LocationQuery {
+
+ /** Properties of a PlaceFilter. */
+ interface IPlaceFilter {
+
+ /** PlaceFilter structureType */
+ structureType?: (google.maps.geocode.v4.PlaceView.StructureType|keyof typeof google.maps.geocode.v4.PlaceView.StructureType|null);
+
+ /** PlaceFilter addressability */
+ addressability?: (google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability|keyof typeof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability|null);
+ }
+
+ /** Represents a PlaceFilter. */
+ class PlaceFilter implements IPlaceFilter {
+
+ /**
+ * Constructs a new PlaceFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter);
+
+ /** PlaceFilter structureType. */
+ public structureType: (google.maps.geocode.v4.PlaceView.StructureType|keyof typeof google.maps.geocode.v4.PlaceView.StructureType);
+
+ /** PlaceFilter addressability. */
+ public addressability: (google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability|keyof typeof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability);
+
+ /**
+ * Creates a new PlaceFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PlaceFilter instance
+ */
+ public static create(properties?: google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter): google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter;
+
+ /**
+ * Encodes the specified PlaceFilter message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.verify|verify} messages.
+ * @param message PlaceFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PlaceFilter message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.verify|verify} messages.
+ * @param message PlaceFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PlaceFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PlaceFilter
+ * @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.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter;
+
+ /**
+ * Decodes a PlaceFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PlaceFilter
+ * @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.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter;
+
+ /**
+ * Verifies a PlaceFilter 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 PlaceFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PlaceFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter;
+
+ /**
+ * Creates a plain object from a PlaceFilter message. Also converts values to other types if specified.
+ * @param message PlaceFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PlaceFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PlaceFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PlaceFilter {
+
+ /** Addressability enum. */
+ enum Addressability {
+ ADDRESSABILITY_UNSPECIFIED = 0,
+ ANY = 1,
+ PRIMARY = 2,
+ WEAK = 3
+ }
+ }
+ }
+ }
+
+ /** Properties of a SearchDestinationsResponse. */
+ interface ISearchDestinationsResponse {
+
+ /** SearchDestinationsResponse destinations */
+ destinations?: (google.maps.geocode.v4.IDestination[]|null);
+ }
+
+ /** Represents a SearchDestinationsResponse. */
+ class SearchDestinationsResponse implements ISearchDestinationsResponse {
+
+ /**
+ * Constructs a new SearchDestinationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.ISearchDestinationsResponse);
+
+ /** SearchDestinationsResponse destinations. */
+ public destinations: google.maps.geocode.v4.IDestination[];
+
+ /**
+ * Creates a new SearchDestinationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchDestinationsResponse instance
+ */
+ public static create(properties?: google.maps.geocode.v4.ISearchDestinationsResponse): google.maps.geocode.v4.SearchDestinationsResponse;
+
+ /**
+ * Encodes the specified SearchDestinationsResponse message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsResponse.verify|verify} messages.
+ * @param message SearchDestinationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.ISearchDestinationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchDestinationsResponse message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsResponse.verify|verify} messages.
+ * @param message SearchDestinationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.ISearchDestinationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchDestinationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchDestinationsResponse
+ * @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.maps.geocode.v4.SearchDestinationsResponse;
+
+ /**
+ * Decodes a SearchDestinationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchDestinationsResponse
+ * @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.maps.geocode.v4.SearchDestinationsResponse;
+
+ /**
+ * Verifies a SearchDestinationsResponse 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 SearchDestinationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchDestinationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.SearchDestinationsResponse;
+
+ /**
+ * Creates a plain object from a SearchDestinationsResponse message. Also converts values to other types if specified.
+ * @param message SearchDestinationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.SearchDestinationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchDestinationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchDestinationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Destination. */
+ interface IDestination {
+
+ /** Destination primary */
+ primary?: (google.maps.geocode.v4.IPlaceView|null);
+
+ /** Destination containingPlaces */
+ containingPlaces?: (google.maps.geocode.v4.IPlaceView[]|null);
+
+ /** Destination subDestinations */
+ subDestinations?: (google.maps.geocode.v4.IPlaceView[]|null);
+
+ /** Destination landmarks */
+ landmarks?: (google.maps.geocode.v4.ILandmark[]|null);
+
+ /** Destination entrances */
+ entrances?: (google.maps.geocode.v4.IEntrance[]|null);
+
+ /** Destination navigationPoints */
+ navigationPoints?: (google.maps.geocode.v4.INavigationPoint[]|null);
+ }
+
+ /** Represents a Destination. */
+ class Destination implements IDestination {
+
+ /**
+ * Constructs a new Destination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IDestination);
+
+ /** Destination primary. */
+ public primary?: (google.maps.geocode.v4.IPlaceView|null);
+
+ /** Destination containingPlaces. */
+ public containingPlaces: google.maps.geocode.v4.IPlaceView[];
+
+ /** Destination subDestinations. */
+ public subDestinations: google.maps.geocode.v4.IPlaceView[];
+
+ /** Destination landmarks. */
+ public landmarks: google.maps.geocode.v4.ILandmark[];
+
+ /** Destination entrances. */
+ public entrances: google.maps.geocode.v4.IEntrance[];
+
+ /** Destination navigationPoints. */
+ public navigationPoints: google.maps.geocode.v4.INavigationPoint[];
+
+ /**
+ * Creates a new Destination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Destination instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IDestination): google.maps.geocode.v4.Destination;
+
+ /**
+ * Encodes the specified Destination message. Does not implicitly {@link google.maps.geocode.v4.Destination.verify|verify} messages.
+ * @param message Destination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Destination message, length delimited. Does not implicitly {@link google.maps.geocode.v4.Destination.verify|verify} messages.
+ * @param message Destination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Destination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Destination
+ * @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.maps.geocode.v4.Destination;
+
+ /**
+ * Decodes a Destination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Destination
+ * @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.maps.geocode.v4.Destination;
+
+ /**
+ * Verifies a Destination 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 Destination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Destination
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.Destination;
+
+ /**
+ * Creates a plain object from a Destination message. Also converts values to other types if specified.
+ * @param message Destination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.Destination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Destination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Destination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PlaceView. */
+ interface IPlaceView {
+
+ /** PlaceView place */
+ place?: (string|null);
+
+ /** PlaceView displayName */
+ displayName?: (google.type.ILocalizedText|null);
+
+ /** PlaceView primaryType */
+ primaryType?: (string|null);
+
+ /** PlaceView types */
+ types?: (string[]|null);
+
+ /** PlaceView formattedAddress */
+ formattedAddress?: (string|null);
+
+ /** PlaceView postalAddress */
+ postalAddress?: (google.type.IPostalAddress|null);
+
+ /** PlaceView structureType */
+ structureType?: (google.maps.geocode.v4.PlaceView.StructureType|keyof typeof google.maps.geocode.v4.PlaceView.StructureType|null);
+
+ /** PlaceView location */
+ location?: (google.type.ILatLng|null);
+
+ /** PlaceView displayPolygon */
+ displayPolygon?: (google.protobuf.IStruct|null);
+ }
+
+ /** Represents a PlaceView. */
+ class PlaceView implements IPlaceView {
+
+ /**
+ * Constructs a new PlaceView.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IPlaceView);
+
+ /** PlaceView place. */
+ public place: string;
+
+ /** PlaceView displayName. */
+ public displayName?: (google.type.ILocalizedText|null);
+
+ /** PlaceView primaryType. */
+ public primaryType: string;
+
+ /** PlaceView types. */
+ public types: string[];
+
+ /** PlaceView formattedAddress. */
+ public formattedAddress: string;
+
+ /** PlaceView postalAddress. */
+ public postalAddress?: (google.type.IPostalAddress|null);
+
+ /** PlaceView structureType. */
+ public structureType: (google.maps.geocode.v4.PlaceView.StructureType|keyof typeof google.maps.geocode.v4.PlaceView.StructureType);
+
+ /** PlaceView location. */
+ public location?: (google.type.ILatLng|null);
+
+ /** PlaceView displayPolygon. */
+ public displayPolygon?: (google.protobuf.IStruct|null);
+
+ /**
+ * Creates a new PlaceView instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PlaceView instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IPlaceView): google.maps.geocode.v4.PlaceView;
+
+ /**
+ * Encodes the specified PlaceView message. Does not implicitly {@link google.maps.geocode.v4.PlaceView.verify|verify} messages.
+ * @param message PlaceView message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IPlaceView, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PlaceView message, length delimited. Does not implicitly {@link google.maps.geocode.v4.PlaceView.verify|verify} messages.
+ * @param message PlaceView message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IPlaceView, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PlaceView message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PlaceView
+ * @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.maps.geocode.v4.PlaceView;
+
+ /**
+ * Decodes a PlaceView message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PlaceView
+ * @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.maps.geocode.v4.PlaceView;
+
+ /**
+ * Verifies a PlaceView 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 PlaceView message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PlaceView
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.PlaceView;
+
+ /**
+ * Creates a plain object from a PlaceView message. Also converts values to other types if specified.
+ * @param message PlaceView
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.PlaceView, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PlaceView to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PlaceView
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PlaceView {
+
+ /** StructureType enum. */
+ enum StructureType {
+ STRUCTURE_TYPE_UNSPECIFIED = 0,
+ POINT = 1,
+ SECTION = 2,
+ BUILDING = 3,
+ GROUNDS = 4
+ }
+ }
+
+ /** Properties of an Entrance. */
+ interface IEntrance {
+
+ /** Entrance location */
+ location?: (google.type.ILatLng|null);
+
+ /** Entrance tags */
+ tags?: (google.maps.geocode.v4.Entrance.Tag[]|null);
+
+ /** Entrance place */
+ place?: (string|null);
+ }
+
+ /** Represents an Entrance. */
+ class Entrance implements IEntrance {
+
+ /**
+ * Constructs a new Entrance.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IEntrance);
+
+ /** Entrance location. */
+ public location?: (google.type.ILatLng|null);
+
+ /** Entrance tags. */
+ public tags: google.maps.geocode.v4.Entrance.Tag[];
+
+ /** Entrance place. */
+ public place: string;
+
+ /**
+ * Creates a new Entrance instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Entrance instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IEntrance): google.maps.geocode.v4.Entrance;
+
+ /**
+ * Encodes the specified Entrance message. Does not implicitly {@link google.maps.geocode.v4.Entrance.verify|verify} messages.
+ * @param message Entrance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IEntrance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Entrance message, length delimited. Does not implicitly {@link google.maps.geocode.v4.Entrance.verify|verify} messages.
+ * @param message Entrance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IEntrance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Entrance message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Entrance
+ * @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.maps.geocode.v4.Entrance;
+
+ /**
+ * Decodes an Entrance message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Entrance
+ * @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.maps.geocode.v4.Entrance;
+
+ /**
+ * Verifies an Entrance 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 Entrance message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Entrance
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.Entrance;
+
+ /**
+ * Creates a plain object from an Entrance message. Also converts values to other types if specified.
+ * @param message Entrance
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.Entrance, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Entrance to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Entrance
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Entrance {
+
+ /** Tag enum. */
+ enum Tag {
+ TAG_UNSPECIFIED = 0,
+ PREFERRED = 1
+ }
+ }
+
+ /** Properties of a NavigationPoint. */
+ interface INavigationPoint {
+
+ /** NavigationPoint navigationPointToken */
+ navigationPointToken?: (string|null);
+
+ /** NavigationPoint displayName */
+ displayName?: (google.type.ILocalizedText|null);
+
+ /** NavigationPoint location */
+ location?: (google.type.ILatLng|null);
+
+ /** NavigationPoint travelModes */
+ travelModes?: (google.maps.geocode.v4.NavigationPoint.TravelMode[]|null);
+
+ /** NavigationPoint usages */
+ usages?: (google.maps.geocode.v4.NavigationPoint.Usage[]|null);
+ }
+
+ /** Represents a NavigationPoint. */
+ class NavigationPoint implements INavigationPoint {
+
+ /**
+ * Constructs a new NavigationPoint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.INavigationPoint);
+
+ /** NavigationPoint navigationPointToken. */
+ public navigationPointToken: string;
+
+ /** NavigationPoint displayName. */
+ public displayName?: (google.type.ILocalizedText|null);
+
+ /** NavigationPoint location. */
+ public location?: (google.type.ILatLng|null);
+
+ /** NavigationPoint travelModes. */
+ public travelModes: google.maps.geocode.v4.NavigationPoint.TravelMode[];
+
+ /** NavigationPoint usages. */
+ public usages: google.maps.geocode.v4.NavigationPoint.Usage[];
+
+ /**
+ * Creates a new NavigationPoint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NavigationPoint instance
+ */
+ public static create(properties?: google.maps.geocode.v4.INavigationPoint): google.maps.geocode.v4.NavigationPoint;
+
+ /**
+ * Encodes the specified NavigationPoint message. Does not implicitly {@link google.maps.geocode.v4.NavigationPoint.verify|verify} messages.
+ * @param message NavigationPoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.INavigationPoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NavigationPoint message, length delimited. Does not implicitly {@link google.maps.geocode.v4.NavigationPoint.verify|verify} messages.
+ * @param message NavigationPoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.INavigationPoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NavigationPoint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NavigationPoint
+ * @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.maps.geocode.v4.NavigationPoint;
+
+ /**
+ * Decodes a NavigationPoint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NavigationPoint
+ * @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.maps.geocode.v4.NavigationPoint;
+
+ /**
+ * Verifies a NavigationPoint 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 NavigationPoint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NavigationPoint
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.NavigationPoint;
+
+ /**
+ * Creates a plain object from a NavigationPoint message. Also converts values to other types if specified.
+ * @param message NavigationPoint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.NavigationPoint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NavigationPoint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NavigationPoint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace NavigationPoint {
+
+ /** TravelMode enum. */
+ enum TravelMode {
+ TRAVEL_MODE_UNSPECIFIED = 0,
+ DRIVE = 1,
+ WALK = 2
+ }
+
+ /** Usage enum. */
+ enum Usage {
+ USAGE_UNSPECIFIED = 0,
+ UNKNOWN = 1,
+ DROPOFF = 2,
+ PICKUP = 3,
+ PARKING = 4
+ }
+ }
+
+ /** Properties of a Landmark. */
+ interface ILandmark {
+
+ /** Landmark place */
+ place?: (google.maps.geocode.v4.IPlaceView|null);
+
+ /** Landmark relationalDescription */
+ relationalDescription?: (google.type.ILocalizedText|null);
+
+ /** Landmark tags */
+ tags?: (google.maps.geocode.v4.Landmark.Tag[]|null);
+
+ /** Landmark straightLineDistanceMeters */
+ straightLineDistanceMeters?: (number|null);
+
+ /** Landmark travelDistanceMeters */
+ travelDistanceMeters?: (number|null);
+ }
+
+ /** Represents a Landmark. */
+ class Landmark implements ILandmark {
+
+ /**
+ * Constructs a new Landmark.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.ILandmark);
+
+ /** Landmark place. */
+ public place?: (google.maps.geocode.v4.IPlaceView|null);
+
+ /** Landmark relationalDescription. */
+ public relationalDescription?: (google.type.ILocalizedText|null);
+
+ /** Landmark tags. */
+ public tags: google.maps.geocode.v4.Landmark.Tag[];
+
+ /** Landmark straightLineDistanceMeters. */
+ public straightLineDistanceMeters: number;
+
+ /** Landmark travelDistanceMeters. */
+ public travelDistanceMeters: number;
+
+ /** Landmark landmark. */
+ public landmark?: "place";
+
+ /**
+ * Creates a new Landmark instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Landmark instance
+ */
+ public static create(properties?: google.maps.geocode.v4.ILandmark): google.maps.geocode.v4.Landmark;
+
+ /**
+ * Encodes the specified Landmark message. Does not implicitly {@link google.maps.geocode.v4.Landmark.verify|verify} messages.
+ * @param message Landmark message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.maps.geocode.v4.Landmark.verify|verify} messages.
+ * @param message Landmark message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Landmark message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Landmark
+ * @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.maps.geocode.v4.Landmark;
+
+ /**
+ * Decodes a Landmark message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Landmark
+ * @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.maps.geocode.v4.Landmark;
+
+ /**
+ * Verifies a Landmark 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 Landmark message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Landmark
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.Landmark;
+
+ /**
+ * Creates a plain object from a Landmark message. Also converts values to other types if specified.
+ * @param message Landmark
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.Landmark, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Landmark to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Landmark
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Landmark {
+
+ /** Tag enum. */
+ enum Tag {
+ TAG_UNSPECIFIED = 0,
+ ADDRESS = 1,
+ ARRIVAL = 2
+ }
+ }
+
+ /** Represents a GeocodeService */
+ class GeocodeService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new GeocodeService 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 GeocodeService 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): GeocodeService;
+
+ /**
+ * Calls GeocodeAddress.
+ * @param request GeocodeAddressRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GeocodeAddressResponse
+ */
+ public geocodeAddress(request: google.maps.geocode.v4.IGeocodeAddressRequest, callback: google.maps.geocode.v4.GeocodeService.GeocodeAddressCallback): void;
+
+ /**
+ * Calls GeocodeAddress.
+ * @param request GeocodeAddressRequest message or plain object
+ * @returns Promise
+ */
+ public geocodeAddress(request: google.maps.geocode.v4.IGeocodeAddressRequest): Promise;
+
+ /**
+ * Calls GeocodeLocation.
+ * @param request GeocodeLocationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GeocodeLocationResponse
+ */
+ public geocodeLocation(request: google.maps.geocode.v4.IGeocodeLocationRequest, callback: google.maps.geocode.v4.GeocodeService.GeocodeLocationCallback): void;
+
+ /**
+ * Calls GeocodeLocation.
+ * @param request GeocodeLocationRequest message or plain object
+ * @returns Promise
+ */
+ public geocodeLocation(request: google.maps.geocode.v4.IGeocodeLocationRequest): Promise;
+
+ /**
+ * Calls GeocodePlace.
+ * @param request GeocodePlaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GeocodeResult
+ */
+ public geocodePlace(request: google.maps.geocode.v4.IGeocodePlaceRequest, callback: google.maps.geocode.v4.GeocodeService.GeocodePlaceCallback): void;
+
+ /**
+ * Calls GeocodePlace.
+ * @param request GeocodePlaceRequest message or plain object
+ * @returns Promise
+ */
+ public geocodePlace(request: google.maps.geocode.v4.IGeocodePlaceRequest): Promise;
+ }
+
+ namespace GeocodeService {
+
+ /**
+ * Callback as used by {@link google.maps.geocode.v4.GeocodeService|geocodeAddress}.
+ * @param error Error, if any
+ * @param [response] GeocodeAddressResponse
+ */
+ type GeocodeAddressCallback = (error: (Error|null), response?: google.maps.geocode.v4.GeocodeAddressResponse) => void;
+
+ /**
+ * Callback as used by {@link google.maps.geocode.v4.GeocodeService|geocodeLocation}.
+ * @param error Error, if any
+ * @param [response] GeocodeLocationResponse
+ */
+ type GeocodeLocationCallback = (error: (Error|null), response?: google.maps.geocode.v4.GeocodeLocationResponse) => void;
+
+ /**
+ * Callback as used by {@link google.maps.geocode.v4.GeocodeService|geocodePlace}.
+ * @param error Error, if any
+ * @param [response] GeocodeResult
+ */
+ type GeocodePlaceCallback = (error: (Error|null), response?: google.maps.geocode.v4.GeocodeResult) => void;
+ }
+
+ /** Properties of a GeocodeAddressRequest. */
+ interface IGeocodeAddressRequest {
+
+ /** GeocodeAddressRequest addressQuery */
+ addressQuery?: (string|null);
+
+ /** GeocodeAddressRequest address */
+ address?: (google.type.IPostalAddress|null);
+
+ /** GeocodeAddressRequest locationBias */
+ locationBias?: (google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias|null);
+
+ /** GeocodeAddressRequest languageCode */
+ languageCode?: (string|null);
+
+ /** GeocodeAddressRequest regionCode */
+ regionCode?: (string|null);
+ }
+
+ /** Represents a GeocodeAddressRequest. */
+ class GeocodeAddressRequest implements IGeocodeAddressRequest {
+
+ /**
+ * Constructs a new GeocodeAddressRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IGeocodeAddressRequest);
+
+ /** GeocodeAddressRequest addressQuery. */
+ public addressQuery?: (string|null);
+
+ /** GeocodeAddressRequest address. */
+ public address?: (google.type.IPostalAddress|null);
+
+ /** GeocodeAddressRequest locationBias. */
+ public locationBias?: (google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias|null);
+
+ /** GeocodeAddressRequest languageCode. */
+ public languageCode: string;
+
+ /** GeocodeAddressRequest regionCode. */
+ public regionCode: string;
+
+ /** GeocodeAddressRequest addressInput. */
+ public addressInput?: ("addressQuery"|"address");
+
+ /**
+ * Creates a new GeocodeAddressRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeocodeAddressRequest instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IGeocodeAddressRequest): google.maps.geocode.v4.GeocodeAddressRequest;
+
+ /**
+ * Encodes the specified GeocodeAddressRequest message. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressRequest.verify|verify} messages.
+ * @param message GeocodeAddressRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IGeocodeAddressRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeocodeAddressRequest message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressRequest.verify|verify} messages.
+ * @param message GeocodeAddressRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IGeocodeAddressRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeocodeAddressRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeocodeAddressRequest
+ * @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.maps.geocode.v4.GeocodeAddressRequest;
+
+ /**
+ * Decodes a GeocodeAddressRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeocodeAddressRequest
+ * @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.maps.geocode.v4.GeocodeAddressRequest;
+
+ /**
+ * Verifies a GeocodeAddressRequest 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 GeocodeAddressRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeocodeAddressRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.GeocodeAddressRequest;
+
+ /**
+ * Creates a plain object from a GeocodeAddressRequest message. Also converts values to other types if specified.
+ * @param message GeocodeAddressRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.GeocodeAddressRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeocodeAddressRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeocodeAddressRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeocodeAddressRequest {
+
+ /** Properties of a LocationBias. */
+ interface ILocationBias {
+
+ /** LocationBias rectangle */
+ rectangle?: (google.geo.type.IViewport|null);
+ }
+
+ /** Represents a LocationBias. */
+ class LocationBias implements ILocationBias {
+
+ /**
+ * Constructs a new LocationBias.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias);
+
+ /** LocationBias rectangle. */
+ public rectangle?: (google.geo.type.IViewport|null);
+
+ /** LocationBias type. */
+ public type?: "rectangle";
+
+ /**
+ * Creates a new LocationBias instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocationBias instance
+ */
+ public static create(properties?: google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias): google.maps.geocode.v4.GeocodeAddressRequest.LocationBias;
+
+ /**
+ * Encodes the specified LocationBias message. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.verify|verify} messages.
+ * @param message LocationBias message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocationBias message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.verify|verify} messages.
+ * @param message LocationBias message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocationBias message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocationBias
+ * @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.maps.geocode.v4.GeocodeAddressRequest.LocationBias;
+
+ /**
+ * Decodes a LocationBias message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocationBias
+ * @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.maps.geocode.v4.GeocodeAddressRequest.LocationBias;
+
+ /**
+ * Verifies a LocationBias 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 LocationBias message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocationBias
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.GeocodeAddressRequest.LocationBias;
+
+ /**
+ * Creates a plain object from a LocationBias message. Also converts values to other types if specified.
+ * @param message LocationBias
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.GeocodeAddressRequest.LocationBias, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocationBias to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocationBias
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeocodeLocationRequest. */
+ interface IGeocodeLocationRequest {
+
+ /** GeocodeLocationRequest locationQuery */
+ locationQuery?: (string|null);
+
+ /** GeocodeLocationRequest location */
+ location?: (google.type.ILatLng|null);
+
+ /** GeocodeLocationRequest languageCode */
+ languageCode?: (string|null);
+
+ /** GeocodeLocationRequest regionCode */
+ regionCode?: (string|null);
+
+ /** GeocodeLocationRequest types */
+ types?: (string[]|null);
+
+ /** GeocodeLocationRequest granularity */
+ granularity?: (google.maps.geocode.v4.GeocodeResult.Granularity[]|null);
+ }
+
+ /** Represents a GeocodeLocationRequest. */
+ class GeocodeLocationRequest implements IGeocodeLocationRequest {
+
+ /**
+ * Constructs a new GeocodeLocationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IGeocodeLocationRequest);
+
+ /** GeocodeLocationRequest locationQuery. */
+ public locationQuery?: (string|null);
+
+ /** GeocodeLocationRequest location. */
+ public location?: (google.type.ILatLng|null);
+
+ /** GeocodeLocationRequest languageCode. */
+ public languageCode: string;
+
+ /** GeocodeLocationRequest regionCode. */
+ public regionCode: string;
+
+ /** GeocodeLocationRequest types. */
+ public types: string[];
+
+ /** GeocodeLocationRequest granularity. */
+ public granularity: google.maps.geocode.v4.GeocodeResult.Granularity[];
+
+ /** GeocodeLocationRequest locationInput. */
+ public locationInput?: ("locationQuery"|"location");
+
+ /**
+ * Creates a new GeocodeLocationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeocodeLocationRequest instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IGeocodeLocationRequest): google.maps.geocode.v4.GeocodeLocationRequest;
+
+ /**
+ * Encodes the specified GeocodeLocationRequest message. Does not implicitly {@link google.maps.geocode.v4.GeocodeLocationRequest.verify|verify} messages.
+ * @param message GeocodeLocationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IGeocodeLocationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeocodeLocationRequest message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeLocationRequest.verify|verify} messages.
+ * @param message GeocodeLocationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IGeocodeLocationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeocodeLocationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeocodeLocationRequest
+ * @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.maps.geocode.v4.GeocodeLocationRequest;
+
+ /**
+ * Decodes a GeocodeLocationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeocodeLocationRequest
+ * @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.maps.geocode.v4.GeocodeLocationRequest;
+
+ /**
+ * Verifies a GeocodeLocationRequest 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 GeocodeLocationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeocodeLocationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.GeocodeLocationRequest;
+
+ /**
+ * Creates a plain object from a GeocodeLocationRequest message. Also converts values to other types if specified.
+ * @param message GeocodeLocationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.GeocodeLocationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeocodeLocationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeocodeLocationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GeocodePlaceRequest. */
+ interface IGeocodePlaceRequest {
+
+ /** GeocodePlaceRequest place */
+ place?: (string|null);
+
+ /** GeocodePlaceRequest languageCode */
+ languageCode?: (string|null);
+
+ /** GeocodePlaceRequest regionCode */
+ regionCode?: (string|null);
+ }
+
+ /** Represents a GeocodePlaceRequest. */
+ class GeocodePlaceRequest implements IGeocodePlaceRequest {
+
+ /**
+ * Constructs a new GeocodePlaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IGeocodePlaceRequest);
+
+ /** GeocodePlaceRequest place. */
+ public place: string;
+
+ /** GeocodePlaceRequest languageCode. */
+ public languageCode: string;
+
+ /** GeocodePlaceRequest regionCode. */
+ public regionCode: string;
+
+ /**
+ * Creates a new GeocodePlaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeocodePlaceRequest instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IGeocodePlaceRequest): google.maps.geocode.v4.GeocodePlaceRequest;
+
+ /**
+ * Encodes the specified GeocodePlaceRequest message. Does not implicitly {@link google.maps.geocode.v4.GeocodePlaceRequest.verify|verify} messages.
+ * @param message GeocodePlaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IGeocodePlaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeocodePlaceRequest message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodePlaceRequest.verify|verify} messages.
+ * @param message GeocodePlaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IGeocodePlaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeocodePlaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeocodePlaceRequest
+ * @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.maps.geocode.v4.GeocodePlaceRequest;
+
+ /**
+ * Decodes a GeocodePlaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeocodePlaceRequest
+ * @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.maps.geocode.v4.GeocodePlaceRequest;
+
+ /**
+ * Verifies a GeocodePlaceRequest 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 GeocodePlaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeocodePlaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.GeocodePlaceRequest;
+
+ /**
+ * Creates a plain object from a GeocodePlaceRequest message. Also converts values to other types if specified.
+ * @param message GeocodePlaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.GeocodePlaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeocodePlaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeocodePlaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PlusCode. */
+ interface IPlusCode {
+
+ /** PlusCode globalCode */
+ globalCode?: (string|null);
+
+ /** PlusCode compoundCode */
+ compoundCode?: (string|null);
+ }
+
+ /** Represents a PlusCode. */
+ class PlusCode implements IPlusCode {
+
+ /**
+ * Constructs a new PlusCode.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IPlusCode);
+
+ /** PlusCode globalCode. */
+ public globalCode: string;
+
+ /** PlusCode compoundCode. */
+ public compoundCode: string;
+
+ /**
+ * Creates a new PlusCode instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PlusCode instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IPlusCode): google.maps.geocode.v4.PlusCode;
+
+ /**
+ * Encodes the specified PlusCode message. Does not implicitly {@link google.maps.geocode.v4.PlusCode.verify|verify} messages.
+ * @param message PlusCode message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IPlusCode, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PlusCode message, length delimited. Does not implicitly {@link google.maps.geocode.v4.PlusCode.verify|verify} messages.
+ * @param message PlusCode message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IPlusCode, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PlusCode message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PlusCode
+ * @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.maps.geocode.v4.PlusCode;
+
+ /**
+ * Decodes a PlusCode message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PlusCode
+ * @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.maps.geocode.v4.PlusCode;
+
+ /**
+ * Verifies a PlusCode 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 PlusCode message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PlusCode
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.PlusCode;
+
+ /**
+ * Creates a plain object from a PlusCode message. Also converts values to other types if specified.
+ * @param message PlusCode
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.PlusCode, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PlusCode to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PlusCode
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GeocodeResult. */
+ interface IGeocodeResult {
+
+ /** GeocodeResult place */
+ place?: (string|null);
+
+ /** GeocodeResult placeId */
+ placeId?: (string|null);
+
+ /** GeocodeResult location */
+ location?: (google.type.ILatLng|null);
+
+ /** GeocodeResult granularity */
+ granularity?: (google.maps.geocode.v4.GeocodeResult.Granularity|keyof typeof google.maps.geocode.v4.GeocodeResult.Granularity|null);
+
+ /** GeocodeResult viewport */
+ viewport?: (google.geo.type.IViewport|null);
+
+ /** GeocodeResult bounds */
+ bounds?: (google.geo.type.IViewport|null);
+
+ /** GeocodeResult formattedAddress */
+ formattedAddress?: (string|null);
+
+ /** GeocodeResult postalAddress */
+ postalAddress?: (google.type.IPostalAddress|null);
+
+ /** GeocodeResult addressComponents */
+ addressComponents?: (google.maps.geocode.v4.GeocodeResult.IAddressComponent[]|null);
+
+ /** GeocodeResult postalCodeLocalities */
+ postalCodeLocalities?: (google.type.ILocalizedText[]|null);
+
+ /** GeocodeResult types */
+ types?: (string[]|null);
+
+ /** GeocodeResult plusCode */
+ plusCode?: (google.maps.geocode.v4.IPlusCode|null);
+ }
+
+ /** Represents a GeocodeResult. */
+ class GeocodeResult implements IGeocodeResult {
+
+ /**
+ * Constructs a new GeocodeResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IGeocodeResult);
+
+ /** GeocodeResult place. */
+ public place: string;
+
+ /** GeocodeResult placeId. */
+ public placeId: string;
+
+ /** GeocodeResult location. */
+ public location?: (google.type.ILatLng|null);
+
+ /** GeocodeResult granularity. */
+ public granularity: (google.maps.geocode.v4.GeocodeResult.Granularity|keyof typeof google.maps.geocode.v4.GeocodeResult.Granularity);
+
+ /** GeocodeResult viewport. */
+ public viewport?: (google.geo.type.IViewport|null);
+
+ /** GeocodeResult bounds. */
+ public bounds?: (google.geo.type.IViewport|null);
+
+ /** GeocodeResult formattedAddress. */
+ public formattedAddress: string;
+
+ /** GeocodeResult postalAddress. */
+ public postalAddress?: (google.type.IPostalAddress|null);
+
+ /** GeocodeResult addressComponents. */
+ public addressComponents: google.maps.geocode.v4.GeocodeResult.IAddressComponent[];
+
+ /** GeocodeResult postalCodeLocalities. */
+ public postalCodeLocalities: google.type.ILocalizedText[];
+
+ /** GeocodeResult types. */
+ public types: string[];
+
+ /** GeocodeResult plusCode. */
+ public plusCode?: (google.maps.geocode.v4.IPlusCode|null);
+
+ /**
+ * Creates a new GeocodeResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeocodeResult instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IGeocodeResult): google.maps.geocode.v4.GeocodeResult;
+
+ /**
+ * Encodes the specified GeocodeResult message. Does not implicitly {@link google.maps.geocode.v4.GeocodeResult.verify|verify} messages.
+ * @param message GeocodeResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IGeocodeResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeocodeResult message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeResult.verify|verify} messages.
+ * @param message GeocodeResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IGeocodeResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeocodeResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeocodeResult
+ * @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.maps.geocode.v4.GeocodeResult;
+
+ /**
+ * Decodes a GeocodeResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeocodeResult
+ * @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.maps.geocode.v4.GeocodeResult;
+
+ /**
+ * Verifies a GeocodeResult 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 GeocodeResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeocodeResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.GeocodeResult;
+
+ /**
+ * Creates a plain object from a GeocodeResult message. Also converts values to other types if specified.
+ * @param message GeocodeResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.GeocodeResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeocodeResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeocodeResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeocodeResult {
+
+ /** Properties of an AddressComponent. */
+ interface IAddressComponent {
+
+ /** AddressComponent longText */
+ longText?: (string|null);
+
+ /** AddressComponent shortText */
+ shortText?: (string|null);
+
+ /** AddressComponent types */
+ types?: (string[]|null);
+
+ /** AddressComponent languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents an AddressComponent. */
+ class AddressComponent implements IAddressComponent {
+
+ /**
+ * Constructs a new AddressComponent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.GeocodeResult.IAddressComponent);
+
+ /** AddressComponent longText. */
+ public longText: string;
+
+ /** AddressComponent shortText. */
+ public shortText: string;
+
+ /** AddressComponent types. */
+ public types: string[];
+
+ /** AddressComponent languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new AddressComponent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddressComponent instance
+ */
+ public static create(properties?: google.maps.geocode.v4.GeocodeResult.IAddressComponent): google.maps.geocode.v4.GeocodeResult.AddressComponent;
+
+ /**
+ * Encodes the specified AddressComponent message. Does not implicitly {@link google.maps.geocode.v4.GeocodeResult.AddressComponent.verify|verify} messages.
+ * @param message AddressComponent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.GeocodeResult.IAddressComponent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddressComponent message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeResult.AddressComponent.verify|verify} messages.
+ * @param message AddressComponent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.GeocodeResult.IAddressComponent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddressComponent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddressComponent
+ * @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.maps.geocode.v4.GeocodeResult.AddressComponent;
+
+ /**
+ * Decodes an AddressComponent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddressComponent
+ * @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.maps.geocode.v4.GeocodeResult.AddressComponent;
+
+ /**
+ * Verifies an AddressComponent 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 AddressComponent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddressComponent
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.GeocodeResult.AddressComponent;
+
+ /**
+ * Creates a plain object from an AddressComponent message. Also converts values to other types if specified.
+ * @param message AddressComponent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.GeocodeResult.AddressComponent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddressComponent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddressComponent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Granularity enum. */
+ enum Granularity {
+ GRANULARITY_UNSPECIFIED = 0,
+ ROOFTOP = 1,
+ RANGE_INTERPOLATED = 2,
+ GEOMETRIC_CENTER = 3,
+ APPROXIMATE = 4
+ }
+ }
+
+ /** Properties of a GeocodeAddressResponse. */
+ interface IGeocodeAddressResponse {
+
+ /** GeocodeAddressResponse results */
+ results?: (google.maps.geocode.v4.IGeocodeResult[]|null);
+ }
+
+ /** Represents a GeocodeAddressResponse. */
+ class GeocodeAddressResponse implements IGeocodeAddressResponse {
+
+ /**
+ * Constructs a new GeocodeAddressResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IGeocodeAddressResponse);
+
+ /** GeocodeAddressResponse results. */
+ public results: google.maps.geocode.v4.IGeocodeResult[];
+
+ /**
+ * Creates a new GeocodeAddressResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeocodeAddressResponse instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IGeocodeAddressResponse): google.maps.geocode.v4.GeocodeAddressResponse;
+
+ /**
+ * Encodes the specified GeocodeAddressResponse message. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressResponse.verify|verify} messages.
+ * @param message GeocodeAddressResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IGeocodeAddressResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeocodeAddressResponse message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressResponse.verify|verify} messages.
+ * @param message GeocodeAddressResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IGeocodeAddressResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeocodeAddressResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeocodeAddressResponse
+ * @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.maps.geocode.v4.GeocodeAddressResponse;
+
+ /**
+ * Decodes a GeocodeAddressResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeocodeAddressResponse
+ * @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.maps.geocode.v4.GeocodeAddressResponse;
+
+ /**
+ * Verifies a GeocodeAddressResponse 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 GeocodeAddressResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeocodeAddressResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.GeocodeAddressResponse;
+
+ /**
+ * Creates a plain object from a GeocodeAddressResponse message. Also converts values to other types if specified.
+ * @param message GeocodeAddressResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.GeocodeAddressResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeocodeAddressResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeocodeAddressResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GeocodeLocationResponse. */
+ interface IGeocodeLocationResponse {
+
+ /** GeocodeLocationResponse results */
+ results?: (google.maps.geocode.v4.IGeocodeResult[]|null);
+
+ /** GeocodeLocationResponse plusCode */
+ plusCode?: (google.maps.geocode.v4.IPlusCode|null);
+ }
+
+ /** Represents a GeocodeLocationResponse. */
+ class GeocodeLocationResponse implements IGeocodeLocationResponse {
+
+ /**
+ * Constructs a new GeocodeLocationResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.maps.geocode.v4.IGeocodeLocationResponse);
+
+ /** GeocodeLocationResponse results. */
+ public results: google.maps.geocode.v4.IGeocodeResult[];
+
+ /** GeocodeLocationResponse plusCode. */
+ public plusCode?: (google.maps.geocode.v4.IPlusCode|null);
+
+ /**
+ * Creates a new GeocodeLocationResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeocodeLocationResponse instance
+ */
+ public static create(properties?: google.maps.geocode.v4.IGeocodeLocationResponse): google.maps.geocode.v4.GeocodeLocationResponse;
+
+ /**
+ * Encodes the specified GeocodeLocationResponse message. Does not implicitly {@link google.maps.geocode.v4.GeocodeLocationResponse.verify|verify} messages.
+ * @param message GeocodeLocationResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.maps.geocode.v4.IGeocodeLocationResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeocodeLocationResponse message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeLocationResponse.verify|verify} messages.
+ * @param message GeocodeLocationResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.maps.geocode.v4.IGeocodeLocationResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeocodeLocationResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeocodeLocationResponse
+ * @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.maps.geocode.v4.GeocodeLocationResponse;
+
+ /**
+ * Decodes a GeocodeLocationResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeocodeLocationResponse
+ * @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.maps.geocode.v4.GeocodeLocationResponse;
+
+ /**
+ * Verifies a GeocodeLocationResponse 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 GeocodeLocationResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeocodeLocationResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.maps.geocode.v4.GeocodeLocationResponse;
+
+ /**
+ * Creates a plain object from a GeocodeLocationResponse message. Also converts values to other types if specified.
+ * @param message GeocodeLocationResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.maps.geocode.v4.GeocodeLocationResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeocodeLocationResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeocodeLocationResponse
+ * @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);
+ }
+
+ /** 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[];
+
+ /**
+ * 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);
+ }
+
+ /** 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);
+
+ /**
+ * 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;
+ }
+
+ /** 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);
+ }
+
+ /** 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);
+
+ /**
+ * 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
+ }
+
+ /** 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
+ }
+ }
+
+ /** 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_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 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 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);
+ }
+
+ /** 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[];
+
+ /**
+ * 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);
+ }
+
+ /** 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[];
+
+ /**
+ * 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 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 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 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 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 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);
+ }
+
+ /** 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);
+ }
+
+ /** 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);
+
+ /**
+ * 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
+ }
+ }
+
+ /** 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 features */
+ features?: (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 features. */
+ public features?: (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
+ }
+ }
+ }
+
+ /** 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 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;
+ }
+ }
+}
diff --git a/packages/google-maps-geocode/protos/protos.js b/packages/google-maps-geocode/protos/protos.js
new file mode 100644
index 00000000000..862a57f33e8
--- /dev/null
+++ b/packages/google-maps-geocode/protos/protos.js
@@ -0,0 +1,25960 @@
+// Copyright 2026 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_geocode_protos || ($protobuf.roots._google_cloud_geocode_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.geo = (function() {
+
+ /**
+ * Namespace geo.
+ * @memberof google
+ * @namespace
+ */
+ var geo = {};
+
+ geo.type = (function() {
+
+ /**
+ * Namespace type.
+ * @memberof google.geo
+ * @namespace
+ */
+ var type = {};
+
+ type.Viewport = (function() {
+
+ /**
+ * Properties of a Viewport.
+ * @memberof google.geo.type
+ * @interface IViewport
+ * @property {google.type.ILatLng|null} [low] Viewport low
+ * @property {google.type.ILatLng|null} [high] Viewport high
+ */
+
+ /**
+ * Constructs a new Viewport.
+ * @memberof google.geo.type
+ * @classdesc Represents a Viewport.
+ * @implements IViewport
+ * @constructor
+ * @param {google.geo.type.IViewport=} [properties] Properties to set
+ */
+ function Viewport(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]];
+ }
+
+ /**
+ * Viewport low.
+ * @member {google.type.ILatLng|null|undefined} low
+ * @memberof google.geo.type.Viewport
+ * @instance
+ */
+ Viewport.prototype.low = null;
+
+ /**
+ * Viewport high.
+ * @member {google.type.ILatLng|null|undefined} high
+ * @memberof google.geo.type.Viewport
+ * @instance
+ */
+ Viewport.prototype.high = null;
+
+ /**
+ * Creates a new Viewport instance using the specified properties.
+ * @function create
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {google.geo.type.IViewport=} [properties] Properties to set
+ * @returns {google.geo.type.Viewport} Viewport instance
+ */
+ Viewport.create = function create(properties) {
+ return new Viewport(properties);
+ };
+
+ /**
+ * Encodes the specified Viewport message. Does not implicitly {@link google.geo.type.Viewport.verify|verify} messages.
+ * @function encode
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {google.geo.type.IViewport} message Viewport message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Viewport.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.low != null && Object.hasOwnProperty.call(message, "low"))
+ $root.google.type.LatLng.encode(message.low, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.high != null && Object.hasOwnProperty.call(message, "high"))
+ $root.google.type.LatLng.encode(message.high, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Viewport message, length delimited. Does not implicitly {@link google.geo.type.Viewport.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {google.geo.type.IViewport} message Viewport message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Viewport.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Viewport message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.geo.type.Viewport} Viewport
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Viewport.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.geo.type.Viewport();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.low = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.high = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Viewport message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.geo.type.Viewport} Viewport
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Viewport.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Viewport message.
+ * @function verify
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Viewport.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.low != null && message.hasOwnProperty("low")) {
+ var error = $root.google.type.LatLng.verify(message.low);
+ if (error)
+ return "low." + error;
+ }
+ if (message.high != null && message.hasOwnProperty("high")) {
+ var error = $root.google.type.LatLng.verify(message.high);
+ if (error)
+ return "high." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Viewport message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.geo.type.Viewport} Viewport
+ */
+ Viewport.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.geo.type.Viewport)
+ return object;
+ var message = new $root.google.geo.type.Viewport();
+ if (object.low != null) {
+ if (typeof object.low !== "object")
+ throw TypeError(".google.geo.type.Viewport.low: object expected");
+ message.low = $root.google.type.LatLng.fromObject(object.low);
+ }
+ if (object.high != null) {
+ if (typeof object.high !== "object")
+ throw TypeError(".google.geo.type.Viewport.high: object expected");
+ message.high = $root.google.type.LatLng.fromObject(object.high);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Viewport message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {google.geo.type.Viewport} message Viewport
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Viewport.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.low = null;
+ object.high = null;
+ }
+ if (message.low != null && message.hasOwnProperty("low"))
+ object.low = $root.google.type.LatLng.toObject(message.low, options);
+ if (message.high != null && message.hasOwnProperty("high"))
+ object.high = $root.google.type.LatLng.toObject(message.high, options);
+ return object;
+ };
+
+ /**
+ * Converts this Viewport to JSON.
+ * @function toJSON
+ * @memberof google.geo.type.Viewport
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Viewport.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Viewport
+ * @function getTypeUrl
+ * @memberof google.geo.type.Viewport
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Viewport.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.geo.type.Viewport";
+ };
+
+ return Viewport;
+ })();
+
+ return type;
+ })();
+
+ return geo;
+ })();
+
+ google.type = (function() {
+
+ /**
+ * Namespace type.
+ * @memberof google
+ * @namespace
+ */
+ var type = {};
+
+ type.LatLng = (function() {
+
+ /**
+ * Properties of a LatLng.
+ * @memberof google.type
+ * @interface ILatLng
+ * @property {number|null} [latitude] LatLng latitude
+ * @property {number|null} [longitude] LatLng longitude
+ */
+
+ /**
+ * Constructs a new LatLng.
+ * @memberof google.type
+ * @classdesc Represents a LatLng.
+ * @implements ILatLng
+ * @constructor
+ * @param {google.type.ILatLng=} [properties] Properties to set
+ */
+ function LatLng(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]];
+ }
+
+ /**
+ * LatLng latitude.
+ * @member {number} latitude
+ * @memberof google.type.LatLng
+ * @instance
+ */
+ LatLng.prototype.latitude = 0;
+
+ /**
+ * LatLng longitude.
+ * @member {number} longitude
+ * @memberof google.type.LatLng
+ * @instance
+ */
+ LatLng.prototype.longitude = 0;
+
+ /**
+ * Creates a new LatLng instance using the specified properties.
+ * @function create
+ * @memberof google.type.LatLng
+ * @static
+ * @param {google.type.ILatLng=} [properties] Properties to set
+ * @returns {google.type.LatLng} LatLng instance
+ */
+ LatLng.create = function create(properties) {
+ return new LatLng(properties);
+ };
+
+ /**
+ * Encodes the specified LatLng message. Does not implicitly {@link google.type.LatLng.verify|verify} messages.
+ * @function encode
+ * @memberof google.type.LatLng
+ * @static
+ * @param {google.type.ILatLng} message LatLng message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LatLng.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.latitude != null && Object.hasOwnProperty.call(message, "latitude"))
+ writer.uint32(/* id 1, wireType 1 =*/9).double(message.latitude);
+ if (message.longitude != null && Object.hasOwnProperty.call(message, "longitude"))
+ writer.uint32(/* id 2, wireType 1 =*/17).double(message.longitude);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LatLng message, length delimited. Does not implicitly {@link google.type.LatLng.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.type.LatLng
+ * @static
+ * @param {google.type.ILatLng} message LatLng message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LatLng.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LatLng message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.type.LatLng
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.type.LatLng} LatLng
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LatLng.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.LatLng();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.latitude = reader.double();
+ break;
+ }
+ case 2: {
+ message.longitude = reader.double();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LatLng message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.type.LatLng
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.type.LatLng} LatLng
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LatLng.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LatLng message.
+ * @function verify
+ * @memberof google.type.LatLng
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LatLng.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.latitude != null && message.hasOwnProperty("latitude"))
+ if (typeof message.latitude !== "number")
+ return "latitude: number expected";
+ if (message.longitude != null && message.hasOwnProperty("longitude"))
+ if (typeof message.longitude !== "number")
+ return "longitude: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a LatLng message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.type.LatLng
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.type.LatLng} LatLng
+ */
+ LatLng.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.type.LatLng)
+ return object;
+ var message = new $root.google.type.LatLng();
+ if (object.latitude != null)
+ message.latitude = Number(object.latitude);
+ if (object.longitude != null)
+ message.longitude = Number(object.longitude);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LatLng message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.type.LatLng
+ * @static
+ * @param {google.type.LatLng} message LatLng
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LatLng.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.latitude = 0;
+ object.longitude = 0;
+ }
+ if (message.latitude != null && message.hasOwnProperty("latitude"))
+ object.latitude = options.json && !isFinite(message.latitude) ? String(message.latitude) : message.latitude;
+ if (message.longitude != null && message.hasOwnProperty("longitude"))
+ object.longitude = options.json && !isFinite(message.longitude) ? String(message.longitude) : message.longitude;
+ return object;
+ };
+
+ /**
+ * Converts this LatLng to JSON.
+ * @function toJSON
+ * @memberof google.type.LatLng
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LatLng.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LatLng
+ * @function getTypeUrl
+ * @memberof google.type.LatLng
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LatLng.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.type.LatLng";
+ };
+
+ return LatLng;
+ })();
+
+ type.LocalizedText = (function() {
+
+ /**
+ * Properties of a LocalizedText.
+ * @memberof google.type
+ * @interface ILocalizedText
+ * @property {string|null} [text] LocalizedText text
+ * @property {string|null} [languageCode] LocalizedText languageCode
+ */
+
+ /**
+ * Constructs a new LocalizedText.
+ * @memberof google.type
+ * @classdesc Represents a LocalizedText.
+ * @implements ILocalizedText
+ * @constructor
+ * @param {google.type.ILocalizedText=} [properties] Properties to set
+ */
+ function LocalizedText(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]];
+ }
+
+ /**
+ * LocalizedText text.
+ * @member {string} text
+ * @memberof google.type.LocalizedText
+ * @instance
+ */
+ LocalizedText.prototype.text = "";
+
+ /**
+ * LocalizedText languageCode.
+ * @member {string} languageCode
+ * @memberof google.type.LocalizedText
+ * @instance
+ */
+ LocalizedText.prototype.languageCode = "";
+
+ /**
+ * Creates a new LocalizedText instance using the specified properties.
+ * @function create
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {google.type.ILocalizedText=} [properties] Properties to set
+ * @returns {google.type.LocalizedText} LocalizedText instance
+ */
+ LocalizedText.create = function create(properties) {
+ return new LocalizedText(properties);
+ };
+
+ /**
+ * Encodes the specified LocalizedText message. Does not implicitly {@link google.type.LocalizedText.verify|verify} messages.
+ * @function encode
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {google.type.ILocalizedText} message LocalizedText message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocalizedText.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.text != null && Object.hasOwnProperty.call(message, "text"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.text);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LocalizedText message, length delimited. Does not implicitly {@link google.type.LocalizedText.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {google.type.ILocalizedText} message LocalizedText message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocalizedText.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LocalizedText message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.type.LocalizedText} LocalizedText
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocalizedText.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.LocalizedText();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.text = reader.string();
+ break;
+ }
+ case 2: {
+ message.languageCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LocalizedText message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.type.LocalizedText} LocalizedText
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocalizedText.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LocalizedText message.
+ * @function verify
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LocalizedText.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.text != null && message.hasOwnProperty("text"))
+ if (!$util.isString(message.text))
+ return "text: string expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a LocalizedText message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.type.LocalizedText} LocalizedText
+ */
+ LocalizedText.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.type.LocalizedText)
+ return object;
+ var message = new $root.google.type.LocalizedText();
+ if (object.text != null)
+ message.text = String(object.text);
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LocalizedText message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {google.type.LocalizedText} message LocalizedText
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LocalizedText.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.text = "";
+ object.languageCode = "";
+ }
+ if (message.text != null && message.hasOwnProperty("text"))
+ object.text = message.text;
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ return object;
+ };
+
+ /**
+ * Converts this LocalizedText to JSON.
+ * @function toJSON
+ * @memberof google.type.LocalizedText
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LocalizedText.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LocalizedText
+ * @function getTypeUrl
+ * @memberof google.type.LocalizedText
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LocalizedText.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.type.LocalizedText";
+ };
+
+ return LocalizedText;
+ })();
+
+ type.PostalAddress = (function() {
+
+ /**
+ * Properties of a PostalAddress.
+ * @memberof google.type
+ * @interface IPostalAddress
+ * @property {number|null} [revision] PostalAddress revision
+ * @property {string|null} [regionCode] PostalAddress regionCode
+ * @property {string|null} [languageCode] PostalAddress languageCode
+ * @property {string|null} [postalCode] PostalAddress postalCode
+ * @property {string|null} [sortingCode] PostalAddress sortingCode
+ * @property {string|null} [administrativeArea] PostalAddress administrativeArea
+ * @property {string|null} [locality] PostalAddress locality
+ * @property {string|null} [sublocality] PostalAddress sublocality
+ * @property {Array.|null} [addressLines] PostalAddress addressLines
+ * @property {Array.|null} [recipients] PostalAddress recipients
+ * @property {string|null} [organization] PostalAddress organization
+ */
+
+ /**
+ * Constructs a new PostalAddress.
+ * @memberof google.type
+ * @classdesc Represents a PostalAddress.
+ * @implements IPostalAddress
+ * @constructor
+ * @param {google.type.IPostalAddress=} [properties] Properties to set
+ */
+ function PostalAddress(properties) {
+ this.addressLines = [];
+ this.recipients = [];
+ 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]];
+ }
+
+ /**
+ * PostalAddress revision.
+ * @member {number} revision
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.revision = 0;
+
+ /**
+ * PostalAddress regionCode.
+ * @member {string} regionCode
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.regionCode = "";
+
+ /**
+ * PostalAddress languageCode.
+ * @member {string} languageCode
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.languageCode = "";
+
+ /**
+ * PostalAddress postalCode.
+ * @member {string} postalCode
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.postalCode = "";
+
+ /**
+ * PostalAddress sortingCode.
+ * @member {string} sortingCode
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.sortingCode = "";
+
+ /**
+ * PostalAddress administrativeArea.
+ * @member {string} administrativeArea
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.administrativeArea = "";
+
+ /**
+ * PostalAddress locality.
+ * @member {string} locality
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.locality = "";
+
+ /**
+ * PostalAddress sublocality.
+ * @member {string} sublocality
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.sublocality = "";
+
+ /**
+ * PostalAddress addressLines.
+ * @member {Array.} addressLines
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.addressLines = $util.emptyArray;
+
+ /**
+ * PostalAddress recipients.
+ * @member {Array.} recipients
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.recipients = $util.emptyArray;
+
+ /**
+ * PostalAddress organization.
+ * @member {string} organization
+ * @memberof google.type.PostalAddress
+ * @instance
+ */
+ PostalAddress.prototype.organization = "";
+
+ /**
+ * Creates a new PostalAddress instance using the specified properties.
+ * @function create
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {google.type.IPostalAddress=} [properties] Properties to set
+ * @returns {google.type.PostalAddress} PostalAddress instance
+ */
+ PostalAddress.create = function create(properties) {
+ return new PostalAddress(properties);
+ };
+
+ /**
+ * Encodes the specified PostalAddress message. Does not implicitly {@link google.type.PostalAddress.verify|verify} messages.
+ * @function encode
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {google.type.IPostalAddress} message PostalAddress message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PostalAddress.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.revision != null && Object.hasOwnProperty.call(message, "revision"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.revision);
+ if (message.regionCode != null && Object.hasOwnProperty.call(message, "regionCode"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.regionCode);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode);
+ if (message.postalCode != null && Object.hasOwnProperty.call(message, "postalCode"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.postalCode);
+ if (message.sortingCode != null && Object.hasOwnProperty.call(message, "sortingCode"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.sortingCode);
+ if (message.administrativeArea != null && Object.hasOwnProperty.call(message, "administrativeArea"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.administrativeArea);
+ if (message.locality != null && Object.hasOwnProperty.call(message, "locality"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.locality);
+ if (message.sublocality != null && Object.hasOwnProperty.call(message, "sublocality"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.sublocality);
+ if (message.addressLines != null && message.addressLines.length)
+ for (var i = 0; i < message.addressLines.length; ++i)
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.addressLines[i]);
+ if (message.recipients != null && message.recipients.length)
+ for (var i = 0; i < message.recipients.length; ++i)
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.recipients[i]);
+ if (message.organization != null && Object.hasOwnProperty.call(message, "organization"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.organization);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PostalAddress message, length delimited. Does not implicitly {@link google.type.PostalAddress.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {google.type.IPostalAddress} message PostalAddress message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PostalAddress.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PostalAddress message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.type.PostalAddress} PostalAddress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PostalAddress.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.PostalAddress();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.revision = reader.int32();
+ break;
+ }
+ case 2: {
+ message.regionCode = reader.string();
+ break;
+ }
+ case 3: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 4: {
+ message.postalCode = reader.string();
+ break;
+ }
+ case 5: {
+ message.sortingCode = reader.string();
+ break;
+ }
+ case 6: {
+ message.administrativeArea = reader.string();
+ break;
+ }
+ case 7: {
+ message.locality = reader.string();
+ break;
+ }
+ case 8: {
+ message.sublocality = reader.string();
+ break;
+ }
+ case 9: {
+ if (!(message.addressLines && message.addressLines.length))
+ message.addressLines = [];
+ message.addressLines.push(reader.string());
+ break;
+ }
+ case 10: {
+ if (!(message.recipients && message.recipients.length))
+ message.recipients = [];
+ message.recipients.push(reader.string());
+ break;
+ }
+ case 11: {
+ message.organization = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PostalAddress message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.type.PostalAddress} PostalAddress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PostalAddress.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PostalAddress message.
+ * @function verify
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PostalAddress.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.revision != null && message.hasOwnProperty("revision"))
+ if (!$util.isInteger(message.revision))
+ return "revision: integer expected";
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ if (!$util.isString(message.regionCode))
+ return "regionCode: string expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.postalCode != null && message.hasOwnProperty("postalCode"))
+ if (!$util.isString(message.postalCode))
+ return "postalCode: string expected";
+ if (message.sortingCode != null && message.hasOwnProperty("sortingCode"))
+ if (!$util.isString(message.sortingCode))
+ return "sortingCode: string expected";
+ if (message.administrativeArea != null && message.hasOwnProperty("administrativeArea"))
+ if (!$util.isString(message.administrativeArea))
+ return "administrativeArea: string expected";
+ if (message.locality != null && message.hasOwnProperty("locality"))
+ if (!$util.isString(message.locality))
+ return "locality: string expected";
+ if (message.sublocality != null && message.hasOwnProperty("sublocality"))
+ if (!$util.isString(message.sublocality))
+ return "sublocality: string expected";
+ if (message.addressLines != null && message.hasOwnProperty("addressLines")) {
+ if (!Array.isArray(message.addressLines))
+ return "addressLines: array expected";
+ for (var i = 0; i < message.addressLines.length; ++i)
+ if (!$util.isString(message.addressLines[i]))
+ return "addressLines: string[] expected";
+ }
+ if (message.recipients != null && message.hasOwnProperty("recipients")) {
+ if (!Array.isArray(message.recipients))
+ return "recipients: array expected";
+ for (var i = 0; i < message.recipients.length; ++i)
+ if (!$util.isString(message.recipients[i]))
+ return "recipients: string[] expected";
+ }
+ if (message.organization != null && message.hasOwnProperty("organization"))
+ if (!$util.isString(message.organization))
+ return "organization: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PostalAddress message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.type.PostalAddress} PostalAddress
+ */
+ PostalAddress.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.type.PostalAddress)
+ return object;
+ var message = new $root.google.type.PostalAddress();
+ if (object.revision != null)
+ message.revision = object.revision | 0;
+ if (object.regionCode != null)
+ message.regionCode = String(object.regionCode);
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ if (object.postalCode != null)
+ message.postalCode = String(object.postalCode);
+ if (object.sortingCode != null)
+ message.sortingCode = String(object.sortingCode);
+ if (object.administrativeArea != null)
+ message.administrativeArea = String(object.administrativeArea);
+ if (object.locality != null)
+ message.locality = String(object.locality);
+ if (object.sublocality != null)
+ message.sublocality = String(object.sublocality);
+ if (object.addressLines) {
+ if (!Array.isArray(object.addressLines))
+ throw TypeError(".google.type.PostalAddress.addressLines: array expected");
+ message.addressLines = [];
+ for (var i = 0; i < object.addressLines.length; ++i)
+ message.addressLines[i] = String(object.addressLines[i]);
+ }
+ if (object.recipients) {
+ if (!Array.isArray(object.recipients))
+ throw TypeError(".google.type.PostalAddress.recipients: array expected");
+ message.recipients = [];
+ for (var i = 0; i < object.recipients.length; ++i)
+ message.recipients[i] = String(object.recipients[i]);
+ }
+ if (object.organization != null)
+ message.organization = String(object.organization);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PostalAddress message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {google.type.PostalAddress} message PostalAddress
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PostalAddress.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.addressLines = [];
+ object.recipients = [];
+ }
+ if (options.defaults) {
+ object.revision = 0;
+ object.regionCode = "";
+ object.languageCode = "";
+ object.postalCode = "";
+ object.sortingCode = "";
+ object.administrativeArea = "";
+ object.locality = "";
+ object.sublocality = "";
+ object.organization = "";
+ }
+ if (message.revision != null && message.hasOwnProperty("revision"))
+ object.revision = message.revision;
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ object.regionCode = message.regionCode;
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.postalCode != null && message.hasOwnProperty("postalCode"))
+ object.postalCode = message.postalCode;
+ if (message.sortingCode != null && message.hasOwnProperty("sortingCode"))
+ object.sortingCode = message.sortingCode;
+ if (message.administrativeArea != null && message.hasOwnProperty("administrativeArea"))
+ object.administrativeArea = message.administrativeArea;
+ if (message.locality != null && message.hasOwnProperty("locality"))
+ object.locality = message.locality;
+ if (message.sublocality != null && message.hasOwnProperty("sublocality"))
+ object.sublocality = message.sublocality;
+ if (message.addressLines && message.addressLines.length) {
+ object.addressLines = [];
+ for (var j = 0; j < message.addressLines.length; ++j)
+ object.addressLines[j] = message.addressLines[j];
+ }
+ if (message.recipients && message.recipients.length) {
+ object.recipients = [];
+ for (var j = 0; j < message.recipients.length; ++j)
+ object.recipients[j] = message.recipients[j];
+ }
+ if (message.organization != null && message.hasOwnProperty("organization"))
+ object.organization = message.organization;
+ return object;
+ };
+
+ /**
+ * Converts this PostalAddress to JSON.
+ * @function toJSON
+ * @memberof google.type.PostalAddress
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PostalAddress.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PostalAddress
+ * @function getTypeUrl
+ * @memberof google.type.PostalAddress
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PostalAddress.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.type.PostalAddress";
+ };
+
+ return PostalAddress;
+ })();
+
+ return type;
+ })();
+
+ google.maps = (function() {
+
+ /**
+ * Namespace maps.
+ * @memberof google
+ * @namespace
+ */
+ var maps = {};
+
+ maps.geocode = (function() {
+
+ /**
+ * Namespace geocode.
+ * @memberof google.maps
+ * @namespace
+ */
+ var geocode = {};
+
+ geocode.v4 = (function() {
+
+ /**
+ * Namespace v4.
+ * @memberof google.maps.geocode
+ * @namespace
+ */
+ var v4 = {};
+
+ v4.DestinationService = (function() {
+
+ /**
+ * Constructs a new DestinationService service.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a DestinationService
+ * @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 DestinationService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (DestinationService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = DestinationService;
+
+ /**
+ * Creates new DestinationService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.maps.geocode.v4.DestinationService
+ * @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 {DestinationService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ DestinationService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.maps.geocode.v4.DestinationService|searchDestinations}.
+ * @memberof google.maps.geocode.v4.DestinationService
+ * @typedef SearchDestinationsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.maps.geocode.v4.SearchDestinationsResponse} [response] SearchDestinationsResponse
+ */
+
+ /**
+ * Calls SearchDestinations.
+ * @function searchDestinations
+ * @memberof google.maps.geocode.v4.DestinationService
+ * @instance
+ * @param {google.maps.geocode.v4.ISearchDestinationsRequest} request SearchDestinationsRequest message or plain object
+ * @param {google.maps.geocode.v4.DestinationService.SearchDestinationsCallback} callback Node-style callback called with the error, if any, and SearchDestinationsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DestinationService.prototype.searchDestinations = function searchDestinations(request, callback) {
+ return this.rpcCall(searchDestinations, $root.google.maps.geocode.v4.SearchDestinationsRequest, $root.google.maps.geocode.v4.SearchDestinationsResponse, request, callback);
+ }, "name", { value: "SearchDestinations" });
+
+ /**
+ * Calls SearchDestinations.
+ * @function searchDestinations
+ * @memberof google.maps.geocode.v4.DestinationService
+ * @instance
+ * @param {google.maps.geocode.v4.ISearchDestinationsRequest} request SearchDestinationsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return DestinationService;
+ })();
+
+ v4.SearchDestinationsRequest = (function() {
+
+ /**
+ * Properties of a SearchDestinationsRequest.
+ * @memberof google.maps.geocode.v4
+ * @interface ISearchDestinationsRequest
+ * @property {string|null} [place] SearchDestinationsRequest place
+ * @property {google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery|null} [addressQuery] SearchDestinationsRequest addressQuery
+ * @property {google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery|null} [locationQuery] SearchDestinationsRequest locationQuery
+ * @property {Array.|null} [travelModes] SearchDestinationsRequest travelModes
+ * @property {string|null} [languageCode] SearchDestinationsRequest languageCode
+ * @property {string|null} [regionCode] SearchDestinationsRequest regionCode
+ */
+
+ /**
+ * Constructs a new SearchDestinationsRequest.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a SearchDestinationsRequest.
+ * @implements ISearchDestinationsRequest
+ * @constructor
+ * @param {google.maps.geocode.v4.ISearchDestinationsRequest=} [properties] Properties to set
+ */
+ function SearchDestinationsRequest(properties) {
+ this.travelModes = [];
+ 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]];
+ }
+
+ /**
+ * SearchDestinationsRequest place.
+ * @member {string|null|undefined} place
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @instance
+ */
+ SearchDestinationsRequest.prototype.place = null;
+
+ /**
+ * SearchDestinationsRequest addressQuery.
+ * @member {google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery|null|undefined} addressQuery
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @instance
+ */
+ SearchDestinationsRequest.prototype.addressQuery = null;
+
+ /**
+ * SearchDestinationsRequest locationQuery.
+ * @member {google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery|null|undefined} locationQuery
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @instance
+ */
+ SearchDestinationsRequest.prototype.locationQuery = null;
+
+ /**
+ * SearchDestinationsRequest travelModes.
+ * @member {Array.} travelModes
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @instance
+ */
+ SearchDestinationsRequest.prototype.travelModes = $util.emptyArray;
+
+ /**
+ * SearchDestinationsRequest languageCode.
+ * @member {string} languageCode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @instance
+ */
+ SearchDestinationsRequest.prototype.languageCode = "";
+
+ /**
+ * SearchDestinationsRequest regionCode.
+ * @member {string} regionCode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @instance
+ */
+ SearchDestinationsRequest.prototype.regionCode = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * SearchDestinationsRequest primaryQuery.
+ * @member {"place"|"addressQuery"|"locationQuery"|undefined} primaryQuery
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @instance
+ */
+ Object.defineProperty(SearchDestinationsRequest.prototype, "primaryQuery", {
+ get: $util.oneOfGetter($oneOfFields = ["place", "addressQuery", "locationQuery"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new SearchDestinationsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {google.maps.geocode.v4.ISearchDestinationsRequest=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest} SearchDestinationsRequest instance
+ */
+ SearchDestinationsRequest.create = function create(properties) {
+ return new SearchDestinationsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified SearchDestinationsRequest message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {google.maps.geocode.v4.ISearchDestinationsRequest} message SearchDestinationsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchDestinationsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.place != null && Object.hasOwnProperty.call(message, "place"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.place);
+ if (message.addressQuery != null && Object.hasOwnProperty.call(message, "addressQuery"))
+ $root.google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.encode(message.addressQuery, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.locationQuery != null && Object.hasOwnProperty.call(message, "locationQuery"))
+ $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.encode(message.locationQuery, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.travelModes != null && message.travelModes.length) {
+ writer.uint32(/* id 5, wireType 2 =*/42).fork();
+ for (var i = 0; i < message.travelModes.length; ++i)
+ writer.int32(message.travelModes[i]);
+ writer.ldelim();
+ }
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.languageCode);
+ if (message.regionCode != null && Object.hasOwnProperty.call(message, "regionCode"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.regionCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SearchDestinationsRequest message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {google.maps.geocode.v4.ISearchDestinationsRequest} message SearchDestinationsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchDestinationsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SearchDestinationsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest} SearchDestinationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchDestinationsRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.SearchDestinationsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.place = reader.string();
+ break;
+ }
+ case 2: {
+ message.addressQuery = $root.google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.locationQuery = $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ if (!(message.travelModes && message.travelModes.length))
+ message.travelModes = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.travelModes.push(reader.int32());
+ } else
+ message.travelModes.push(reader.int32());
+ break;
+ }
+ case 6: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 7: {
+ message.regionCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SearchDestinationsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest} SearchDestinationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchDestinationsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SearchDestinationsRequest message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SearchDestinationsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.place != null && message.hasOwnProperty("place")) {
+ properties.primaryQuery = 1;
+ if (!$util.isString(message.place))
+ return "place: string expected";
+ }
+ if (message.addressQuery != null && message.hasOwnProperty("addressQuery")) {
+ if (properties.primaryQuery === 1)
+ return "primaryQuery: multiple values";
+ properties.primaryQuery = 1;
+ {
+ var error = $root.google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.verify(message.addressQuery);
+ if (error)
+ return "addressQuery." + error;
+ }
+ }
+ if (message.locationQuery != null && message.hasOwnProperty("locationQuery")) {
+ if (properties.primaryQuery === 1)
+ return "primaryQuery: multiple values";
+ properties.primaryQuery = 1;
+ {
+ var error = $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.verify(message.locationQuery);
+ if (error)
+ return "locationQuery." + error;
+ }
+ }
+ if (message.travelModes != null && message.hasOwnProperty("travelModes")) {
+ if (!Array.isArray(message.travelModes))
+ return "travelModes: array expected";
+ for (var i = 0; i < message.travelModes.length; ++i)
+ switch (message.travelModes[i]) {
+ default:
+ return "travelModes: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ if (!$util.isString(message.regionCode))
+ return "regionCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a SearchDestinationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest} SearchDestinationsRequest
+ */
+ SearchDestinationsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.SearchDestinationsRequest)
+ return object;
+ var message = new $root.google.maps.geocode.v4.SearchDestinationsRequest();
+ if (object.place != null)
+ message.place = String(object.place);
+ if (object.addressQuery != null) {
+ if (typeof object.addressQuery !== "object")
+ throw TypeError(".google.maps.geocode.v4.SearchDestinationsRequest.addressQuery: object expected");
+ message.addressQuery = $root.google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.fromObject(object.addressQuery);
+ }
+ if (object.locationQuery != null) {
+ if (typeof object.locationQuery !== "object")
+ throw TypeError(".google.maps.geocode.v4.SearchDestinationsRequest.locationQuery: object expected");
+ message.locationQuery = $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.fromObject(object.locationQuery);
+ }
+ if (object.travelModes) {
+ if (!Array.isArray(object.travelModes))
+ throw TypeError(".google.maps.geocode.v4.SearchDestinationsRequest.travelModes: array expected");
+ message.travelModes = [];
+ for (var i = 0; i < object.travelModes.length; ++i)
+ switch (object.travelModes[i]) {
+ default:
+ if (typeof object.travelModes[i] === "number") {
+ message.travelModes[i] = object.travelModes[i];
+ break;
+ }
+ case "TRAVEL_MODE_UNSPECIFIED":
+ case 0:
+ message.travelModes[i] = 0;
+ break;
+ case "DRIVE":
+ case 1:
+ message.travelModes[i] = 1;
+ break;
+ case "WALK":
+ case 2:
+ message.travelModes[i] = 2;
+ break;
+ }
+ }
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ if (object.regionCode != null)
+ message.regionCode = String(object.regionCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SearchDestinationsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest} message SearchDestinationsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SearchDestinationsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.travelModes = [];
+ if (options.defaults) {
+ object.languageCode = "";
+ object.regionCode = "";
+ }
+ if (message.place != null && message.hasOwnProperty("place")) {
+ object.place = message.place;
+ if (options.oneofs)
+ object.primaryQuery = "place";
+ }
+ if (message.addressQuery != null && message.hasOwnProperty("addressQuery")) {
+ object.addressQuery = $root.google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.toObject(message.addressQuery, options);
+ if (options.oneofs)
+ object.primaryQuery = "addressQuery";
+ }
+ if (message.locationQuery != null && message.hasOwnProperty("locationQuery")) {
+ object.locationQuery = $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.toObject(message.locationQuery, options);
+ if (options.oneofs)
+ object.primaryQuery = "locationQuery";
+ }
+ if (message.travelModes && message.travelModes.length) {
+ object.travelModes = [];
+ for (var j = 0; j < message.travelModes.length; ++j)
+ object.travelModes[j] = options.enums === String ? $root.google.maps.geocode.v4.NavigationPoint.TravelMode[message.travelModes[j]] === undefined ? message.travelModes[j] : $root.google.maps.geocode.v4.NavigationPoint.TravelMode[message.travelModes[j]] : message.travelModes[j];
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ object.regionCode = message.regionCode;
+ return object;
+ };
+
+ /**
+ * Converts this SearchDestinationsRequest to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SearchDestinationsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SearchDestinationsRequest
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SearchDestinationsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.SearchDestinationsRequest";
+ };
+
+ SearchDestinationsRequest.AddressQuery = (function() {
+
+ /**
+ * Properties of an AddressQuery.
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @interface IAddressQuery
+ * @property {google.type.IPostalAddress|null} [address] AddressQuery address
+ * @property {string|null} [addressQuery] AddressQuery addressQuery
+ */
+
+ /**
+ * Constructs a new AddressQuery.
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @classdesc Represents an AddressQuery.
+ * @implements IAddressQuery
+ * @constructor
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery=} [properties] Properties to set
+ */
+ function AddressQuery(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]];
+ }
+
+ /**
+ * AddressQuery address.
+ * @member {google.type.IPostalAddress|null|undefined} address
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @instance
+ */
+ AddressQuery.prototype.address = null;
+
+ /**
+ * AddressQuery addressQuery.
+ * @member {string|null|undefined} addressQuery
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @instance
+ */
+ AddressQuery.prototype.addressQuery = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * AddressQuery kind.
+ * @member {"address"|"addressQuery"|undefined} kind
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @instance
+ */
+ Object.defineProperty(AddressQuery.prototype, "kind", {
+ get: $util.oneOfGetter($oneOfFields = ["address", "addressQuery"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new AddressQuery instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery} AddressQuery instance
+ */
+ AddressQuery.create = function create(properties) {
+ return new AddressQuery(properties);
+ };
+
+ /**
+ * Encodes the specified AddressQuery message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery} message AddressQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AddressQuery.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.address != null && Object.hasOwnProperty.call(message, "address"))
+ $root.google.type.PostalAddress.encode(message.address, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.addressQuery != null && Object.hasOwnProperty.call(message, "addressQuery"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.addressQuery);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AddressQuery message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.IAddressQuery} message AddressQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AddressQuery.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AddressQuery message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery} AddressQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AddressQuery.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.address = $root.google.type.PostalAddress.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.addressQuery = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AddressQuery message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery} AddressQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AddressQuery.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AddressQuery message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AddressQuery.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.address != null && message.hasOwnProperty("address")) {
+ properties.kind = 1;
+ {
+ var error = $root.google.type.PostalAddress.verify(message.address);
+ if (error)
+ return "address." + error;
+ }
+ }
+ if (message.addressQuery != null && message.hasOwnProperty("addressQuery")) {
+ if (properties.kind === 1)
+ return "kind: multiple values";
+ properties.kind = 1;
+ if (!$util.isString(message.addressQuery))
+ return "addressQuery: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AddressQuery message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery} AddressQuery
+ */
+ AddressQuery.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery)
+ return object;
+ var message = new $root.google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery();
+ if (object.address != null) {
+ if (typeof object.address !== "object")
+ throw TypeError(".google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery.address: object expected");
+ message.address = $root.google.type.PostalAddress.fromObject(object.address);
+ }
+ if (object.addressQuery != null)
+ message.addressQuery = String(object.addressQuery);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AddressQuery message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery} message AddressQuery
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AddressQuery.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.address != null && message.hasOwnProperty("address")) {
+ object.address = $root.google.type.PostalAddress.toObject(message.address, options);
+ if (options.oneofs)
+ object.kind = "address";
+ }
+ if (message.addressQuery != null && message.hasOwnProperty("addressQuery")) {
+ object.addressQuery = message.addressQuery;
+ if (options.oneofs)
+ object.kind = "addressQuery";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AddressQuery to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AddressQuery.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AddressQuery
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AddressQuery.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.SearchDestinationsRequest.AddressQuery";
+ };
+
+ return AddressQuery;
+ })();
+
+ SearchDestinationsRequest.LocationQuery = (function() {
+
+ /**
+ * Properties of a LocationQuery.
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @interface ILocationQuery
+ * @property {google.type.ILatLng|null} [location] LocationQuery location
+ * @property {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter|null} [placeFilter] LocationQuery placeFilter
+ */
+
+ /**
+ * Constructs a new LocationQuery.
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest
+ * @classdesc Represents a LocationQuery.
+ * @implements ILocationQuery
+ * @constructor
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery=} [properties] Properties to set
+ */
+ function LocationQuery(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]];
+ }
+
+ /**
+ * LocationQuery location.
+ * @member {google.type.ILatLng|null|undefined} location
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @instance
+ */
+ LocationQuery.prototype.location = null;
+
+ /**
+ * LocationQuery placeFilter.
+ * @member {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter|null|undefined} placeFilter
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @instance
+ */
+ LocationQuery.prototype.placeFilter = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * LocationQuery kind.
+ * @member {"location"|undefined} kind
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @instance
+ */
+ Object.defineProperty(LocationQuery.prototype, "kind", {
+ get: $util.oneOfGetter($oneOfFields = ["location"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new LocationQuery instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery} LocationQuery instance
+ */
+ LocationQuery.create = function create(properties) {
+ return new LocationQuery(properties);
+ };
+
+ /**
+ * Encodes the specified LocationQuery message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery} message LocationQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationQuery.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.location != null && Object.hasOwnProperty.call(message, "location"))
+ $root.google.type.LatLng.encode(message.location, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.placeFilter != null && Object.hasOwnProperty.call(message, "placeFilter"))
+ $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.encode(message.placeFilter, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LocationQuery message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.ILocationQuery} message LocationQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationQuery.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LocationQuery message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery} LocationQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationQuery.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.location = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.placeFilter = $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LocationQuery message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery} LocationQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationQuery.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LocationQuery message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LocationQuery.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.location != null && message.hasOwnProperty("location")) {
+ properties.kind = 1;
+ {
+ var error = $root.google.type.LatLng.verify(message.location);
+ if (error)
+ return "location." + error;
+ }
+ }
+ if (message.placeFilter != null && message.hasOwnProperty("placeFilter")) {
+ var error = $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.verify(message.placeFilter);
+ if (error)
+ return "placeFilter." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a LocationQuery message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery} LocationQuery
+ */
+ LocationQuery.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery)
+ return object;
+ var message = new $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery();
+ if (object.location != null) {
+ if (typeof object.location !== "object")
+ throw TypeError(".google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.location: object expected");
+ message.location = $root.google.type.LatLng.fromObject(object.location);
+ }
+ if (object.placeFilter != null) {
+ if (typeof object.placeFilter !== "object")
+ throw TypeError(".google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.placeFilter: object expected");
+ message.placeFilter = $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.fromObject(object.placeFilter);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LocationQuery message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery} message LocationQuery
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LocationQuery.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.placeFilter = null;
+ if (message.location != null && message.hasOwnProperty("location")) {
+ object.location = $root.google.type.LatLng.toObject(message.location, options);
+ if (options.oneofs)
+ object.kind = "location";
+ }
+ if (message.placeFilter != null && message.hasOwnProperty("placeFilter"))
+ object.placeFilter = $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.toObject(message.placeFilter, options);
+ return object;
+ };
+
+ /**
+ * Converts this LocationQuery to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LocationQuery.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LocationQuery
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LocationQuery.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery";
+ };
+
+ LocationQuery.PlaceFilter = (function() {
+
+ /**
+ * Properties of a PlaceFilter.
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @interface IPlaceFilter
+ * @property {google.maps.geocode.v4.PlaceView.StructureType|null} [structureType] PlaceFilter structureType
+ * @property {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability|null} [addressability] PlaceFilter addressability
+ */
+
+ /**
+ * Constructs a new PlaceFilter.
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery
+ * @classdesc Represents a PlaceFilter.
+ * @implements IPlaceFilter
+ * @constructor
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter=} [properties] Properties to set
+ */
+ function PlaceFilter(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]];
+ }
+
+ /**
+ * PlaceFilter structureType.
+ * @member {google.maps.geocode.v4.PlaceView.StructureType} structureType
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @instance
+ */
+ PlaceFilter.prototype.structureType = 0;
+
+ /**
+ * PlaceFilter addressability.
+ * @member {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability} addressability
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @instance
+ */
+ PlaceFilter.prototype.addressability = 0;
+
+ /**
+ * Creates a new PlaceFilter instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter} PlaceFilter instance
+ */
+ PlaceFilter.create = function create(properties) {
+ return new PlaceFilter(properties);
+ };
+
+ /**
+ * Encodes the specified PlaceFilter message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter} message PlaceFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PlaceFilter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.structureType != null && Object.hasOwnProperty.call(message, "structureType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.structureType);
+ if (message.addressability != null && Object.hasOwnProperty.call(message, "addressability"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.addressability);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PlaceFilter message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.IPlaceFilter} message PlaceFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PlaceFilter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PlaceFilter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter} PlaceFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PlaceFilter.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 2: {
+ message.structureType = reader.int32();
+ break;
+ }
+ case 3: {
+ message.addressability = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PlaceFilter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter} PlaceFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PlaceFilter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PlaceFilter message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PlaceFilter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.structureType != null && message.hasOwnProperty("structureType"))
+ switch (message.structureType) {
+ default:
+ return "structureType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ if (message.addressability != null && message.hasOwnProperty("addressability"))
+ switch (message.addressability) {
+ default:
+ return "addressability: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PlaceFilter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter} PlaceFilter
+ */
+ PlaceFilter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter)
+ return object;
+ var message = new $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter();
+ switch (object.structureType) {
+ default:
+ if (typeof object.structureType === "number") {
+ message.structureType = object.structureType;
+ break;
+ }
+ break;
+ case "STRUCTURE_TYPE_UNSPECIFIED":
+ case 0:
+ message.structureType = 0;
+ break;
+ case "POINT":
+ case 1:
+ message.structureType = 1;
+ break;
+ case "SECTION":
+ case 2:
+ message.structureType = 2;
+ break;
+ case "BUILDING":
+ case 3:
+ message.structureType = 3;
+ break;
+ case "GROUNDS":
+ case 4:
+ message.structureType = 4;
+ break;
+ }
+ switch (object.addressability) {
+ default:
+ if (typeof object.addressability === "number") {
+ message.addressability = object.addressability;
+ break;
+ }
+ break;
+ case "ADDRESSABILITY_UNSPECIFIED":
+ case 0:
+ message.addressability = 0;
+ break;
+ case "ANY":
+ case 1:
+ message.addressability = 1;
+ break;
+ case "PRIMARY":
+ case 2:
+ message.addressability = 2;
+ break;
+ case "WEAK":
+ case 3:
+ message.addressability = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PlaceFilter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter} message PlaceFilter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PlaceFilter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.structureType = options.enums === String ? "STRUCTURE_TYPE_UNSPECIFIED" : 0;
+ object.addressability = options.enums === String ? "ADDRESSABILITY_UNSPECIFIED" : 0;
+ }
+ if (message.structureType != null && message.hasOwnProperty("structureType"))
+ object.structureType = options.enums === String ? $root.google.maps.geocode.v4.PlaceView.StructureType[message.structureType] === undefined ? message.structureType : $root.google.maps.geocode.v4.PlaceView.StructureType[message.structureType] : message.structureType;
+ if (message.addressability != null && message.hasOwnProperty("addressability"))
+ object.addressability = options.enums === String ? $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability[message.addressability] === undefined ? message.addressability : $root.google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability[message.addressability] : message.addressability;
+ return object;
+ };
+
+ /**
+ * Converts this PlaceFilter to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PlaceFilter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PlaceFilter
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PlaceFilter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter";
+ };
+
+ /**
+ * Addressability enum.
+ * @name google.maps.geocode.v4.SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability
+ * @enum {number}
+ * @property {number} ADDRESSABILITY_UNSPECIFIED=0 ADDRESSABILITY_UNSPECIFIED value
+ * @property {number} ANY=1 ANY value
+ * @property {number} PRIMARY=2 PRIMARY value
+ * @property {number} WEAK=3 WEAK value
+ */
+ PlaceFilter.Addressability = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ADDRESSABILITY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ANY"] = 1;
+ values[valuesById[2] = "PRIMARY"] = 2;
+ values[valuesById[3] = "WEAK"] = 3;
+ return values;
+ })();
+
+ return PlaceFilter;
+ })();
+
+ return LocationQuery;
+ })();
+
+ return SearchDestinationsRequest;
+ })();
+
+ v4.SearchDestinationsResponse = (function() {
+
+ /**
+ * Properties of a SearchDestinationsResponse.
+ * @memberof google.maps.geocode.v4
+ * @interface ISearchDestinationsResponse
+ * @property {Array.|null} [destinations] SearchDestinationsResponse destinations
+ */
+
+ /**
+ * Constructs a new SearchDestinationsResponse.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a SearchDestinationsResponse.
+ * @implements ISearchDestinationsResponse
+ * @constructor
+ * @param {google.maps.geocode.v4.ISearchDestinationsResponse=} [properties] Properties to set
+ */
+ function SearchDestinationsResponse(properties) {
+ this.destinations = [];
+ 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]];
+ }
+
+ /**
+ * SearchDestinationsResponse destinations.
+ * @member {Array.} destinations
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @instance
+ */
+ SearchDestinationsResponse.prototype.destinations = $util.emptyArray;
+
+ /**
+ * Creates a new SearchDestinationsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {google.maps.geocode.v4.ISearchDestinationsResponse=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.SearchDestinationsResponse} SearchDestinationsResponse instance
+ */
+ SearchDestinationsResponse.create = function create(properties) {
+ return new SearchDestinationsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified SearchDestinationsResponse message. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {google.maps.geocode.v4.ISearchDestinationsResponse} message SearchDestinationsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchDestinationsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.destinations != null && message.destinations.length)
+ for (var i = 0; i < message.destinations.length; ++i)
+ $root.google.maps.geocode.v4.Destination.encode(message.destinations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SearchDestinationsResponse message, length delimited. Does not implicitly {@link google.maps.geocode.v4.SearchDestinationsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {google.maps.geocode.v4.ISearchDestinationsResponse} message SearchDestinationsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchDestinationsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SearchDestinationsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.SearchDestinationsResponse} SearchDestinationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchDestinationsResponse.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.SearchDestinationsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.destinations && message.destinations.length))
+ message.destinations = [];
+ message.destinations.push($root.google.maps.geocode.v4.Destination.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SearchDestinationsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.SearchDestinationsResponse} SearchDestinationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchDestinationsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SearchDestinationsResponse message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SearchDestinationsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.destinations != null && message.hasOwnProperty("destinations")) {
+ if (!Array.isArray(message.destinations))
+ return "destinations: array expected";
+ for (var i = 0; i < message.destinations.length; ++i) {
+ var error = $root.google.maps.geocode.v4.Destination.verify(message.destinations[i]);
+ if (error)
+ return "destinations." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SearchDestinationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.SearchDestinationsResponse} SearchDestinationsResponse
+ */
+ SearchDestinationsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.SearchDestinationsResponse)
+ return object;
+ var message = new $root.google.maps.geocode.v4.SearchDestinationsResponse();
+ if (object.destinations) {
+ if (!Array.isArray(object.destinations))
+ throw TypeError(".google.maps.geocode.v4.SearchDestinationsResponse.destinations: array expected");
+ message.destinations = [];
+ for (var i = 0; i < object.destinations.length; ++i) {
+ if (typeof object.destinations[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.SearchDestinationsResponse.destinations: object expected");
+ message.destinations[i] = $root.google.maps.geocode.v4.Destination.fromObject(object.destinations[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SearchDestinationsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {google.maps.geocode.v4.SearchDestinationsResponse} message SearchDestinationsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SearchDestinationsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.destinations = [];
+ if (message.destinations && message.destinations.length) {
+ object.destinations = [];
+ for (var j = 0; j < message.destinations.length; ++j)
+ object.destinations[j] = $root.google.maps.geocode.v4.Destination.toObject(message.destinations[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this SearchDestinationsResponse to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SearchDestinationsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SearchDestinationsResponse
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.SearchDestinationsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SearchDestinationsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.SearchDestinationsResponse";
+ };
+
+ return SearchDestinationsResponse;
+ })();
+
+ v4.Destination = (function() {
+
+ /**
+ * Properties of a Destination.
+ * @memberof google.maps.geocode.v4
+ * @interface IDestination
+ * @property {google.maps.geocode.v4.IPlaceView|null} [primary] Destination primary
+ * @property {Array.|null} [containingPlaces] Destination containingPlaces
+ * @property {Array.|null} [subDestinations] Destination subDestinations
+ * @property {Array.|null} [landmarks] Destination landmarks
+ * @property {Array.|null} [entrances] Destination entrances
+ * @property {Array.|null} [navigationPoints] Destination navigationPoints
+ */
+
+ /**
+ * Constructs a new Destination.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a Destination.
+ * @implements IDestination
+ * @constructor
+ * @param {google.maps.geocode.v4.IDestination=} [properties] Properties to set
+ */
+ function Destination(properties) {
+ this.containingPlaces = [];
+ this.subDestinations = [];
+ this.landmarks = [];
+ this.entrances = [];
+ this.navigationPoints = [];
+ 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]];
+ }
+
+ /**
+ * Destination primary.
+ * @member {google.maps.geocode.v4.IPlaceView|null|undefined} primary
+ * @memberof google.maps.geocode.v4.Destination
+ * @instance
+ */
+ Destination.prototype.primary = null;
+
+ /**
+ * Destination containingPlaces.
+ * @member {Array.} containingPlaces
+ * @memberof google.maps.geocode.v4.Destination
+ * @instance
+ */
+ Destination.prototype.containingPlaces = $util.emptyArray;
+
+ /**
+ * Destination subDestinations.
+ * @member {Array.} subDestinations
+ * @memberof google.maps.geocode.v4.Destination
+ * @instance
+ */
+ Destination.prototype.subDestinations = $util.emptyArray;
+
+ /**
+ * Destination landmarks.
+ * @member {Array.} landmarks
+ * @memberof google.maps.geocode.v4.Destination
+ * @instance
+ */
+ Destination.prototype.landmarks = $util.emptyArray;
+
+ /**
+ * Destination entrances.
+ * @member {Array.} entrances
+ * @memberof google.maps.geocode.v4.Destination
+ * @instance
+ */
+ Destination.prototype.entrances = $util.emptyArray;
+
+ /**
+ * Destination navigationPoints.
+ * @member {Array.} navigationPoints
+ * @memberof google.maps.geocode.v4.Destination
+ * @instance
+ */
+ Destination.prototype.navigationPoints = $util.emptyArray;
+
+ /**
+ * Creates a new Destination instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {google.maps.geocode.v4.IDestination=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.Destination} Destination instance
+ */
+ Destination.create = function create(properties) {
+ return new Destination(properties);
+ };
+
+ /**
+ * Encodes the specified Destination message. Does not implicitly {@link google.maps.geocode.v4.Destination.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {google.maps.geocode.v4.IDestination} message Destination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Destination.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.primary != null && Object.hasOwnProperty.call(message, "primary"))
+ $root.google.maps.geocode.v4.PlaceView.encode(message.primary, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.containingPlaces != null && message.containingPlaces.length)
+ for (var i = 0; i < message.containingPlaces.length; ++i)
+ $root.google.maps.geocode.v4.PlaceView.encode(message.containingPlaces[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.subDestinations != null && message.subDestinations.length)
+ for (var i = 0; i < message.subDestinations.length; ++i)
+ $root.google.maps.geocode.v4.PlaceView.encode(message.subDestinations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.landmarks != null && message.landmarks.length)
+ for (var i = 0; i < message.landmarks.length; ++i)
+ $root.google.maps.geocode.v4.Landmark.encode(message.landmarks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.entrances != null && message.entrances.length)
+ for (var i = 0; i < message.entrances.length; ++i)
+ $root.google.maps.geocode.v4.Entrance.encode(message.entrances[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.navigationPoints != null && message.navigationPoints.length)
+ for (var i = 0; i < message.navigationPoints.length; ++i)
+ $root.google.maps.geocode.v4.NavigationPoint.encode(message.navigationPoints[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Destination message, length delimited. Does not implicitly {@link google.maps.geocode.v4.Destination.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {google.maps.geocode.v4.IDestination} message Destination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Destination.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Destination message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.Destination} Destination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Destination.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.Destination();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.primary = $root.google.maps.geocode.v4.PlaceView.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.containingPlaces && message.containingPlaces.length))
+ message.containingPlaces = [];
+ message.containingPlaces.push($root.google.maps.geocode.v4.PlaceView.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.subDestinations && message.subDestinations.length))
+ message.subDestinations = [];
+ message.subDestinations.push($root.google.maps.geocode.v4.PlaceView.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.landmarks && message.landmarks.length))
+ message.landmarks = [];
+ message.landmarks.push($root.google.maps.geocode.v4.Landmark.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.entrances && message.entrances.length))
+ message.entrances = [];
+ message.entrances.push($root.google.maps.geocode.v4.Entrance.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.navigationPoints && message.navigationPoints.length))
+ message.navigationPoints = [];
+ message.navigationPoints.push($root.google.maps.geocode.v4.NavigationPoint.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Destination message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.Destination} Destination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Destination.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Destination message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Destination.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.primary != null && message.hasOwnProperty("primary")) {
+ var error = $root.google.maps.geocode.v4.PlaceView.verify(message.primary);
+ if (error)
+ return "primary." + error;
+ }
+ if (message.containingPlaces != null && message.hasOwnProperty("containingPlaces")) {
+ if (!Array.isArray(message.containingPlaces))
+ return "containingPlaces: array expected";
+ for (var i = 0; i < message.containingPlaces.length; ++i) {
+ var error = $root.google.maps.geocode.v4.PlaceView.verify(message.containingPlaces[i]);
+ if (error)
+ return "containingPlaces." + error;
+ }
+ }
+ if (message.subDestinations != null && message.hasOwnProperty("subDestinations")) {
+ if (!Array.isArray(message.subDestinations))
+ return "subDestinations: array expected";
+ for (var i = 0; i < message.subDestinations.length; ++i) {
+ var error = $root.google.maps.geocode.v4.PlaceView.verify(message.subDestinations[i]);
+ if (error)
+ return "subDestinations." + error;
+ }
+ }
+ if (message.landmarks != null && message.hasOwnProperty("landmarks")) {
+ if (!Array.isArray(message.landmarks))
+ return "landmarks: array expected";
+ for (var i = 0; i < message.landmarks.length; ++i) {
+ var error = $root.google.maps.geocode.v4.Landmark.verify(message.landmarks[i]);
+ if (error)
+ return "landmarks." + error;
+ }
+ }
+ if (message.entrances != null && message.hasOwnProperty("entrances")) {
+ if (!Array.isArray(message.entrances))
+ return "entrances: array expected";
+ for (var i = 0; i < message.entrances.length; ++i) {
+ var error = $root.google.maps.geocode.v4.Entrance.verify(message.entrances[i]);
+ if (error)
+ return "entrances." + error;
+ }
+ }
+ if (message.navigationPoints != null && message.hasOwnProperty("navigationPoints")) {
+ if (!Array.isArray(message.navigationPoints))
+ return "navigationPoints: array expected";
+ for (var i = 0; i < message.navigationPoints.length; ++i) {
+ var error = $root.google.maps.geocode.v4.NavigationPoint.verify(message.navigationPoints[i]);
+ if (error)
+ return "navigationPoints." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Destination message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.Destination} Destination
+ */
+ Destination.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.Destination)
+ return object;
+ var message = new $root.google.maps.geocode.v4.Destination();
+ if (object.primary != null) {
+ if (typeof object.primary !== "object")
+ throw TypeError(".google.maps.geocode.v4.Destination.primary: object expected");
+ message.primary = $root.google.maps.geocode.v4.PlaceView.fromObject(object.primary);
+ }
+ if (object.containingPlaces) {
+ if (!Array.isArray(object.containingPlaces))
+ throw TypeError(".google.maps.geocode.v4.Destination.containingPlaces: array expected");
+ message.containingPlaces = [];
+ for (var i = 0; i < object.containingPlaces.length; ++i) {
+ if (typeof object.containingPlaces[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.Destination.containingPlaces: object expected");
+ message.containingPlaces[i] = $root.google.maps.geocode.v4.PlaceView.fromObject(object.containingPlaces[i]);
+ }
+ }
+ if (object.subDestinations) {
+ if (!Array.isArray(object.subDestinations))
+ throw TypeError(".google.maps.geocode.v4.Destination.subDestinations: array expected");
+ message.subDestinations = [];
+ for (var i = 0; i < object.subDestinations.length; ++i) {
+ if (typeof object.subDestinations[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.Destination.subDestinations: object expected");
+ message.subDestinations[i] = $root.google.maps.geocode.v4.PlaceView.fromObject(object.subDestinations[i]);
+ }
+ }
+ if (object.landmarks) {
+ if (!Array.isArray(object.landmarks))
+ throw TypeError(".google.maps.geocode.v4.Destination.landmarks: array expected");
+ message.landmarks = [];
+ for (var i = 0; i < object.landmarks.length; ++i) {
+ if (typeof object.landmarks[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.Destination.landmarks: object expected");
+ message.landmarks[i] = $root.google.maps.geocode.v4.Landmark.fromObject(object.landmarks[i]);
+ }
+ }
+ if (object.entrances) {
+ if (!Array.isArray(object.entrances))
+ throw TypeError(".google.maps.geocode.v4.Destination.entrances: array expected");
+ message.entrances = [];
+ for (var i = 0; i < object.entrances.length; ++i) {
+ if (typeof object.entrances[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.Destination.entrances: object expected");
+ message.entrances[i] = $root.google.maps.geocode.v4.Entrance.fromObject(object.entrances[i]);
+ }
+ }
+ if (object.navigationPoints) {
+ if (!Array.isArray(object.navigationPoints))
+ throw TypeError(".google.maps.geocode.v4.Destination.navigationPoints: array expected");
+ message.navigationPoints = [];
+ for (var i = 0; i < object.navigationPoints.length; ++i) {
+ if (typeof object.navigationPoints[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.Destination.navigationPoints: object expected");
+ message.navigationPoints[i] = $root.google.maps.geocode.v4.NavigationPoint.fromObject(object.navigationPoints[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Destination message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {google.maps.geocode.v4.Destination} message Destination
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Destination.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.containingPlaces = [];
+ object.subDestinations = [];
+ object.landmarks = [];
+ object.entrances = [];
+ object.navigationPoints = [];
+ }
+ if (options.defaults)
+ object.primary = null;
+ if (message.primary != null && message.hasOwnProperty("primary"))
+ object.primary = $root.google.maps.geocode.v4.PlaceView.toObject(message.primary, options);
+ if (message.containingPlaces && message.containingPlaces.length) {
+ object.containingPlaces = [];
+ for (var j = 0; j < message.containingPlaces.length; ++j)
+ object.containingPlaces[j] = $root.google.maps.geocode.v4.PlaceView.toObject(message.containingPlaces[j], options);
+ }
+ if (message.subDestinations && message.subDestinations.length) {
+ object.subDestinations = [];
+ for (var j = 0; j < message.subDestinations.length; ++j)
+ object.subDestinations[j] = $root.google.maps.geocode.v4.PlaceView.toObject(message.subDestinations[j], options);
+ }
+ if (message.landmarks && message.landmarks.length) {
+ object.landmarks = [];
+ for (var j = 0; j < message.landmarks.length; ++j)
+ object.landmarks[j] = $root.google.maps.geocode.v4.Landmark.toObject(message.landmarks[j], options);
+ }
+ if (message.entrances && message.entrances.length) {
+ object.entrances = [];
+ for (var j = 0; j < message.entrances.length; ++j)
+ object.entrances[j] = $root.google.maps.geocode.v4.Entrance.toObject(message.entrances[j], options);
+ }
+ if (message.navigationPoints && message.navigationPoints.length) {
+ object.navigationPoints = [];
+ for (var j = 0; j < message.navigationPoints.length; ++j)
+ object.navigationPoints[j] = $root.google.maps.geocode.v4.NavigationPoint.toObject(message.navigationPoints[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Destination to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.Destination
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Destination.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Destination
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.Destination
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Destination.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.Destination";
+ };
+
+ return Destination;
+ })();
+
+ v4.PlaceView = (function() {
+
+ /**
+ * Properties of a PlaceView.
+ * @memberof google.maps.geocode.v4
+ * @interface IPlaceView
+ * @property {string|null} [place] PlaceView place
+ * @property {google.type.ILocalizedText|null} [displayName] PlaceView displayName
+ * @property {string|null} [primaryType] PlaceView primaryType
+ * @property {Array.|null} [types] PlaceView types
+ * @property {string|null} [formattedAddress] PlaceView formattedAddress
+ * @property {google.type.IPostalAddress|null} [postalAddress] PlaceView postalAddress
+ * @property {google.maps.geocode.v4.PlaceView.StructureType|null} [structureType] PlaceView structureType
+ * @property {google.type.ILatLng|null} [location] PlaceView location
+ * @property {google.protobuf.IStruct|null} [displayPolygon] PlaceView displayPolygon
+ */
+
+ /**
+ * Constructs a new PlaceView.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a PlaceView.
+ * @implements IPlaceView
+ * @constructor
+ * @param {google.maps.geocode.v4.IPlaceView=} [properties] Properties to set
+ */
+ function PlaceView(properties) {
+ this.types = [];
+ 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]];
+ }
+
+ /**
+ * PlaceView place.
+ * @member {string} place
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.place = "";
+
+ /**
+ * PlaceView displayName.
+ * @member {google.type.ILocalizedText|null|undefined} displayName
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.displayName = null;
+
+ /**
+ * PlaceView primaryType.
+ * @member {string} primaryType
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.primaryType = "";
+
+ /**
+ * PlaceView types.
+ * @member {Array.} types
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.types = $util.emptyArray;
+
+ /**
+ * PlaceView formattedAddress.
+ * @member {string} formattedAddress
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.formattedAddress = "";
+
+ /**
+ * PlaceView postalAddress.
+ * @member {google.type.IPostalAddress|null|undefined} postalAddress
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.postalAddress = null;
+
+ /**
+ * PlaceView structureType.
+ * @member {google.maps.geocode.v4.PlaceView.StructureType} structureType
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.structureType = 0;
+
+ /**
+ * PlaceView location.
+ * @member {google.type.ILatLng|null|undefined} location
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.location = null;
+
+ /**
+ * PlaceView displayPolygon.
+ * @member {google.protobuf.IStruct|null|undefined} displayPolygon
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ */
+ PlaceView.prototype.displayPolygon = null;
+
+ /**
+ * Creates a new PlaceView instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {google.maps.geocode.v4.IPlaceView=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.PlaceView} PlaceView instance
+ */
+ PlaceView.create = function create(properties) {
+ return new PlaceView(properties);
+ };
+
+ /**
+ * Encodes the specified PlaceView message. Does not implicitly {@link google.maps.geocode.v4.PlaceView.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {google.maps.geocode.v4.IPlaceView} message PlaceView message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PlaceView.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.place != null && Object.hasOwnProperty.call(message, "place"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.place);
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ $root.google.type.LocalizedText.encode(message.displayName, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.primaryType != null && Object.hasOwnProperty.call(message, "primaryType"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.primaryType);
+ if (message.types != null && message.types.length)
+ for (var i = 0; i < message.types.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.types[i]);
+ if (message.formattedAddress != null && Object.hasOwnProperty.call(message, "formattedAddress"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.formattedAddress);
+ if (message.postalAddress != null && Object.hasOwnProperty.call(message, "postalAddress"))
+ $root.google.type.PostalAddress.encode(message.postalAddress, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.structureType != null && Object.hasOwnProperty.call(message, "structureType"))
+ writer.uint32(/* id 8, wireType 0 =*/64).int32(message.structureType);
+ if (message.location != null && Object.hasOwnProperty.call(message, "location"))
+ $root.google.type.LatLng.encode(message.location, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.displayPolygon != null && Object.hasOwnProperty.call(message, "displayPolygon"))
+ $root.google.protobuf.Struct.encode(message.displayPolygon, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PlaceView message, length delimited. Does not implicitly {@link google.maps.geocode.v4.PlaceView.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {google.maps.geocode.v4.IPlaceView} message PlaceView message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PlaceView.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PlaceView message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.PlaceView} PlaceView
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PlaceView.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.PlaceView();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.place = reader.string();
+ break;
+ }
+ case 3: {
+ message.displayName = $root.google.type.LocalizedText.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.primaryType = reader.string();
+ break;
+ }
+ case 5: {
+ if (!(message.types && message.types.length))
+ message.types = [];
+ message.types.push(reader.string());
+ break;
+ }
+ case 6: {
+ message.formattedAddress = reader.string();
+ break;
+ }
+ case 7: {
+ message.postalAddress = $root.google.type.PostalAddress.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.structureType = reader.int32();
+ break;
+ }
+ case 9: {
+ message.location = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 10: {
+ message.displayPolygon = $root.google.protobuf.Struct.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PlaceView message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.PlaceView} PlaceView
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PlaceView.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PlaceView message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PlaceView.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.place != null && message.hasOwnProperty("place"))
+ if (!$util.isString(message.place))
+ return "place: string expected";
+ if (message.displayName != null && message.hasOwnProperty("displayName")) {
+ var error = $root.google.type.LocalizedText.verify(message.displayName);
+ if (error)
+ return "displayName." + error;
+ }
+ if (message.primaryType != null && message.hasOwnProperty("primaryType"))
+ if (!$util.isString(message.primaryType))
+ return "primaryType: string expected";
+ if (message.types != null && message.hasOwnProperty("types")) {
+ if (!Array.isArray(message.types))
+ return "types: array expected";
+ for (var i = 0; i < message.types.length; ++i)
+ if (!$util.isString(message.types[i]))
+ return "types: string[] expected";
+ }
+ if (message.formattedAddress != null && message.hasOwnProperty("formattedAddress"))
+ if (!$util.isString(message.formattedAddress))
+ return "formattedAddress: string expected";
+ if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) {
+ var error = $root.google.type.PostalAddress.verify(message.postalAddress);
+ if (error)
+ return "postalAddress." + error;
+ }
+ if (message.structureType != null && message.hasOwnProperty("structureType"))
+ switch (message.structureType) {
+ default:
+ return "structureType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ if (message.location != null && message.hasOwnProperty("location")) {
+ var error = $root.google.type.LatLng.verify(message.location);
+ if (error)
+ return "location." + error;
+ }
+ if (message.displayPolygon != null && message.hasOwnProperty("displayPolygon")) {
+ var error = $root.google.protobuf.Struct.verify(message.displayPolygon);
+ if (error)
+ return "displayPolygon." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PlaceView message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.PlaceView} PlaceView
+ */
+ PlaceView.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.PlaceView)
+ return object;
+ var message = new $root.google.maps.geocode.v4.PlaceView();
+ if (object.place != null)
+ message.place = String(object.place);
+ if (object.displayName != null) {
+ if (typeof object.displayName !== "object")
+ throw TypeError(".google.maps.geocode.v4.PlaceView.displayName: object expected");
+ message.displayName = $root.google.type.LocalizedText.fromObject(object.displayName);
+ }
+ if (object.primaryType != null)
+ message.primaryType = String(object.primaryType);
+ if (object.types) {
+ if (!Array.isArray(object.types))
+ throw TypeError(".google.maps.geocode.v4.PlaceView.types: array expected");
+ message.types = [];
+ for (var i = 0; i < object.types.length; ++i)
+ message.types[i] = String(object.types[i]);
+ }
+ if (object.formattedAddress != null)
+ message.formattedAddress = String(object.formattedAddress);
+ if (object.postalAddress != null) {
+ if (typeof object.postalAddress !== "object")
+ throw TypeError(".google.maps.geocode.v4.PlaceView.postalAddress: object expected");
+ message.postalAddress = $root.google.type.PostalAddress.fromObject(object.postalAddress);
+ }
+ switch (object.structureType) {
+ default:
+ if (typeof object.structureType === "number") {
+ message.structureType = object.structureType;
+ break;
+ }
+ break;
+ case "STRUCTURE_TYPE_UNSPECIFIED":
+ case 0:
+ message.structureType = 0;
+ break;
+ case "POINT":
+ case 1:
+ message.structureType = 1;
+ break;
+ case "SECTION":
+ case 2:
+ message.structureType = 2;
+ break;
+ case "BUILDING":
+ case 3:
+ message.structureType = 3;
+ break;
+ case "GROUNDS":
+ case 4:
+ message.structureType = 4;
+ break;
+ }
+ if (object.location != null) {
+ if (typeof object.location !== "object")
+ throw TypeError(".google.maps.geocode.v4.PlaceView.location: object expected");
+ message.location = $root.google.type.LatLng.fromObject(object.location);
+ }
+ if (object.displayPolygon != null) {
+ if (typeof object.displayPolygon !== "object")
+ throw TypeError(".google.maps.geocode.v4.PlaceView.displayPolygon: object expected");
+ message.displayPolygon = $root.google.protobuf.Struct.fromObject(object.displayPolygon);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PlaceView message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {google.maps.geocode.v4.PlaceView} message PlaceView
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PlaceView.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.types = [];
+ if (options.defaults) {
+ object.place = "";
+ object.displayName = null;
+ object.primaryType = "";
+ object.formattedAddress = "";
+ object.postalAddress = null;
+ object.structureType = options.enums === String ? "STRUCTURE_TYPE_UNSPECIFIED" : 0;
+ object.location = null;
+ object.displayPolygon = null;
+ }
+ if (message.place != null && message.hasOwnProperty("place"))
+ object.place = message.place;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = $root.google.type.LocalizedText.toObject(message.displayName, options);
+ if (message.primaryType != null && message.hasOwnProperty("primaryType"))
+ object.primaryType = message.primaryType;
+ if (message.types && message.types.length) {
+ object.types = [];
+ for (var j = 0; j < message.types.length; ++j)
+ object.types[j] = message.types[j];
+ }
+ if (message.formattedAddress != null && message.hasOwnProperty("formattedAddress"))
+ object.formattedAddress = message.formattedAddress;
+ if (message.postalAddress != null && message.hasOwnProperty("postalAddress"))
+ object.postalAddress = $root.google.type.PostalAddress.toObject(message.postalAddress, options);
+ if (message.structureType != null && message.hasOwnProperty("structureType"))
+ object.structureType = options.enums === String ? $root.google.maps.geocode.v4.PlaceView.StructureType[message.structureType] === undefined ? message.structureType : $root.google.maps.geocode.v4.PlaceView.StructureType[message.structureType] : message.structureType;
+ if (message.location != null && message.hasOwnProperty("location"))
+ object.location = $root.google.type.LatLng.toObject(message.location, options);
+ if (message.displayPolygon != null && message.hasOwnProperty("displayPolygon"))
+ object.displayPolygon = $root.google.protobuf.Struct.toObject(message.displayPolygon, options);
+ return object;
+ };
+
+ /**
+ * Converts this PlaceView to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PlaceView.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PlaceView
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.PlaceView
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PlaceView.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.PlaceView";
+ };
+
+ /**
+ * StructureType enum.
+ * @name google.maps.geocode.v4.PlaceView.StructureType
+ * @enum {number}
+ * @property {number} STRUCTURE_TYPE_UNSPECIFIED=0 STRUCTURE_TYPE_UNSPECIFIED value
+ * @property {number} POINT=1 POINT value
+ * @property {number} SECTION=2 SECTION value
+ * @property {number} BUILDING=3 BUILDING value
+ * @property {number} GROUNDS=4 GROUNDS value
+ */
+ PlaceView.StructureType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STRUCTURE_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "POINT"] = 1;
+ values[valuesById[2] = "SECTION"] = 2;
+ values[valuesById[3] = "BUILDING"] = 3;
+ values[valuesById[4] = "GROUNDS"] = 4;
+ return values;
+ })();
+
+ return PlaceView;
+ })();
+
+ v4.Entrance = (function() {
+
+ /**
+ * Properties of an Entrance.
+ * @memberof google.maps.geocode.v4
+ * @interface IEntrance
+ * @property {google.type.ILatLng|null} [location] Entrance location
+ * @property {Array.|null} [tags] Entrance tags
+ * @property {string|null} [place] Entrance place
+ */
+
+ /**
+ * Constructs a new Entrance.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents an Entrance.
+ * @implements IEntrance
+ * @constructor
+ * @param {google.maps.geocode.v4.IEntrance=} [properties] Properties to set
+ */
+ function Entrance(properties) {
+ this.tags = [];
+ 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]];
+ }
+
+ /**
+ * Entrance location.
+ * @member {google.type.ILatLng|null|undefined} location
+ * @memberof google.maps.geocode.v4.Entrance
+ * @instance
+ */
+ Entrance.prototype.location = null;
+
+ /**
+ * Entrance tags.
+ * @member {Array.} tags
+ * @memberof google.maps.geocode.v4.Entrance
+ * @instance
+ */
+ Entrance.prototype.tags = $util.emptyArray;
+
+ /**
+ * Entrance place.
+ * @member {string} place
+ * @memberof google.maps.geocode.v4.Entrance
+ * @instance
+ */
+ Entrance.prototype.place = "";
+
+ /**
+ * Creates a new Entrance instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {google.maps.geocode.v4.IEntrance=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.Entrance} Entrance instance
+ */
+ Entrance.create = function create(properties) {
+ return new Entrance(properties);
+ };
+
+ /**
+ * Encodes the specified Entrance message. Does not implicitly {@link google.maps.geocode.v4.Entrance.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {google.maps.geocode.v4.IEntrance} message Entrance message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Entrance.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.location != null && Object.hasOwnProperty.call(message, "location"))
+ $root.google.type.LatLng.encode(message.location, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.tags != null && message.tags.length) {
+ writer.uint32(/* id 3, wireType 2 =*/26).fork();
+ for (var i = 0; i < message.tags.length; ++i)
+ writer.int32(message.tags[i]);
+ writer.ldelim();
+ }
+ if (message.place != null && Object.hasOwnProperty.call(message, "place"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.place);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Entrance message, length delimited. Does not implicitly {@link google.maps.geocode.v4.Entrance.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {google.maps.geocode.v4.IEntrance} message Entrance message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Entrance.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Entrance message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.Entrance} Entrance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Entrance.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.Entrance();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 2: {
+ message.location = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.tags && message.tags.length))
+ message.tags = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.tags.push(reader.int32());
+ } else
+ message.tags.push(reader.int32());
+ break;
+ }
+ case 4: {
+ message.place = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Entrance message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.Entrance} Entrance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Entrance.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Entrance message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Entrance.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.location != null && message.hasOwnProperty("location")) {
+ var error = $root.google.type.LatLng.verify(message.location);
+ if (error)
+ return "location." + error;
+ }
+ if (message.tags != null && message.hasOwnProperty("tags")) {
+ if (!Array.isArray(message.tags))
+ return "tags: array expected";
+ for (var i = 0; i < message.tags.length; ++i)
+ switch (message.tags[i]) {
+ default:
+ return "tags: enum value[] expected";
+ case 0:
+ case 1:
+ break;
+ }
+ }
+ if (message.place != null && message.hasOwnProperty("place"))
+ if (!$util.isString(message.place))
+ return "place: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an Entrance message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.Entrance} Entrance
+ */
+ Entrance.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.Entrance)
+ return object;
+ var message = new $root.google.maps.geocode.v4.Entrance();
+ if (object.location != null) {
+ if (typeof object.location !== "object")
+ throw TypeError(".google.maps.geocode.v4.Entrance.location: object expected");
+ message.location = $root.google.type.LatLng.fromObject(object.location);
+ }
+ if (object.tags) {
+ if (!Array.isArray(object.tags))
+ throw TypeError(".google.maps.geocode.v4.Entrance.tags: array expected");
+ message.tags = [];
+ for (var i = 0; i < object.tags.length; ++i)
+ switch (object.tags[i]) {
+ default:
+ if (typeof object.tags[i] === "number") {
+ message.tags[i] = object.tags[i];
+ break;
+ }
+ case "TAG_UNSPECIFIED":
+ case 0:
+ message.tags[i] = 0;
+ break;
+ case "PREFERRED":
+ case 1:
+ message.tags[i] = 1;
+ break;
+ }
+ }
+ if (object.place != null)
+ message.place = String(object.place);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Entrance message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {google.maps.geocode.v4.Entrance} message Entrance
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Entrance.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.tags = [];
+ if (options.defaults) {
+ object.location = null;
+ object.place = "";
+ }
+ if (message.location != null && message.hasOwnProperty("location"))
+ object.location = $root.google.type.LatLng.toObject(message.location, options);
+ if (message.tags && message.tags.length) {
+ object.tags = [];
+ for (var j = 0; j < message.tags.length; ++j)
+ object.tags[j] = options.enums === String ? $root.google.maps.geocode.v4.Entrance.Tag[message.tags[j]] === undefined ? message.tags[j] : $root.google.maps.geocode.v4.Entrance.Tag[message.tags[j]] : message.tags[j];
+ }
+ if (message.place != null && message.hasOwnProperty("place"))
+ object.place = message.place;
+ return object;
+ };
+
+ /**
+ * Converts this Entrance to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.Entrance
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Entrance.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Entrance
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.Entrance
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Entrance.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.Entrance";
+ };
+
+ /**
+ * Tag enum.
+ * @name google.maps.geocode.v4.Entrance.Tag
+ * @enum {number}
+ * @property {number} TAG_UNSPECIFIED=0 TAG_UNSPECIFIED value
+ * @property {number} PREFERRED=1 PREFERRED value
+ */
+ Entrance.Tag = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TAG_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "PREFERRED"] = 1;
+ return values;
+ })();
+
+ return Entrance;
+ })();
+
+ v4.NavigationPoint = (function() {
+
+ /**
+ * Properties of a NavigationPoint.
+ * @memberof google.maps.geocode.v4
+ * @interface INavigationPoint
+ * @property {string|null} [navigationPointToken] NavigationPoint navigationPointToken
+ * @property {google.type.ILocalizedText|null} [displayName] NavigationPoint displayName
+ * @property {google.type.ILatLng|null} [location] NavigationPoint location
+ * @property {Array.|null} [travelModes] NavigationPoint travelModes
+ * @property {Array.|null} [usages] NavigationPoint usages
+ */
+
+ /**
+ * Constructs a new NavigationPoint.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a NavigationPoint.
+ * @implements INavigationPoint
+ * @constructor
+ * @param {google.maps.geocode.v4.INavigationPoint=} [properties] Properties to set
+ */
+ function NavigationPoint(properties) {
+ this.travelModes = [];
+ this.usages = [];
+ 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]];
+ }
+
+ /**
+ * NavigationPoint navigationPointToken.
+ * @member {string} navigationPointToken
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @instance
+ */
+ NavigationPoint.prototype.navigationPointToken = "";
+
+ /**
+ * NavigationPoint displayName.
+ * @member {google.type.ILocalizedText|null|undefined} displayName
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @instance
+ */
+ NavigationPoint.prototype.displayName = null;
+
+ /**
+ * NavigationPoint location.
+ * @member {google.type.ILatLng|null|undefined} location
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @instance
+ */
+ NavigationPoint.prototype.location = null;
+
+ /**
+ * NavigationPoint travelModes.
+ * @member {Array.} travelModes
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @instance
+ */
+ NavigationPoint.prototype.travelModes = $util.emptyArray;
+
+ /**
+ * NavigationPoint usages.
+ * @member {Array.} usages
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @instance
+ */
+ NavigationPoint.prototype.usages = $util.emptyArray;
+
+ /**
+ * Creates a new NavigationPoint instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {google.maps.geocode.v4.INavigationPoint=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.NavigationPoint} NavigationPoint instance
+ */
+ NavigationPoint.create = function create(properties) {
+ return new NavigationPoint(properties);
+ };
+
+ /**
+ * Encodes the specified NavigationPoint message. Does not implicitly {@link google.maps.geocode.v4.NavigationPoint.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {google.maps.geocode.v4.INavigationPoint} message NavigationPoint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NavigationPoint.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.navigationPointToken != null && Object.hasOwnProperty.call(message, "navigationPointToken"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.navigationPointToken);
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ $root.google.type.LocalizedText.encode(message.displayName, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.location != null && Object.hasOwnProperty.call(message, "location"))
+ $root.google.type.LatLng.encode(message.location, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.travelModes != null && message.travelModes.length) {
+ writer.uint32(/* id 4, wireType 2 =*/34).fork();
+ for (var i = 0; i < message.travelModes.length; ++i)
+ writer.int32(message.travelModes[i]);
+ writer.ldelim();
+ }
+ if (message.usages != null && message.usages.length) {
+ writer.uint32(/* id 5, wireType 2 =*/42).fork();
+ for (var i = 0; i < message.usages.length; ++i)
+ writer.int32(message.usages[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NavigationPoint message, length delimited. Does not implicitly {@link google.maps.geocode.v4.NavigationPoint.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {google.maps.geocode.v4.INavigationPoint} message NavigationPoint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NavigationPoint.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NavigationPoint message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.NavigationPoint} NavigationPoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NavigationPoint.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.NavigationPoint();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.navigationPointToken = reader.string();
+ break;
+ }
+ case 2: {
+ message.displayName = $root.google.type.LocalizedText.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.location = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (!(message.travelModes && message.travelModes.length))
+ message.travelModes = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.travelModes.push(reader.int32());
+ } else
+ message.travelModes.push(reader.int32());
+ break;
+ }
+ case 5: {
+ if (!(message.usages && message.usages.length))
+ message.usages = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.usages.push(reader.int32());
+ } else
+ message.usages.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NavigationPoint message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.NavigationPoint} NavigationPoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NavigationPoint.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NavigationPoint message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NavigationPoint.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.navigationPointToken != null && message.hasOwnProperty("navigationPointToken"))
+ if (!$util.isString(message.navigationPointToken))
+ return "navigationPointToken: string expected";
+ if (message.displayName != null && message.hasOwnProperty("displayName")) {
+ var error = $root.google.type.LocalizedText.verify(message.displayName);
+ if (error)
+ return "displayName." + error;
+ }
+ if (message.location != null && message.hasOwnProperty("location")) {
+ var error = $root.google.type.LatLng.verify(message.location);
+ if (error)
+ return "location." + error;
+ }
+ if (message.travelModes != null && message.hasOwnProperty("travelModes")) {
+ if (!Array.isArray(message.travelModes))
+ return "travelModes: array expected";
+ for (var i = 0; i < message.travelModes.length; ++i)
+ switch (message.travelModes[i]) {
+ default:
+ return "travelModes: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ }
+ if (message.usages != null && message.hasOwnProperty("usages")) {
+ if (!Array.isArray(message.usages))
+ return "usages: array expected";
+ for (var i = 0; i < message.usages.length; ++i)
+ switch (message.usages[i]) {
+ default:
+ return "usages: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a NavigationPoint message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.NavigationPoint} NavigationPoint
+ */
+ NavigationPoint.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.NavigationPoint)
+ return object;
+ var message = new $root.google.maps.geocode.v4.NavigationPoint();
+ if (object.navigationPointToken != null)
+ message.navigationPointToken = String(object.navigationPointToken);
+ if (object.displayName != null) {
+ if (typeof object.displayName !== "object")
+ throw TypeError(".google.maps.geocode.v4.NavigationPoint.displayName: object expected");
+ message.displayName = $root.google.type.LocalizedText.fromObject(object.displayName);
+ }
+ if (object.location != null) {
+ if (typeof object.location !== "object")
+ throw TypeError(".google.maps.geocode.v4.NavigationPoint.location: object expected");
+ message.location = $root.google.type.LatLng.fromObject(object.location);
+ }
+ if (object.travelModes) {
+ if (!Array.isArray(object.travelModes))
+ throw TypeError(".google.maps.geocode.v4.NavigationPoint.travelModes: array expected");
+ message.travelModes = [];
+ for (var i = 0; i < object.travelModes.length; ++i)
+ switch (object.travelModes[i]) {
+ default:
+ if (typeof object.travelModes[i] === "number") {
+ message.travelModes[i] = object.travelModes[i];
+ break;
+ }
+ case "TRAVEL_MODE_UNSPECIFIED":
+ case 0:
+ message.travelModes[i] = 0;
+ break;
+ case "DRIVE":
+ case 1:
+ message.travelModes[i] = 1;
+ break;
+ case "WALK":
+ case 2:
+ message.travelModes[i] = 2;
+ break;
+ }
+ }
+ if (object.usages) {
+ if (!Array.isArray(object.usages))
+ throw TypeError(".google.maps.geocode.v4.NavigationPoint.usages: array expected");
+ message.usages = [];
+ for (var i = 0; i < object.usages.length; ++i)
+ switch (object.usages[i]) {
+ default:
+ if (typeof object.usages[i] === "number") {
+ message.usages[i] = object.usages[i];
+ break;
+ }
+ case "USAGE_UNSPECIFIED":
+ case 0:
+ message.usages[i] = 0;
+ break;
+ case "UNKNOWN":
+ case 1:
+ message.usages[i] = 1;
+ break;
+ case "DROPOFF":
+ case 2:
+ message.usages[i] = 2;
+ break;
+ case "PICKUP":
+ case 3:
+ message.usages[i] = 3;
+ break;
+ case "PARKING":
+ case 4:
+ message.usages[i] = 4;
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NavigationPoint message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {google.maps.geocode.v4.NavigationPoint} message NavigationPoint
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NavigationPoint.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.travelModes = [];
+ object.usages = [];
+ }
+ if (options.defaults) {
+ object.navigationPointToken = "";
+ object.displayName = null;
+ object.location = null;
+ }
+ if (message.navigationPointToken != null && message.hasOwnProperty("navigationPointToken"))
+ object.navigationPointToken = message.navigationPointToken;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = $root.google.type.LocalizedText.toObject(message.displayName, options);
+ if (message.location != null && message.hasOwnProperty("location"))
+ object.location = $root.google.type.LatLng.toObject(message.location, options);
+ if (message.travelModes && message.travelModes.length) {
+ object.travelModes = [];
+ for (var j = 0; j < message.travelModes.length; ++j)
+ object.travelModes[j] = options.enums === String ? $root.google.maps.geocode.v4.NavigationPoint.TravelMode[message.travelModes[j]] === undefined ? message.travelModes[j] : $root.google.maps.geocode.v4.NavigationPoint.TravelMode[message.travelModes[j]] : message.travelModes[j];
+ }
+ if (message.usages && message.usages.length) {
+ object.usages = [];
+ for (var j = 0; j < message.usages.length; ++j)
+ object.usages[j] = options.enums === String ? $root.google.maps.geocode.v4.NavigationPoint.Usage[message.usages[j]] === undefined ? message.usages[j] : $root.google.maps.geocode.v4.NavigationPoint.Usage[message.usages[j]] : message.usages[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this NavigationPoint to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NavigationPoint.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NavigationPoint
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.NavigationPoint
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NavigationPoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.NavigationPoint";
+ };
+
+ /**
+ * TravelMode enum.
+ * @name google.maps.geocode.v4.NavigationPoint.TravelMode
+ * @enum {number}
+ * @property {number} TRAVEL_MODE_UNSPECIFIED=0 TRAVEL_MODE_UNSPECIFIED value
+ * @property {number} DRIVE=1 DRIVE value
+ * @property {number} WALK=2 WALK value
+ */
+ NavigationPoint.TravelMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TRAVEL_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DRIVE"] = 1;
+ values[valuesById[2] = "WALK"] = 2;
+ return values;
+ })();
+
+ /**
+ * Usage enum.
+ * @name google.maps.geocode.v4.NavigationPoint.Usage
+ * @enum {number}
+ * @property {number} USAGE_UNSPECIFIED=0 USAGE_UNSPECIFIED value
+ * @property {number} UNKNOWN=1 UNKNOWN value
+ * @property {number} DROPOFF=2 DROPOFF value
+ * @property {number} PICKUP=3 PICKUP value
+ * @property {number} PARKING=4 PARKING value
+ */
+ NavigationPoint.Usage = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "USAGE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "UNKNOWN"] = 1;
+ values[valuesById[2] = "DROPOFF"] = 2;
+ values[valuesById[3] = "PICKUP"] = 3;
+ values[valuesById[4] = "PARKING"] = 4;
+ return values;
+ })();
+
+ return NavigationPoint;
+ })();
+
+ v4.Landmark = (function() {
+
+ /**
+ * Properties of a Landmark.
+ * @memberof google.maps.geocode.v4
+ * @interface ILandmark
+ * @property {google.maps.geocode.v4.IPlaceView|null} [place] Landmark place
+ * @property {google.type.ILocalizedText|null} [relationalDescription] Landmark relationalDescription
+ * @property {Array.|null} [tags] Landmark tags
+ * @property {number|null} [straightLineDistanceMeters] Landmark straightLineDistanceMeters
+ * @property {number|null} [travelDistanceMeters] Landmark travelDistanceMeters
+ */
+
+ /**
+ * Constructs a new Landmark.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a Landmark.
+ * @implements ILandmark
+ * @constructor
+ * @param {google.maps.geocode.v4.ILandmark=} [properties] Properties to set
+ */
+ function Landmark(properties) {
+ this.tags = [];
+ 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]];
+ }
+
+ /**
+ * Landmark place.
+ * @member {google.maps.geocode.v4.IPlaceView|null|undefined} place
+ * @memberof google.maps.geocode.v4.Landmark
+ * @instance
+ */
+ Landmark.prototype.place = null;
+
+ /**
+ * Landmark relationalDescription.
+ * @member {google.type.ILocalizedText|null|undefined} relationalDescription
+ * @memberof google.maps.geocode.v4.Landmark
+ * @instance
+ */
+ Landmark.prototype.relationalDescription = null;
+
+ /**
+ * Landmark tags.
+ * @member {Array.} tags
+ * @memberof google.maps.geocode.v4.Landmark
+ * @instance
+ */
+ Landmark.prototype.tags = $util.emptyArray;
+
+ /**
+ * Landmark straightLineDistanceMeters.
+ * @member {number} straightLineDistanceMeters
+ * @memberof google.maps.geocode.v4.Landmark
+ * @instance
+ */
+ Landmark.prototype.straightLineDistanceMeters = 0;
+
+ /**
+ * Landmark travelDistanceMeters.
+ * @member {number} travelDistanceMeters
+ * @memberof google.maps.geocode.v4.Landmark
+ * @instance
+ */
+ Landmark.prototype.travelDistanceMeters = 0;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Landmark landmark.
+ * @member {"place"|undefined} landmark
+ * @memberof google.maps.geocode.v4.Landmark
+ * @instance
+ */
+ Object.defineProperty(Landmark.prototype, "landmark", {
+ get: $util.oneOfGetter($oneOfFields = ["place"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Landmark instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {google.maps.geocode.v4.ILandmark=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.Landmark} Landmark instance
+ */
+ Landmark.create = function create(properties) {
+ return new Landmark(properties);
+ };
+
+ /**
+ * Encodes the specified Landmark message. Does not implicitly {@link google.maps.geocode.v4.Landmark.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {google.maps.geocode.v4.ILandmark} message Landmark message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Landmark.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.place != null && Object.hasOwnProperty.call(message, "place"))
+ $root.google.maps.geocode.v4.PlaceView.encode(message.place, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.relationalDescription != null && Object.hasOwnProperty.call(message, "relationalDescription"))
+ $root.google.type.LocalizedText.encode(message.relationalDescription, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.tags != null && message.tags.length) {
+ writer.uint32(/* id 3, wireType 2 =*/26).fork();
+ for (var i = 0; i < message.tags.length; ++i)
+ writer.int32(message.tags[i]);
+ writer.ldelim();
+ }
+ if (message.straightLineDistanceMeters != null && Object.hasOwnProperty.call(message, "straightLineDistanceMeters"))
+ writer.uint32(/* id 4, wireType 1 =*/33).double(message.straightLineDistanceMeters);
+ if (message.travelDistanceMeters != null && Object.hasOwnProperty.call(message, "travelDistanceMeters"))
+ writer.uint32(/* id 5, wireType 1 =*/41).double(message.travelDistanceMeters);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.maps.geocode.v4.Landmark.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {google.maps.geocode.v4.ILandmark} message Landmark message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Landmark.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Landmark message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.Landmark} Landmark
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Landmark.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.Landmark();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.place = $root.google.maps.geocode.v4.PlaceView.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.relationalDescription = $root.google.type.LocalizedText.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.tags && message.tags.length))
+ message.tags = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.tags.push(reader.int32());
+ } else
+ message.tags.push(reader.int32());
+ break;
+ }
+ case 4: {
+ message.straightLineDistanceMeters = reader.double();
+ break;
+ }
+ case 5: {
+ message.travelDistanceMeters = reader.double();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Landmark message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.Landmark} Landmark
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Landmark.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Landmark message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Landmark.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.place != null && message.hasOwnProperty("place")) {
+ properties.landmark = 1;
+ {
+ var error = $root.google.maps.geocode.v4.PlaceView.verify(message.place);
+ if (error)
+ return "place." + error;
+ }
+ }
+ if (message.relationalDescription != null && message.hasOwnProperty("relationalDescription")) {
+ var error = $root.google.type.LocalizedText.verify(message.relationalDescription);
+ if (error)
+ return "relationalDescription." + error;
+ }
+ if (message.tags != null && message.hasOwnProperty("tags")) {
+ if (!Array.isArray(message.tags))
+ return "tags: array expected";
+ for (var i = 0; i < message.tags.length; ++i)
+ switch (message.tags[i]) {
+ default:
+ return "tags: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ }
+ if (message.straightLineDistanceMeters != null && message.hasOwnProperty("straightLineDistanceMeters"))
+ if (typeof message.straightLineDistanceMeters !== "number")
+ return "straightLineDistanceMeters: number expected";
+ if (message.travelDistanceMeters != null && message.hasOwnProperty("travelDistanceMeters"))
+ if (typeof message.travelDistanceMeters !== "number")
+ return "travelDistanceMeters: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a Landmark message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.Landmark} Landmark
+ */
+ Landmark.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.Landmark)
+ return object;
+ var message = new $root.google.maps.geocode.v4.Landmark();
+ if (object.place != null) {
+ if (typeof object.place !== "object")
+ throw TypeError(".google.maps.geocode.v4.Landmark.place: object expected");
+ message.place = $root.google.maps.geocode.v4.PlaceView.fromObject(object.place);
+ }
+ if (object.relationalDescription != null) {
+ if (typeof object.relationalDescription !== "object")
+ throw TypeError(".google.maps.geocode.v4.Landmark.relationalDescription: object expected");
+ message.relationalDescription = $root.google.type.LocalizedText.fromObject(object.relationalDescription);
+ }
+ if (object.tags) {
+ if (!Array.isArray(object.tags))
+ throw TypeError(".google.maps.geocode.v4.Landmark.tags: array expected");
+ message.tags = [];
+ for (var i = 0; i < object.tags.length; ++i)
+ switch (object.tags[i]) {
+ default:
+ if (typeof object.tags[i] === "number") {
+ message.tags[i] = object.tags[i];
+ break;
+ }
+ case "TAG_UNSPECIFIED":
+ case 0:
+ message.tags[i] = 0;
+ break;
+ case "ADDRESS":
+ case 1:
+ message.tags[i] = 1;
+ break;
+ case "ARRIVAL":
+ case 2:
+ message.tags[i] = 2;
+ break;
+ }
+ }
+ if (object.straightLineDistanceMeters != null)
+ message.straightLineDistanceMeters = Number(object.straightLineDistanceMeters);
+ if (object.travelDistanceMeters != null)
+ message.travelDistanceMeters = Number(object.travelDistanceMeters);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Landmark message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {google.maps.geocode.v4.Landmark} message Landmark
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Landmark.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.tags = [];
+ if (options.defaults) {
+ object.relationalDescription = null;
+ object.straightLineDistanceMeters = 0;
+ object.travelDistanceMeters = 0;
+ }
+ if (message.place != null && message.hasOwnProperty("place")) {
+ object.place = $root.google.maps.geocode.v4.PlaceView.toObject(message.place, options);
+ if (options.oneofs)
+ object.landmark = "place";
+ }
+ if (message.relationalDescription != null && message.hasOwnProperty("relationalDescription"))
+ object.relationalDescription = $root.google.type.LocalizedText.toObject(message.relationalDescription, options);
+ if (message.tags && message.tags.length) {
+ object.tags = [];
+ for (var j = 0; j < message.tags.length; ++j)
+ object.tags[j] = options.enums === String ? $root.google.maps.geocode.v4.Landmark.Tag[message.tags[j]] === undefined ? message.tags[j] : $root.google.maps.geocode.v4.Landmark.Tag[message.tags[j]] : message.tags[j];
+ }
+ if (message.straightLineDistanceMeters != null && message.hasOwnProperty("straightLineDistanceMeters"))
+ object.straightLineDistanceMeters = options.json && !isFinite(message.straightLineDistanceMeters) ? String(message.straightLineDistanceMeters) : message.straightLineDistanceMeters;
+ if (message.travelDistanceMeters != null && message.hasOwnProperty("travelDistanceMeters"))
+ object.travelDistanceMeters = options.json && !isFinite(message.travelDistanceMeters) ? String(message.travelDistanceMeters) : message.travelDistanceMeters;
+ return object;
+ };
+
+ /**
+ * Converts this Landmark to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.Landmark
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Landmark.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Landmark
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.Landmark
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Landmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.Landmark";
+ };
+
+ /**
+ * Tag enum.
+ * @name google.maps.geocode.v4.Landmark.Tag
+ * @enum {number}
+ * @property {number} TAG_UNSPECIFIED=0 TAG_UNSPECIFIED value
+ * @property {number} ADDRESS=1 ADDRESS value
+ * @property {number} ARRIVAL=2 ARRIVAL value
+ */
+ Landmark.Tag = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TAG_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ADDRESS"] = 1;
+ values[valuesById[2] = "ARRIVAL"] = 2;
+ return values;
+ })();
+
+ return Landmark;
+ })();
+
+ v4.GeocodeService = (function() {
+
+ /**
+ * Constructs a new GeocodeService service.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a GeocodeService
+ * @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 GeocodeService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (GeocodeService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = GeocodeService;
+
+ /**
+ * Creates new GeocodeService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @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 {GeocodeService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ GeocodeService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.maps.geocode.v4.GeocodeService|geocodeAddress}.
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @typedef GeocodeAddressCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.maps.geocode.v4.GeocodeAddressResponse} [response] GeocodeAddressResponse
+ */
+
+ /**
+ * Calls GeocodeAddress.
+ * @function geocodeAddress
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @instance
+ * @param {google.maps.geocode.v4.IGeocodeAddressRequest} request GeocodeAddressRequest message or plain object
+ * @param {google.maps.geocode.v4.GeocodeService.GeocodeAddressCallback} callback Node-style callback called with the error, if any, and GeocodeAddressResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GeocodeService.prototype.geocodeAddress = function geocodeAddress(request, callback) {
+ return this.rpcCall(geocodeAddress, $root.google.maps.geocode.v4.GeocodeAddressRequest, $root.google.maps.geocode.v4.GeocodeAddressResponse, request, callback);
+ }, "name", { value: "GeocodeAddress" });
+
+ /**
+ * Calls GeocodeAddress.
+ * @function geocodeAddress
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @instance
+ * @param {google.maps.geocode.v4.IGeocodeAddressRequest} request GeocodeAddressRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.maps.geocode.v4.GeocodeService|geocodeLocation}.
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @typedef GeocodeLocationCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.maps.geocode.v4.GeocodeLocationResponse} [response] GeocodeLocationResponse
+ */
+
+ /**
+ * Calls GeocodeLocation.
+ * @function geocodeLocation
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @instance
+ * @param {google.maps.geocode.v4.IGeocodeLocationRequest} request GeocodeLocationRequest message or plain object
+ * @param {google.maps.geocode.v4.GeocodeService.GeocodeLocationCallback} callback Node-style callback called with the error, if any, and GeocodeLocationResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GeocodeService.prototype.geocodeLocation = function geocodeLocation(request, callback) {
+ return this.rpcCall(geocodeLocation, $root.google.maps.geocode.v4.GeocodeLocationRequest, $root.google.maps.geocode.v4.GeocodeLocationResponse, request, callback);
+ }, "name", { value: "GeocodeLocation" });
+
+ /**
+ * Calls GeocodeLocation.
+ * @function geocodeLocation
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @instance
+ * @param {google.maps.geocode.v4.IGeocodeLocationRequest} request GeocodeLocationRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.maps.geocode.v4.GeocodeService|geocodePlace}.
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @typedef GeocodePlaceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.maps.geocode.v4.GeocodeResult} [response] GeocodeResult
+ */
+
+ /**
+ * Calls GeocodePlace.
+ * @function geocodePlace
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @instance
+ * @param {google.maps.geocode.v4.IGeocodePlaceRequest} request GeocodePlaceRequest message or plain object
+ * @param {google.maps.geocode.v4.GeocodeService.GeocodePlaceCallback} callback Node-style callback called with the error, if any, and GeocodeResult
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GeocodeService.prototype.geocodePlace = function geocodePlace(request, callback) {
+ return this.rpcCall(geocodePlace, $root.google.maps.geocode.v4.GeocodePlaceRequest, $root.google.maps.geocode.v4.GeocodeResult, request, callback);
+ }, "name", { value: "GeocodePlace" });
+
+ /**
+ * Calls GeocodePlace.
+ * @function geocodePlace
+ * @memberof google.maps.geocode.v4.GeocodeService
+ * @instance
+ * @param {google.maps.geocode.v4.IGeocodePlaceRequest} request GeocodePlaceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return GeocodeService;
+ })();
+
+ v4.GeocodeAddressRequest = (function() {
+
+ /**
+ * Properties of a GeocodeAddressRequest.
+ * @memberof google.maps.geocode.v4
+ * @interface IGeocodeAddressRequest
+ * @property {string|null} [addressQuery] GeocodeAddressRequest addressQuery
+ * @property {google.type.IPostalAddress|null} [address] GeocodeAddressRequest address
+ * @property {google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias|null} [locationBias] GeocodeAddressRequest locationBias
+ * @property {string|null} [languageCode] GeocodeAddressRequest languageCode
+ * @property {string|null} [regionCode] GeocodeAddressRequest regionCode
+ */
+
+ /**
+ * Constructs a new GeocodeAddressRequest.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a GeocodeAddressRequest.
+ * @implements IGeocodeAddressRequest
+ * @constructor
+ * @param {google.maps.geocode.v4.IGeocodeAddressRequest=} [properties] Properties to set
+ */
+ function GeocodeAddressRequest(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]];
+ }
+
+ /**
+ * GeocodeAddressRequest addressQuery.
+ * @member {string|null|undefined} addressQuery
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @instance
+ */
+ GeocodeAddressRequest.prototype.addressQuery = null;
+
+ /**
+ * GeocodeAddressRequest address.
+ * @member {google.type.IPostalAddress|null|undefined} address
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @instance
+ */
+ GeocodeAddressRequest.prototype.address = null;
+
+ /**
+ * GeocodeAddressRequest locationBias.
+ * @member {google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias|null|undefined} locationBias
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @instance
+ */
+ GeocodeAddressRequest.prototype.locationBias = null;
+
+ /**
+ * GeocodeAddressRequest languageCode.
+ * @member {string} languageCode
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @instance
+ */
+ GeocodeAddressRequest.prototype.languageCode = "";
+
+ /**
+ * GeocodeAddressRequest regionCode.
+ * @member {string} regionCode
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @instance
+ */
+ GeocodeAddressRequest.prototype.regionCode = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * GeocodeAddressRequest addressInput.
+ * @member {"addressQuery"|"address"|undefined} addressInput
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @instance
+ */
+ Object.defineProperty(GeocodeAddressRequest.prototype, "addressInput", {
+ get: $util.oneOfGetter($oneOfFields = ["addressQuery", "address"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new GeocodeAddressRequest instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeAddressRequest=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.GeocodeAddressRequest} GeocodeAddressRequest instance
+ */
+ GeocodeAddressRequest.create = function create(properties) {
+ return new GeocodeAddressRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GeocodeAddressRequest message. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeAddressRequest} message GeocodeAddressRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeAddressRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.addressQuery != null && Object.hasOwnProperty.call(message, "addressQuery"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.addressQuery);
+ if (message.address != null && Object.hasOwnProperty.call(message, "address"))
+ $root.google.type.PostalAddress.encode(message.address, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.locationBias != null && Object.hasOwnProperty.call(message, "locationBias"))
+ $root.google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.encode(message.locationBias, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.languageCode);
+ if (message.regionCode != null && Object.hasOwnProperty.call(message, "regionCode"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.regionCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GeocodeAddressRequest message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeAddressRequest} message GeocodeAddressRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeAddressRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GeocodeAddressRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.GeocodeAddressRequest} GeocodeAddressRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeAddressRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.GeocodeAddressRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.addressQuery = reader.string();
+ break;
+ }
+ case 2: {
+ message.address = $root.google.type.PostalAddress.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.locationBias = $root.google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 5: {
+ message.regionCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GeocodeAddressRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.GeocodeAddressRequest} GeocodeAddressRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeAddressRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GeocodeAddressRequest message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GeocodeAddressRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.addressQuery != null && message.hasOwnProperty("addressQuery")) {
+ properties.addressInput = 1;
+ if (!$util.isString(message.addressQuery))
+ return "addressQuery: string expected";
+ }
+ if (message.address != null && message.hasOwnProperty("address")) {
+ if (properties.addressInput === 1)
+ return "addressInput: multiple values";
+ properties.addressInput = 1;
+ {
+ var error = $root.google.type.PostalAddress.verify(message.address);
+ if (error)
+ return "address." + error;
+ }
+ }
+ if (message.locationBias != null && message.hasOwnProperty("locationBias")) {
+ var error = $root.google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.verify(message.locationBias);
+ if (error)
+ return "locationBias." + error;
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ if (!$util.isString(message.regionCode))
+ return "regionCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GeocodeAddressRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.GeocodeAddressRequest} GeocodeAddressRequest
+ */
+ GeocodeAddressRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.GeocodeAddressRequest)
+ return object;
+ var message = new $root.google.maps.geocode.v4.GeocodeAddressRequest();
+ if (object.addressQuery != null)
+ message.addressQuery = String(object.addressQuery);
+ if (object.address != null) {
+ if (typeof object.address !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeAddressRequest.address: object expected");
+ message.address = $root.google.type.PostalAddress.fromObject(object.address);
+ }
+ if (object.locationBias != null) {
+ if (typeof object.locationBias !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeAddressRequest.locationBias: object expected");
+ message.locationBias = $root.google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.fromObject(object.locationBias);
+ }
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ if (object.regionCode != null)
+ message.regionCode = String(object.regionCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GeocodeAddressRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeAddressRequest} message GeocodeAddressRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GeocodeAddressRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.locationBias = null;
+ object.languageCode = "";
+ object.regionCode = "";
+ }
+ if (message.addressQuery != null && message.hasOwnProperty("addressQuery")) {
+ object.addressQuery = message.addressQuery;
+ if (options.oneofs)
+ object.addressInput = "addressQuery";
+ }
+ if (message.address != null && message.hasOwnProperty("address")) {
+ object.address = $root.google.type.PostalAddress.toObject(message.address, options);
+ if (options.oneofs)
+ object.addressInput = "address";
+ }
+ if (message.locationBias != null && message.hasOwnProperty("locationBias"))
+ object.locationBias = $root.google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.toObject(message.locationBias, options);
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ object.regionCode = message.regionCode;
+ return object;
+ };
+
+ /**
+ * Converts this GeocodeAddressRequest to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GeocodeAddressRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GeocodeAddressRequest
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GeocodeAddressRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.GeocodeAddressRequest";
+ };
+
+ GeocodeAddressRequest.LocationBias = (function() {
+
+ /**
+ * Properties of a LocationBias.
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @interface ILocationBias
+ * @property {google.geo.type.IViewport|null} [rectangle] LocationBias rectangle
+ */
+
+ /**
+ * Constructs a new LocationBias.
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest
+ * @classdesc Represents a LocationBias.
+ * @implements ILocationBias
+ * @constructor
+ * @param {google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias=} [properties] Properties to set
+ */
+ function LocationBias(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]];
+ }
+
+ /**
+ * LocationBias rectangle.
+ * @member {google.geo.type.IViewport|null|undefined} rectangle
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @instance
+ */
+ LocationBias.prototype.rectangle = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * LocationBias type.
+ * @member {"rectangle"|undefined} type
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @instance
+ */
+ Object.defineProperty(LocationBias.prototype, "type", {
+ get: $util.oneOfGetter($oneOfFields = ["rectangle"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new LocationBias instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.GeocodeAddressRequest.LocationBias} LocationBias instance
+ */
+ LocationBias.create = function create(properties) {
+ return new LocationBias(properties);
+ };
+
+ /**
+ * Encodes the specified LocationBias message. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias} message LocationBias message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationBias.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.rectangle != null && Object.hasOwnProperty.call(message, "rectangle"))
+ $root.google.geo.type.Viewport.encode(message.rectangle, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LocationBias message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeAddressRequest.ILocationBias} message LocationBias message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationBias.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LocationBias message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.GeocodeAddressRequest.LocationBias} LocationBias
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationBias.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.GeocodeAddressRequest.LocationBias();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.rectangle = $root.google.geo.type.Viewport.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LocationBias message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.GeocodeAddressRequest.LocationBias} LocationBias
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationBias.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LocationBias message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LocationBias.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.rectangle != null && message.hasOwnProperty("rectangle")) {
+ properties.type = 1;
+ {
+ var error = $root.google.geo.type.Viewport.verify(message.rectangle);
+ if (error)
+ return "rectangle." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a LocationBias message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.GeocodeAddressRequest.LocationBias} LocationBias
+ */
+ LocationBias.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.GeocodeAddressRequest.LocationBias)
+ return object;
+ var message = new $root.google.maps.geocode.v4.GeocodeAddressRequest.LocationBias();
+ if (object.rectangle != null) {
+ if (typeof object.rectangle !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeAddressRequest.LocationBias.rectangle: object expected");
+ message.rectangle = $root.google.geo.type.Viewport.fromObject(object.rectangle);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LocationBias message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeAddressRequest.LocationBias} message LocationBias
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LocationBias.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.rectangle != null && message.hasOwnProperty("rectangle")) {
+ object.rectangle = $root.google.geo.type.Viewport.toObject(message.rectangle, options);
+ if (options.oneofs)
+ object.type = "rectangle";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this LocationBias to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LocationBias.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LocationBias
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.GeocodeAddressRequest.LocationBias
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LocationBias.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.GeocodeAddressRequest.LocationBias";
+ };
+
+ return LocationBias;
+ })();
+
+ return GeocodeAddressRequest;
+ })();
+
+ v4.GeocodeLocationRequest = (function() {
+
+ /**
+ * Properties of a GeocodeLocationRequest.
+ * @memberof google.maps.geocode.v4
+ * @interface IGeocodeLocationRequest
+ * @property {string|null} [locationQuery] GeocodeLocationRequest locationQuery
+ * @property {google.type.ILatLng|null} [location] GeocodeLocationRequest location
+ * @property {string|null} [languageCode] GeocodeLocationRequest languageCode
+ * @property {string|null} [regionCode] GeocodeLocationRequest regionCode
+ * @property {Array.|null} [types] GeocodeLocationRequest types
+ * @property {Array.|null} [granularity] GeocodeLocationRequest granularity
+ */
+
+ /**
+ * Constructs a new GeocodeLocationRequest.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a GeocodeLocationRequest.
+ * @implements IGeocodeLocationRequest
+ * @constructor
+ * @param {google.maps.geocode.v4.IGeocodeLocationRequest=} [properties] Properties to set
+ */
+ function GeocodeLocationRequest(properties) {
+ this.types = [];
+ this.granularity = [];
+ 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]];
+ }
+
+ /**
+ * GeocodeLocationRequest locationQuery.
+ * @member {string|null|undefined} locationQuery
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @instance
+ */
+ GeocodeLocationRequest.prototype.locationQuery = null;
+
+ /**
+ * GeocodeLocationRequest location.
+ * @member {google.type.ILatLng|null|undefined} location
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @instance
+ */
+ GeocodeLocationRequest.prototype.location = null;
+
+ /**
+ * GeocodeLocationRequest languageCode.
+ * @member {string} languageCode
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @instance
+ */
+ GeocodeLocationRequest.prototype.languageCode = "";
+
+ /**
+ * GeocodeLocationRequest regionCode.
+ * @member {string} regionCode
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @instance
+ */
+ GeocodeLocationRequest.prototype.regionCode = "";
+
+ /**
+ * GeocodeLocationRequest types.
+ * @member {Array.} types
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @instance
+ */
+ GeocodeLocationRequest.prototype.types = $util.emptyArray;
+
+ /**
+ * GeocodeLocationRequest granularity.
+ * @member {Array.} granularity
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @instance
+ */
+ GeocodeLocationRequest.prototype.granularity = $util.emptyArray;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * GeocodeLocationRequest locationInput.
+ * @member {"locationQuery"|"location"|undefined} locationInput
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @instance
+ */
+ Object.defineProperty(GeocodeLocationRequest.prototype, "locationInput", {
+ get: $util.oneOfGetter($oneOfFields = ["locationQuery", "location"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new GeocodeLocationRequest instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeLocationRequest=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.GeocodeLocationRequest} GeocodeLocationRequest instance
+ */
+ GeocodeLocationRequest.create = function create(properties) {
+ return new GeocodeLocationRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GeocodeLocationRequest message. Does not implicitly {@link google.maps.geocode.v4.GeocodeLocationRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeLocationRequest} message GeocodeLocationRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeLocationRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.locationQuery != null && Object.hasOwnProperty.call(message, "locationQuery"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.locationQuery);
+ if (message.location != null && Object.hasOwnProperty.call(message, "location"))
+ $root.google.type.LatLng.encode(message.location, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode);
+ if (message.regionCode != null && Object.hasOwnProperty.call(message, "regionCode"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.regionCode);
+ if (message.types != null && message.types.length)
+ for (var i = 0; i < message.types.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.types[i]);
+ if (message.granularity != null && message.granularity.length) {
+ writer.uint32(/* id 6, wireType 2 =*/50).fork();
+ for (var i = 0; i < message.granularity.length; ++i)
+ writer.int32(message.granularity[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GeocodeLocationRequest message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeLocationRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeLocationRequest} message GeocodeLocationRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeLocationRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GeocodeLocationRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.GeocodeLocationRequest} GeocodeLocationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeLocationRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.GeocodeLocationRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.locationQuery = reader.string();
+ break;
+ }
+ case 2: {
+ message.location = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 4: {
+ message.regionCode = reader.string();
+ break;
+ }
+ case 5: {
+ if (!(message.types && message.types.length))
+ message.types = [];
+ message.types.push(reader.string());
+ break;
+ }
+ case 6: {
+ if (!(message.granularity && message.granularity.length))
+ message.granularity = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.granularity.push(reader.int32());
+ } else
+ message.granularity.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GeocodeLocationRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.GeocodeLocationRequest} GeocodeLocationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeLocationRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GeocodeLocationRequest message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GeocodeLocationRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.locationQuery != null && message.hasOwnProperty("locationQuery")) {
+ properties.locationInput = 1;
+ if (!$util.isString(message.locationQuery))
+ return "locationQuery: string expected";
+ }
+ if (message.location != null && message.hasOwnProperty("location")) {
+ if (properties.locationInput === 1)
+ return "locationInput: multiple values";
+ properties.locationInput = 1;
+ {
+ var error = $root.google.type.LatLng.verify(message.location);
+ if (error)
+ return "location." + error;
+ }
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ if (!$util.isString(message.regionCode))
+ return "regionCode: string expected";
+ if (message.types != null && message.hasOwnProperty("types")) {
+ if (!Array.isArray(message.types))
+ return "types: array expected";
+ for (var i = 0; i < message.types.length; ++i)
+ if (!$util.isString(message.types[i]))
+ return "types: string[] expected";
+ }
+ if (message.granularity != null && message.hasOwnProperty("granularity")) {
+ if (!Array.isArray(message.granularity))
+ return "granularity: array expected";
+ for (var i = 0; i < message.granularity.length; ++i)
+ switch (message.granularity[i]) {
+ default:
+ return "granularity: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GeocodeLocationRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.GeocodeLocationRequest} GeocodeLocationRequest
+ */
+ GeocodeLocationRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.GeocodeLocationRequest)
+ return object;
+ var message = new $root.google.maps.geocode.v4.GeocodeLocationRequest();
+ if (object.locationQuery != null)
+ message.locationQuery = String(object.locationQuery);
+ if (object.location != null) {
+ if (typeof object.location !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeLocationRequest.location: object expected");
+ message.location = $root.google.type.LatLng.fromObject(object.location);
+ }
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ if (object.regionCode != null)
+ message.regionCode = String(object.regionCode);
+ if (object.types) {
+ if (!Array.isArray(object.types))
+ throw TypeError(".google.maps.geocode.v4.GeocodeLocationRequest.types: array expected");
+ message.types = [];
+ for (var i = 0; i < object.types.length; ++i)
+ message.types[i] = String(object.types[i]);
+ }
+ if (object.granularity) {
+ if (!Array.isArray(object.granularity))
+ throw TypeError(".google.maps.geocode.v4.GeocodeLocationRequest.granularity: array expected");
+ message.granularity = [];
+ for (var i = 0; i < object.granularity.length; ++i)
+ switch (object.granularity[i]) {
+ default:
+ if (typeof object.granularity[i] === "number") {
+ message.granularity[i] = object.granularity[i];
+ break;
+ }
+ case "GRANULARITY_UNSPECIFIED":
+ case 0:
+ message.granularity[i] = 0;
+ break;
+ case "ROOFTOP":
+ case 1:
+ message.granularity[i] = 1;
+ break;
+ case "RANGE_INTERPOLATED":
+ case 2:
+ message.granularity[i] = 2;
+ break;
+ case "GEOMETRIC_CENTER":
+ case 3:
+ message.granularity[i] = 3;
+ break;
+ case "APPROXIMATE":
+ case 4:
+ message.granularity[i] = 4;
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GeocodeLocationRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeLocationRequest} message GeocodeLocationRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GeocodeLocationRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.types = [];
+ object.granularity = [];
+ }
+ if (options.defaults) {
+ object.languageCode = "";
+ object.regionCode = "";
+ }
+ if (message.locationQuery != null && message.hasOwnProperty("locationQuery")) {
+ object.locationQuery = message.locationQuery;
+ if (options.oneofs)
+ object.locationInput = "locationQuery";
+ }
+ if (message.location != null && message.hasOwnProperty("location")) {
+ object.location = $root.google.type.LatLng.toObject(message.location, options);
+ if (options.oneofs)
+ object.locationInput = "location";
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ object.regionCode = message.regionCode;
+ if (message.types && message.types.length) {
+ object.types = [];
+ for (var j = 0; j < message.types.length; ++j)
+ object.types[j] = message.types[j];
+ }
+ if (message.granularity && message.granularity.length) {
+ object.granularity = [];
+ for (var j = 0; j < message.granularity.length; ++j)
+ object.granularity[j] = options.enums === String ? $root.google.maps.geocode.v4.GeocodeResult.Granularity[message.granularity[j]] === undefined ? message.granularity[j] : $root.google.maps.geocode.v4.GeocodeResult.Granularity[message.granularity[j]] : message.granularity[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GeocodeLocationRequest to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GeocodeLocationRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GeocodeLocationRequest
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.GeocodeLocationRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GeocodeLocationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.GeocodeLocationRequest";
+ };
+
+ return GeocodeLocationRequest;
+ })();
+
+ v4.GeocodePlaceRequest = (function() {
+
+ /**
+ * Properties of a GeocodePlaceRequest.
+ * @memberof google.maps.geocode.v4
+ * @interface IGeocodePlaceRequest
+ * @property {string|null} [place] GeocodePlaceRequest place
+ * @property {string|null} [languageCode] GeocodePlaceRequest languageCode
+ * @property {string|null} [regionCode] GeocodePlaceRequest regionCode
+ */
+
+ /**
+ * Constructs a new GeocodePlaceRequest.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a GeocodePlaceRequest.
+ * @implements IGeocodePlaceRequest
+ * @constructor
+ * @param {google.maps.geocode.v4.IGeocodePlaceRequest=} [properties] Properties to set
+ */
+ function GeocodePlaceRequest(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]];
+ }
+
+ /**
+ * GeocodePlaceRequest place.
+ * @member {string} place
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @instance
+ */
+ GeocodePlaceRequest.prototype.place = "";
+
+ /**
+ * GeocodePlaceRequest languageCode.
+ * @member {string} languageCode
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @instance
+ */
+ GeocodePlaceRequest.prototype.languageCode = "";
+
+ /**
+ * GeocodePlaceRequest regionCode.
+ * @member {string} regionCode
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @instance
+ */
+ GeocodePlaceRequest.prototype.regionCode = "";
+
+ /**
+ * Creates a new GeocodePlaceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodePlaceRequest=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.GeocodePlaceRequest} GeocodePlaceRequest instance
+ */
+ GeocodePlaceRequest.create = function create(properties) {
+ return new GeocodePlaceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GeocodePlaceRequest message. Does not implicitly {@link google.maps.geocode.v4.GeocodePlaceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodePlaceRequest} message GeocodePlaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodePlaceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.place != null && Object.hasOwnProperty.call(message, "place"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.place);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode);
+ if (message.regionCode != null && Object.hasOwnProperty.call(message, "regionCode"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.regionCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GeocodePlaceRequest message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodePlaceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodePlaceRequest} message GeocodePlaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodePlaceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GeocodePlaceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.GeocodePlaceRequest} GeocodePlaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodePlaceRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.GeocodePlaceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.place = reader.string();
+ break;
+ }
+ case 2: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 3: {
+ message.regionCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GeocodePlaceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.GeocodePlaceRequest} GeocodePlaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodePlaceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GeocodePlaceRequest message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GeocodePlaceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.place != null && message.hasOwnProperty("place"))
+ if (!$util.isString(message.place))
+ return "place: string expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ if (!$util.isString(message.regionCode))
+ return "regionCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GeocodePlaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.GeocodePlaceRequest} GeocodePlaceRequest
+ */
+ GeocodePlaceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.GeocodePlaceRequest)
+ return object;
+ var message = new $root.google.maps.geocode.v4.GeocodePlaceRequest();
+ if (object.place != null)
+ message.place = String(object.place);
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ if (object.regionCode != null)
+ message.regionCode = String(object.regionCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GeocodePlaceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {google.maps.geocode.v4.GeocodePlaceRequest} message GeocodePlaceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GeocodePlaceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.place = "";
+ object.languageCode = "";
+ object.regionCode = "";
+ }
+ if (message.place != null && message.hasOwnProperty("place"))
+ object.place = message.place;
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ object.regionCode = message.regionCode;
+ return object;
+ };
+
+ /**
+ * Converts this GeocodePlaceRequest to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GeocodePlaceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GeocodePlaceRequest
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.GeocodePlaceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GeocodePlaceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.GeocodePlaceRequest";
+ };
+
+ return GeocodePlaceRequest;
+ })();
+
+ v4.PlusCode = (function() {
+
+ /**
+ * Properties of a PlusCode.
+ * @memberof google.maps.geocode.v4
+ * @interface IPlusCode
+ * @property {string|null} [globalCode] PlusCode globalCode
+ * @property {string|null} [compoundCode] PlusCode compoundCode
+ */
+
+ /**
+ * Constructs a new PlusCode.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a PlusCode.
+ * @implements IPlusCode
+ * @constructor
+ * @param {google.maps.geocode.v4.IPlusCode=} [properties] Properties to set
+ */
+ function PlusCode(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]];
+ }
+
+ /**
+ * PlusCode globalCode.
+ * @member {string} globalCode
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @instance
+ */
+ PlusCode.prototype.globalCode = "";
+
+ /**
+ * PlusCode compoundCode.
+ * @member {string} compoundCode
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @instance
+ */
+ PlusCode.prototype.compoundCode = "";
+
+ /**
+ * Creates a new PlusCode instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {google.maps.geocode.v4.IPlusCode=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.PlusCode} PlusCode instance
+ */
+ PlusCode.create = function create(properties) {
+ return new PlusCode(properties);
+ };
+
+ /**
+ * Encodes the specified PlusCode message. Does not implicitly {@link google.maps.geocode.v4.PlusCode.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {google.maps.geocode.v4.IPlusCode} message PlusCode message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PlusCode.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.globalCode != null && Object.hasOwnProperty.call(message, "globalCode"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.globalCode);
+ if (message.compoundCode != null && Object.hasOwnProperty.call(message, "compoundCode"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.compoundCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PlusCode message, length delimited. Does not implicitly {@link google.maps.geocode.v4.PlusCode.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {google.maps.geocode.v4.IPlusCode} message PlusCode message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PlusCode.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PlusCode message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.PlusCode} PlusCode
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PlusCode.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.PlusCode();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.globalCode = reader.string();
+ break;
+ }
+ case 2: {
+ message.compoundCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PlusCode message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.PlusCode} PlusCode
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PlusCode.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PlusCode message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PlusCode.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.globalCode != null && message.hasOwnProperty("globalCode"))
+ if (!$util.isString(message.globalCode))
+ return "globalCode: string expected";
+ if (message.compoundCode != null && message.hasOwnProperty("compoundCode"))
+ if (!$util.isString(message.compoundCode))
+ return "compoundCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PlusCode message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.PlusCode} PlusCode
+ */
+ PlusCode.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.PlusCode)
+ return object;
+ var message = new $root.google.maps.geocode.v4.PlusCode();
+ if (object.globalCode != null)
+ message.globalCode = String(object.globalCode);
+ if (object.compoundCode != null)
+ message.compoundCode = String(object.compoundCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PlusCode message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {google.maps.geocode.v4.PlusCode} message PlusCode
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PlusCode.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.globalCode = "";
+ object.compoundCode = "";
+ }
+ if (message.globalCode != null && message.hasOwnProperty("globalCode"))
+ object.globalCode = message.globalCode;
+ if (message.compoundCode != null && message.hasOwnProperty("compoundCode"))
+ object.compoundCode = message.compoundCode;
+ return object;
+ };
+
+ /**
+ * Converts this PlusCode to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PlusCode.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PlusCode
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.PlusCode
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PlusCode.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.PlusCode";
+ };
+
+ return PlusCode;
+ })();
+
+ v4.GeocodeResult = (function() {
+
+ /**
+ * Properties of a GeocodeResult.
+ * @memberof google.maps.geocode.v4
+ * @interface IGeocodeResult
+ * @property {string|null} [place] GeocodeResult place
+ * @property {string|null} [placeId] GeocodeResult placeId
+ * @property {google.type.ILatLng|null} [location] GeocodeResult location
+ * @property {google.maps.geocode.v4.GeocodeResult.Granularity|null} [granularity] GeocodeResult granularity
+ * @property {google.geo.type.IViewport|null} [viewport] GeocodeResult viewport
+ * @property {google.geo.type.IViewport|null} [bounds] GeocodeResult bounds
+ * @property {string|null} [formattedAddress] GeocodeResult formattedAddress
+ * @property {google.type.IPostalAddress|null} [postalAddress] GeocodeResult postalAddress
+ * @property {Array.|null} [addressComponents] GeocodeResult addressComponents
+ * @property {Array.|null} [postalCodeLocalities] GeocodeResult postalCodeLocalities
+ * @property {Array.|null} [types] GeocodeResult types
+ * @property {google.maps.geocode.v4.IPlusCode|null} [plusCode] GeocodeResult plusCode
+ */
+
+ /**
+ * Constructs a new GeocodeResult.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a GeocodeResult.
+ * @implements IGeocodeResult
+ * @constructor
+ * @param {google.maps.geocode.v4.IGeocodeResult=} [properties] Properties to set
+ */
+ function GeocodeResult(properties) {
+ this.addressComponents = [];
+ this.postalCodeLocalities = [];
+ this.types = [];
+ 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]];
+ }
+
+ /**
+ * GeocodeResult place.
+ * @member {string} place
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.place = "";
+
+ /**
+ * GeocodeResult placeId.
+ * @member {string} placeId
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.placeId = "";
+
+ /**
+ * GeocodeResult location.
+ * @member {google.type.ILatLng|null|undefined} location
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.location = null;
+
+ /**
+ * GeocodeResult granularity.
+ * @member {google.maps.geocode.v4.GeocodeResult.Granularity} granularity
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.granularity = 0;
+
+ /**
+ * GeocodeResult viewport.
+ * @member {google.geo.type.IViewport|null|undefined} viewport
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.viewport = null;
+
+ /**
+ * GeocodeResult bounds.
+ * @member {google.geo.type.IViewport|null|undefined} bounds
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.bounds = null;
+
+ /**
+ * GeocodeResult formattedAddress.
+ * @member {string} formattedAddress
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.formattedAddress = "";
+
+ /**
+ * GeocodeResult postalAddress.
+ * @member {google.type.IPostalAddress|null|undefined} postalAddress
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.postalAddress = null;
+
+ /**
+ * GeocodeResult addressComponents.
+ * @member {Array.} addressComponents
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.addressComponents = $util.emptyArray;
+
+ /**
+ * GeocodeResult postalCodeLocalities.
+ * @member {Array.} postalCodeLocalities
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.postalCodeLocalities = $util.emptyArray;
+
+ /**
+ * GeocodeResult types.
+ * @member {Array.} types
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.types = $util.emptyArray;
+
+ /**
+ * GeocodeResult plusCode.
+ * @member {google.maps.geocode.v4.IPlusCode|null|undefined} plusCode
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ */
+ GeocodeResult.prototype.plusCode = null;
+
+ /**
+ * Creates a new GeocodeResult instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeResult=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.GeocodeResult} GeocodeResult instance
+ */
+ GeocodeResult.create = function create(properties) {
+ return new GeocodeResult(properties);
+ };
+
+ /**
+ * Encodes the specified GeocodeResult message. Does not implicitly {@link google.maps.geocode.v4.GeocodeResult.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeResult} message GeocodeResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.place != null && Object.hasOwnProperty.call(message, "place"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.place);
+ if (message.placeId != null && Object.hasOwnProperty.call(message, "placeId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.placeId);
+ if (message.location != null && Object.hasOwnProperty.call(message, "location"))
+ $root.google.type.LatLng.encode(message.location, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.granularity != null && Object.hasOwnProperty.call(message, "granularity"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.granularity);
+ if (message.viewport != null && Object.hasOwnProperty.call(message, "viewport"))
+ $root.google.geo.type.Viewport.encode(message.viewport, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.bounds != null && Object.hasOwnProperty.call(message, "bounds"))
+ $root.google.geo.type.Viewport.encode(message.bounds, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.formattedAddress != null && Object.hasOwnProperty.call(message, "formattedAddress"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.formattedAddress);
+ if (message.postalAddress != null && Object.hasOwnProperty.call(message, "postalAddress"))
+ $root.google.type.PostalAddress.encode(message.postalAddress, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.addressComponents != null && message.addressComponents.length)
+ for (var i = 0; i < message.addressComponents.length; ++i)
+ $root.google.maps.geocode.v4.GeocodeResult.AddressComponent.encode(message.addressComponents[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.postalCodeLocalities != null && message.postalCodeLocalities.length)
+ for (var i = 0; i < message.postalCodeLocalities.length; ++i)
+ $root.google.type.LocalizedText.encode(message.postalCodeLocalities[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.types != null && message.types.length)
+ for (var i = 0; i < message.types.length; ++i)
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.types[i]);
+ if (message.plusCode != null && Object.hasOwnProperty.call(message, "plusCode"))
+ $root.google.maps.geocode.v4.PlusCode.encode(message.plusCode, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GeocodeResult message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeResult} message GeocodeResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GeocodeResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.GeocodeResult} GeocodeResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeResult.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.GeocodeResult();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.place = reader.string();
+ break;
+ }
+ case 2: {
+ message.placeId = reader.string();
+ break;
+ }
+ case 3: {
+ message.location = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.granularity = reader.int32();
+ break;
+ }
+ case 5: {
+ message.viewport = $root.google.geo.type.Viewport.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.bounds = $root.google.geo.type.Viewport.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.formattedAddress = reader.string();
+ break;
+ }
+ case 8: {
+ message.postalAddress = $root.google.type.PostalAddress.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ if (!(message.addressComponents && message.addressComponents.length))
+ message.addressComponents = [];
+ message.addressComponents.push($root.google.maps.geocode.v4.GeocodeResult.AddressComponent.decode(reader, reader.uint32()));
+ break;
+ }
+ case 11: {
+ if (!(message.postalCodeLocalities && message.postalCodeLocalities.length))
+ message.postalCodeLocalities = [];
+ message.postalCodeLocalities.push($root.google.type.LocalizedText.decode(reader, reader.uint32()));
+ break;
+ }
+ case 12: {
+ if (!(message.types && message.types.length))
+ message.types = [];
+ message.types.push(reader.string());
+ break;
+ }
+ case 13: {
+ message.plusCode = $root.google.maps.geocode.v4.PlusCode.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GeocodeResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.GeocodeResult} GeocodeResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GeocodeResult message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GeocodeResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.place != null && message.hasOwnProperty("place"))
+ if (!$util.isString(message.place))
+ return "place: string expected";
+ if (message.placeId != null && message.hasOwnProperty("placeId"))
+ if (!$util.isString(message.placeId))
+ return "placeId: string expected";
+ if (message.location != null && message.hasOwnProperty("location")) {
+ var error = $root.google.type.LatLng.verify(message.location);
+ if (error)
+ return "location." + error;
+ }
+ if (message.granularity != null && message.hasOwnProperty("granularity"))
+ switch (message.granularity) {
+ default:
+ return "granularity: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ if (message.viewport != null && message.hasOwnProperty("viewport")) {
+ var error = $root.google.geo.type.Viewport.verify(message.viewport);
+ if (error)
+ return "viewport." + error;
+ }
+ if (message.bounds != null && message.hasOwnProperty("bounds")) {
+ var error = $root.google.geo.type.Viewport.verify(message.bounds);
+ if (error)
+ return "bounds." + error;
+ }
+ if (message.formattedAddress != null && message.hasOwnProperty("formattedAddress"))
+ if (!$util.isString(message.formattedAddress))
+ return "formattedAddress: string expected";
+ if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) {
+ var error = $root.google.type.PostalAddress.verify(message.postalAddress);
+ if (error)
+ return "postalAddress." + error;
+ }
+ if (message.addressComponents != null && message.hasOwnProperty("addressComponents")) {
+ if (!Array.isArray(message.addressComponents))
+ return "addressComponents: array expected";
+ for (var i = 0; i < message.addressComponents.length; ++i) {
+ var error = $root.google.maps.geocode.v4.GeocodeResult.AddressComponent.verify(message.addressComponents[i]);
+ if (error)
+ return "addressComponents." + error;
+ }
+ }
+ if (message.postalCodeLocalities != null && message.hasOwnProperty("postalCodeLocalities")) {
+ if (!Array.isArray(message.postalCodeLocalities))
+ return "postalCodeLocalities: array expected";
+ for (var i = 0; i < message.postalCodeLocalities.length; ++i) {
+ var error = $root.google.type.LocalizedText.verify(message.postalCodeLocalities[i]);
+ if (error)
+ return "postalCodeLocalities." + error;
+ }
+ }
+ if (message.types != null && message.hasOwnProperty("types")) {
+ if (!Array.isArray(message.types))
+ return "types: array expected";
+ for (var i = 0; i < message.types.length; ++i)
+ if (!$util.isString(message.types[i]))
+ return "types: string[] expected";
+ }
+ if (message.plusCode != null && message.hasOwnProperty("plusCode")) {
+ var error = $root.google.maps.geocode.v4.PlusCode.verify(message.plusCode);
+ if (error)
+ return "plusCode." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GeocodeResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.GeocodeResult} GeocodeResult
+ */
+ GeocodeResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.GeocodeResult)
+ return object;
+ var message = new $root.google.maps.geocode.v4.GeocodeResult();
+ if (object.place != null)
+ message.place = String(object.place);
+ if (object.placeId != null)
+ message.placeId = String(object.placeId);
+ if (object.location != null) {
+ if (typeof object.location !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.location: object expected");
+ message.location = $root.google.type.LatLng.fromObject(object.location);
+ }
+ switch (object.granularity) {
+ default:
+ if (typeof object.granularity === "number") {
+ message.granularity = object.granularity;
+ break;
+ }
+ break;
+ case "GRANULARITY_UNSPECIFIED":
+ case 0:
+ message.granularity = 0;
+ break;
+ case "ROOFTOP":
+ case 1:
+ message.granularity = 1;
+ break;
+ case "RANGE_INTERPOLATED":
+ case 2:
+ message.granularity = 2;
+ break;
+ case "GEOMETRIC_CENTER":
+ case 3:
+ message.granularity = 3;
+ break;
+ case "APPROXIMATE":
+ case 4:
+ message.granularity = 4;
+ break;
+ }
+ if (object.viewport != null) {
+ if (typeof object.viewport !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.viewport: object expected");
+ message.viewport = $root.google.geo.type.Viewport.fromObject(object.viewport);
+ }
+ if (object.bounds != null) {
+ if (typeof object.bounds !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.bounds: object expected");
+ message.bounds = $root.google.geo.type.Viewport.fromObject(object.bounds);
+ }
+ if (object.formattedAddress != null)
+ message.formattedAddress = String(object.formattedAddress);
+ if (object.postalAddress != null) {
+ if (typeof object.postalAddress !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.postalAddress: object expected");
+ message.postalAddress = $root.google.type.PostalAddress.fromObject(object.postalAddress);
+ }
+ if (object.addressComponents) {
+ if (!Array.isArray(object.addressComponents))
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.addressComponents: array expected");
+ message.addressComponents = [];
+ for (var i = 0; i < object.addressComponents.length; ++i) {
+ if (typeof object.addressComponents[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.addressComponents: object expected");
+ message.addressComponents[i] = $root.google.maps.geocode.v4.GeocodeResult.AddressComponent.fromObject(object.addressComponents[i]);
+ }
+ }
+ if (object.postalCodeLocalities) {
+ if (!Array.isArray(object.postalCodeLocalities))
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.postalCodeLocalities: array expected");
+ message.postalCodeLocalities = [];
+ for (var i = 0; i < object.postalCodeLocalities.length; ++i) {
+ if (typeof object.postalCodeLocalities[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.postalCodeLocalities: object expected");
+ message.postalCodeLocalities[i] = $root.google.type.LocalizedText.fromObject(object.postalCodeLocalities[i]);
+ }
+ }
+ if (object.types) {
+ if (!Array.isArray(object.types))
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.types: array expected");
+ message.types = [];
+ for (var i = 0; i < object.types.length; ++i)
+ message.types[i] = String(object.types[i]);
+ }
+ if (object.plusCode != null) {
+ if (typeof object.plusCode !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.plusCode: object expected");
+ message.plusCode = $root.google.maps.geocode.v4.PlusCode.fromObject(object.plusCode);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GeocodeResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeResult} message GeocodeResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GeocodeResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.addressComponents = [];
+ object.postalCodeLocalities = [];
+ object.types = [];
+ }
+ if (options.defaults) {
+ object.place = "";
+ object.placeId = "";
+ object.location = null;
+ object.granularity = options.enums === String ? "GRANULARITY_UNSPECIFIED" : 0;
+ object.viewport = null;
+ object.bounds = null;
+ object.formattedAddress = "";
+ object.postalAddress = null;
+ object.plusCode = null;
+ }
+ if (message.place != null && message.hasOwnProperty("place"))
+ object.place = message.place;
+ if (message.placeId != null && message.hasOwnProperty("placeId"))
+ object.placeId = message.placeId;
+ if (message.location != null && message.hasOwnProperty("location"))
+ object.location = $root.google.type.LatLng.toObject(message.location, options);
+ if (message.granularity != null && message.hasOwnProperty("granularity"))
+ object.granularity = options.enums === String ? $root.google.maps.geocode.v4.GeocodeResult.Granularity[message.granularity] === undefined ? message.granularity : $root.google.maps.geocode.v4.GeocodeResult.Granularity[message.granularity] : message.granularity;
+ if (message.viewport != null && message.hasOwnProperty("viewport"))
+ object.viewport = $root.google.geo.type.Viewport.toObject(message.viewport, options);
+ if (message.bounds != null && message.hasOwnProperty("bounds"))
+ object.bounds = $root.google.geo.type.Viewport.toObject(message.bounds, options);
+ if (message.formattedAddress != null && message.hasOwnProperty("formattedAddress"))
+ object.formattedAddress = message.formattedAddress;
+ if (message.postalAddress != null && message.hasOwnProperty("postalAddress"))
+ object.postalAddress = $root.google.type.PostalAddress.toObject(message.postalAddress, options);
+ if (message.addressComponents && message.addressComponents.length) {
+ object.addressComponents = [];
+ for (var j = 0; j < message.addressComponents.length; ++j)
+ object.addressComponents[j] = $root.google.maps.geocode.v4.GeocodeResult.AddressComponent.toObject(message.addressComponents[j], options);
+ }
+ if (message.postalCodeLocalities && message.postalCodeLocalities.length) {
+ object.postalCodeLocalities = [];
+ for (var j = 0; j < message.postalCodeLocalities.length; ++j)
+ object.postalCodeLocalities[j] = $root.google.type.LocalizedText.toObject(message.postalCodeLocalities[j], options);
+ }
+ if (message.types && message.types.length) {
+ object.types = [];
+ for (var j = 0; j < message.types.length; ++j)
+ object.types[j] = message.types[j];
+ }
+ if (message.plusCode != null && message.hasOwnProperty("plusCode"))
+ object.plusCode = $root.google.maps.geocode.v4.PlusCode.toObject(message.plusCode, options);
+ return object;
+ };
+
+ /**
+ * Converts this GeocodeResult to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GeocodeResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GeocodeResult
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GeocodeResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.GeocodeResult";
+ };
+
+ GeocodeResult.AddressComponent = (function() {
+
+ /**
+ * Properties of an AddressComponent.
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @interface IAddressComponent
+ * @property {string|null} [longText] AddressComponent longText
+ * @property {string|null} [shortText] AddressComponent shortText
+ * @property {Array.|null} [types] AddressComponent types
+ * @property {string|null} [languageCode] AddressComponent languageCode
+ */
+
+ /**
+ * Constructs a new AddressComponent.
+ * @memberof google.maps.geocode.v4.GeocodeResult
+ * @classdesc Represents an AddressComponent.
+ * @implements IAddressComponent
+ * @constructor
+ * @param {google.maps.geocode.v4.GeocodeResult.IAddressComponent=} [properties] Properties to set
+ */
+ function AddressComponent(properties) {
+ this.types = [];
+ 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]];
+ }
+
+ /**
+ * AddressComponent longText.
+ * @member {string} longText
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @instance
+ */
+ AddressComponent.prototype.longText = "";
+
+ /**
+ * AddressComponent shortText.
+ * @member {string} shortText
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @instance
+ */
+ AddressComponent.prototype.shortText = "";
+
+ /**
+ * AddressComponent types.
+ * @member {Array.} types
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @instance
+ */
+ AddressComponent.prototype.types = $util.emptyArray;
+
+ /**
+ * AddressComponent languageCode.
+ * @member {string} languageCode
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @instance
+ */
+ AddressComponent.prototype.languageCode = "";
+
+ /**
+ * Creates a new AddressComponent instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeResult.IAddressComponent=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.GeocodeResult.AddressComponent} AddressComponent instance
+ */
+ AddressComponent.create = function create(properties) {
+ return new AddressComponent(properties);
+ };
+
+ /**
+ * Encodes the specified AddressComponent message. Does not implicitly {@link google.maps.geocode.v4.GeocodeResult.AddressComponent.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeResult.IAddressComponent} message AddressComponent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AddressComponent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.longText != null && Object.hasOwnProperty.call(message, "longText"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.longText);
+ if (message.shortText != null && Object.hasOwnProperty.call(message, "shortText"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.shortText);
+ if (message.types != null && message.types.length)
+ for (var i = 0; i < message.types.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.types[i]);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.languageCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AddressComponent message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeResult.AddressComponent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeResult.IAddressComponent} message AddressComponent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AddressComponent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AddressComponent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.GeocodeResult.AddressComponent} AddressComponent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AddressComponent.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.GeocodeResult.AddressComponent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.longText = reader.string();
+ break;
+ }
+ case 2: {
+ message.shortText = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.types && message.types.length))
+ message.types = [];
+ message.types.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.languageCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AddressComponent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.GeocodeResult.AddressComponent} AddressComponent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AddressComponent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AddressComponent message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AddressComponent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.longText != null && message.hasOwnProperty("longText"))
+ if (!$util.isString(message.longText))
+ return "longText: string expected";
+ if (message.shortText != null && message.hasOwnProperty("shortText"))
+ if (!$util.isString(message.shortText))
+ return "shortText: string expected";
+ if (message.types != null && message.hasOwnProperty("types")) {
+ if (!Array.isArray(message.types))
+ return "types: array expected";
+ for (var i = 0; i < message.types.length; ++i)
+ if (!$util.isString(message.types[i]))
+ return "types: string[] expected";
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AddressComponent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.GeocodeResult.AddressComponent} AddressComponent
+ */
+ AddressComponent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.GeocodeResult.AddressComponent)
+ return object;
+ var message = new $root.google.maps.geocode.v4.GeocodeResult.AddressComponent();
+ if (object.longText != null)
+ message.longText = String(object.longText);
+ if (object.shortText != null)
+ message.shortText = String(object.shortText);
+ if (object.types) {
+ if (!Array.isArray(object.types))
+ throw TypeError(".google.maps.geocode.v4.GeocodeResult.AddressComponent.types: array expected");
+ message.types = [];
+ for (var i = 0; i < object.types.length; ++i)
+ message.types[i] = String(object.types[i]);
+ }
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AddressComponent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeResult.AddressComponent} message AddressComponent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AddressComponent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.types = [];
+ if (options.defaults) {
+ object.longText = "";
+ object.shortText = "";
+ object.languageCode = "";
+ }
+ if (message.longText != null && message.hasOwnProperty("longText"))
+ object.longText = message.longText;
+ if (message.shortText != null && message.hasOwnProperty("shortText"))
+ object.shortText = message.shortText;
+ if (message.types && message.types.length) {
+ object.types = [];
+ for (var j = 0; j < message.types.length; ++j)
+ object.types[j] = message.types[j];
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ return object;
+ };
+
+ /**
+ * Converts this AddressComponent to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AddressComponent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AddressComponent
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.GeocodeResult.AddressComponent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AddressComponent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.GeocodeResult.AddressComponent";
+ };
+
+ return AddressComponent;
+ })();
+
+ /**
+ * Granularity enum.
+ * @name google.maps.geocode.v4.GeocodeResult.Granularity
+ * @enum {number}
+ * @property {number} GRANULARITY_UNSPECIFIED=0 GRANULARITY_UNSPECIFIED value
+ * @property {number} ROOFTOP=1 ROOFTOP value
+ * @property {number} RANGE_INTERPOLATED=2 RANGE_INTERPOLATED value
+ * @property {number} GEOMETRIC_CENTER=3 GEOMETRIC_CENTER value
+ * @property {number} APPROXIMATE=4 APPROXIMATE value
+ */
+ GeocodeResult.Granularity = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "GRANULARITY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ROOFTOP"] = 1;
+ values[valuesById[2] = "RANGE_INTERPOLATED"] = 2;
+ values[valuesById[3] = "GEOMETRIC_CENTER"] = 3;
+ values[valuesById[4] = "APPROXIMATE"] = 4;
+ return values;
+ })();
+
+ return GeocodeResult;
+ })();
+
+ v4.GeocodeAddressResponse = (function() {
+
+ /**
+ * Properties of a GeocodeAddressResponse.
+ * @memberof google.maps.geocode.v4
+ * @interface IGeocodeAddressResponse
+ * @property {Array.|null} [results] GeocodeAddressResponse results
+ */
+
+ /**
+ * Constructs a new GeocodeAddressResponse.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a GeocodeAddressResponse.
+ * @implements IGeocodeAddressResponse
+ * @constructor
+ * @param {google.maps.geocode.v4.IGeocodeAddressResponse=} [properties] Properties to set
+ */
+ function GeocodeAddressResponse(properties) {
+ this.results = [];
+ 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]];
+ }
+
+ /**
+ * GeocodeAddressResponse results.
+ * @member {Array.} results
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @instance
+ */
+ GeocodeAddressResponse.prototype.results = $util.emptyArray;
+
+ /**
+ * Creates a new GeocodeAddressResponse instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeAddressResponse=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.GeocodeAddressResponse} GeocodeAddressResponse instance
+ */
+ GeocodeAddressResponse.create = function create(properties) {
+ return new GeocodeAddressResponse(properties);
+ };
+
+ /**
+ * Encodes the specified GeocodeAddressResponse message. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeAddressResponse} message GeocodeAddressResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeAddressResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.results != null && message.results.length)
+ for (var i = 0; i < message.results.length; ++i)
+ $root.google.maps.geocode.v4.GeocodeResult.encode(message.results[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GeocodeAddressResponse message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeAddressResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeAddressResponse} message GeocodeAddressResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeAddressResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GeocodeAddressResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.GeocodeAddressResponse} GeocodeAddressResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeAddressResponse.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.GeocodeAddressResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.results && message.results.length))
+ message.results = [];
+ message.results.push($root.google.maps.geocode.v4.GeocodeResult.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GeocodeAddressResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.GeocodeAddressResponse} GeocodeAddressResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeAddressResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GeocodeAddressResponse message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GeocodeAddressResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.results != null && message.hasOwnProperty("results")) {
+ if (!Array.isArray(message.results))
+ return "results: array expected";
+ for (var i = 0; i < message.results.length; ++i) {
+ var error = $root.google.maps.geocode.v4.GeocodeResult.verify(message.results[i]);
+ if (error)
+ return "results." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GeocodeAddressResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.GeocodeAddressResponse} GeocodeAddressResponse
+ */
+ GeocodeAddressResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.GeocodeAddressResponse)
+ return object;
+ var message = new $root.google.maps.geocode.v4.GeocodeAddressResponse();
+ if (object.results) {
+ if (!Array.isArray(object.results))
+ throw TypeError(".google.maps.geocode.v4.GeocodeAddressResponse.results: array expected");
+ message.results = [];
+ for (var i = 0; i < object.results.length; ++i) {
+ if (typeof object.results[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeAddressResponse.results: object expected");
+ message.results[i] = $root.google.maps.geocode.v4.GeocodeResult.fromObject(object.results[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GeocodeAddressResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeAddressResponse} message GeocodeAddressResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GeocodeAddressResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.results = [];
+ if (message.results && message.results.length) {
+ object.results = [];
+ for (var j = 0; j < message.results.length; ++j)
+ object.results[j] = $root.google.maps.geocode.v4.GeocodeResult.toObject(message.results[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GeocodeAddressResponse to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GeocodeAddressResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GeocodeAddressResponse
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.GeocodeAddressResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GeocodeAddressResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.GeocodeAddressResponse";
+ };
+
+ return GeocodeAddressResponse;
+ })();
+
+ v4.GeocodeLocationResponse = (function() {
+
+ /**
+ * Properties of a GeocodeLocationResponse.
+ * @memberof google.maps.geocode.v4
+ * @interface IGeocodeLocationResponse
+ * @property {Array.|null} [results] GeocodeLocationResponse results
+ * @property {google.maps.geocode.v4.IPlusCode|null} [plusCode] GeocodeLocationResponse plusCode
+ */
+
+ /**
+ * Constructs a new GeocodeLocationResponse.
+ * @memberof google.maps.geocode.v4
+ * @classdesc Represents a GeocodeLocationResponse.
+ * @implements IGeocodeLocationResponse
+ * @constructor
+ * @param {google.maps.geocode.v4.IGeocodeLocationResponse=} [properties] Properties to set
+ */
+ function GeocodeLocationResponse(properties) {
+ this.results = [];
+ 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]];
+ }
+
+ /**
+ * GeocodeLocationResponse results.
+ * @member {Array.} results
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @instance
+ */
+ GeocodeLocationResponse.prototype.results = $util.emptyArray;
+
+ /**
+ * GeocodeLocationResponse plusCode.
+ * @member {google.maps.geocode.v4.IPlusCode|null|undefined} plusCode
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @instance
+ */
+ GeocodeLocationResponse.prototype.plusCode = null;
+
+ /**
+ * Creates a new GeocodeLocationResponse instance using the specified properties.
+ * @function create
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeLocationResponse=} [properties] Properties to set
+ * @returns {google.maps.geocode.v4.GeocodeLocationResponse} GeocodeLocationResponse instance
+ */
+ GeocodeLocationResponse.create = function create(properties) {
+ return new GeocodeLocationResponse(properties);
+ };
+
+ /**
+ * Encodes the specified GeocodeLocationResponse message. Does not implicitly {@link google.maps.geocode.v4.GeocodeLocationResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeLocationResponse} message GeocodeLocationResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeLocationResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.results != null && message.results.length)
+ for (var i = 0; i < message.results.length; ++i)
+ $root.google.maps.geocode.v4.GeocodeResult.encode(message.results[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.plusCode != null && Object.hasOwnProperty.call(message, "plusCode"))
+ $root.google.maps.geocode.v4.PlusCode.encode(message.plusCode, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GeocodeLocationResponse message, length delimited. Does not implicitly {@link google.maps.geocode.v4.GeocodeLocationResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {google.maps.geocode.v4.IGeocodeLocationResponse} message GeocodeLocationResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GeocodeLocationResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GeocodeLocationResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.maps.geocode.v4.GeocodeLocationResponse} GeocodeLocationResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeLocationResponse.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.maps.geocode.v4.GeocodeLocationResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.results && message.results.length))
+ message.results = [];
+ message.results.push($root.google.maps.geocode.v4.GeocodeResult.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.plusCode = $root.google.maps.geocode.v4.PlusCode.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GeocodeLocationResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.maps.geocode.v4.GeocodeLocationResponse} GeocodeLocationResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GeocodeLocationResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GeocodeLocationResponse message.
+ * @function verify
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GeocodeLocationResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.results != null && message.hasOwnProperty("results")) {
+ if (!Array.isArray(message.results))
+ return "results: array expected";
+ for (var i = 0; i < message.results.length; ++i) {
+ var error = $root.google.maps.geocode.v4.GeocodeResult.verify(message.results[i]);
+ if (error)
+ return "results." + error;
+ }
+ }
+ if (message.plusCode != null && message.hasOwnProperty("plusCode")) {
+ var error = $root.google.maps.geocode.v4.PlusCode.verify(message.plusCode);
+ if (error)
+ return "plusCode." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GeocodeLocationResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.maps.geocode.v4.GeocodeLocationResponse} GeocodeLocationResponse
+ */
+ GeocodeLocationResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.maps.geocode.v4.GeocodeLocationResponse)
+ return object;
+ var message = new $root.google.maps.geocode.v4.GeocodeLocationResponse();
+ if (object.results) {
+ if (!Array.isArray(object.results))
+ throw TypeError(".google.maps.geocode.v4.GeocodeLocationResponse.results: array expected");
+ message.results = [];
+ for (var i = 0; i < object.results.length; ++i) {
+ if (typeof object.results[i] !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeLocationResponse.results: object expected");
+ message.results[i] = $root.google.maps.geocode.v4.GeocodeResult.fromObject(object.results[i]);
+ }
+ }
+ if (object.plusCode != null) {
+ if (typeof object.plusCode !== "object")
+ throw TypeError(".google.maps.geocode.v4.GeocodeLocationResponse.plusCode: object expected");
+ message.plusCode = $root.google.maps.geocode.v4.PlusCode.fromObject(object.plusCode);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GeocodeLocationResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {google.maps.geocode.v4.GeocodeLocationResponse} message GeocodeLocationResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GeocodeLocationResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.results = [];
+ if (options.defaults)
+ object.plusCode = null;
+ if (message.results && message.results.length) {
+ object.results = [];
+ for (var j = 0; j < message.results.length; ++j)
+ object.results[j] = $root.google.maps.geocode.v4.GeocodeResult.toObject(message.results[j], options);
+ }
+ if (message.plusCode != null && message.hasOwnProperty("plusCode"))
+ object.plusCode = $root.google.maps.geocode.v4.PlusCode.toObject(message.plusCode, options);
+ return object;
+ };
+
+ /**
+ * Converts this GeocodeLocationResponse to JSON.
+ * @function toJSON
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GeocodeLocationResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GeocodeLocationResponse
+ * @function getTypeUrl
+ * @memberof google.maps.geocode.v4.GeocodeLocationResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GeocodeLocationResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.maps.geocode.v4.GeocodeLocationResponse";
+ };
+
+ return GeocodeLocationResponse;
+ })();
+
+ return v4;
+ })();
+
+ return geocode;
+ })();
+
+ return maps;
+ })();
+
+ google.api = (function() {
+
+ /**
+ * Namespace api.
+ * @memberof google
+ * @namespace
+ */
+ var api = {};
+
+ api.Http = (function() {
+
+ /**
+ * Properties of a Http.
+ * @memberof google.api
+ * @interface IHttp
+ * @property {Array.|null} [rules] Http rules
+ * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion
+ */
+
+ /**
+ * Constructs a new Http.
+ * @memberof google.api
+ * @classdesc Represents a Http.
+ * @implements IHttp
+ * @constructor
+ * @param {google.api.IHttp=} [properties] Properties to set
+ */
+ function Http(properties) {
+ this.rules = [];
+ 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]];
+ }
+
+ /**
+ * Http rules.
+ * @member {Array.} rules
+ * @memberof google.api.Http
+ * @instance
+ */
+ Http.prototype.rules = $util.emptyArray;
+
+ /**
+ * Http fullyDecodeReservedExpansion.
+ * @member {boolean} fullyDecodeReservedExpansion
+ * @memberof google.api.Http
+ * @instance
+ */
+ Http.prototype.fullyDecodeReservedExpansion = false;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @function create
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp=} [properties] Properties to set
+ * @returns {google.api.Http} Http instance
+ */
+ Http.create = function create(properties) {
+ return new Http(properties);
+ };
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp} message Http message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Http.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.rules != null && message.rules.length)
+ for (var i = 0; i < message.rules.length; ++i)
+ $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp} message Http message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Http.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.Http
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.Http} Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Http.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.rules && message.rules.length))
+ message.rules = [];
+ message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.fullyDecodeReservedExpansion = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.Http
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.Http} Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Http.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Http message.
+ * @function verify
+ * @memberof google.api.Http
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Http.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.rules != null && message.hasOwnProperty("rules")) {
+ if (!Array.isArray(message.rules))
+ return "rules: array expected";
+ for (var i = 0; i < message.rules.length; ++i) {
+ var error = $root.google.api.HttpRule.verify(message.rules[i]);
+ if (error)
+ return "rules." + error;
+ }
+ }
+ if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
+ if (typeof message.fullyDecodeReservedExpansion !== "boolean")
+ return "fullyDecodeReservedExpansion: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.Http
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.Http} Http
+ */
+ Http.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.Http)
+ return object;
+ var message = new $root.google.api.Http();
+ if (object.rules) {
+ if (!Array.isArray(object.rules))
+ throw TypeError(".google.api.Http.rules: array expected");
+ message.rules = [];
+ for (var i = 0; i < object.rules.length; ++i) {
+ if (typeof object.rules[i] !== "object")
+ throw TypeError(".google.api.Http.rules: object expected");
+ message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]);
+ }
+ }
+ if (object.fullyDecodeReservedExpansion != null)
+ message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.Http} message Http
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Http.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.rules = [];
+ if (options.defaults)
+ object.fullyDecodeReservedExpansion = false;
+ if (message.rules && message.rules.length) {
+ object.rules = [];
+ for (var j = 0; j < message.rules.length; ++j)
+ object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options);
+ }
+ if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
+ object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion;
+ return object;
+ };
+
+ /**
+ * Converts this Http to JSON.
+ * @function toJSON
+ * @memberof google.api.Http
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Http.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Http
+ * @function getTypeUrl
+ * @memberof google.api.Http
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.Http";
+ };
+
+ return Http;
+ })();
+
+ api.HttpRule = (function() {
+
+ /**
+ * Properties of a HttpRule.
+ * @memberof google.api
+ * @interface IHttpRule
+ * @property {string|null} [selector] HttpRule selector
+ * @property {string|null} [get] HttpRule get
+ * @property {string|null} [put] HttpRule put
+ * @property {string|null} [post] HttpRule post
+ * @property {string|null} ["delete"] HttpRule delete
+ * @property {string|null} [patch] HttpRule patch
+ * @property {google.api.ICustomHttpPattern|null} [custom] HttpRule custom
+ * @property {string|null} [body] HttpRule body
+ * @property {string|null} [responseBody] HttpRule responseBody
+ * @property {Array.|null} [additionalBindings] HttpRule additionalBindings
+ */
+
+ /**
+ * Constructs a new HttpRule.
+ * @memberof google.api
+ * @classdesc Represents a HttpRule.
+ * @implements IHttpRule
+ * @constructor
+ * @param {google.api.IHttpRule=} [properties] Properties to set
+ */
+ function HttpRule(properties) {
+ this.additionalBindings = [];
+ 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]];
+ }
+
+ /**
+ * HttpRule selector.
+ * @member {string} selector
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.selector = "";
+
+ /**
+ * HttpRule get.
+ * @member {string|null|undefined} get
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.get = null;
+
+ /**
+ * HttpRule put.
+ * @member {string|null|undefined} put
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.put = null;
+
+ /**
+ * HttpRule post.
+ * @member {string|null|undefined} post
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.post = null;
+
+ /**
+ * HttpRule delete.
+ * @member {string|null|undefined} delete
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype["delete"] = null;
+
+ /**
+ * HttpRule patch.
+ * @member {string|null|undefined} patch
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.patch = null;
+
+ /**
+ * HttpRule custom.
+ * @member {google.api.ICustomHttpPattern|null|undefined} custom
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.custom = null;
+
+ /**
+ * HttpRule body.
+ * @member {string} body
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.body = "";
+
+ /**
+ * HttpRule responseBody.
+ * @member {string} responseBody
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.responseBody = "";
+
+ /**
+ * HttpRule additionalBindings.
+ * @member {Array.} additionalBindings
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.additionalBindings = $util.emptyArray;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * HttpRule pattern.
+ * @member {"get"|"put"|"post"|"delete"|"patch"|"custom"|undefined} pattern
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ Object.defineProperty(HttpRule.prototype, "pattern", {
+ get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @function create
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule=} [properties] Properties to set
+ * @returns {google.api.HttpRule} HttpRule instance
+ */
+ HttpRule.create = function create(properties) {
+ return new HttpRule(properties);
+ };
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule} message HttpRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HttpRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.selector != null && Object.hasOwnProperty.call(message, "selector"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector);
+ if (message.get != null && Object.hasOwnProperty.call(message, "get"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.get);
+ if (message.put != null && Object.hasOwnProperty.call(message, "put"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.put);
+ if (message.post != null && Object.hasOwnProperty.call(message, "post"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.post);
+ if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]);
+ if (message.patch != null && Object.hasOwnProperty.call(message, "patch"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch);
+ if (message.body != null && Object.hasOwnProperty.call(message, "body"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.body);
+ if (message.custom != null && Object.hasOwnProperty.call(message, "custom"))
+ $root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.additionalBindings != null && message.additionalBindings.length)
+ for (var i = 0; i < message.additionalBindings.length; ++i)
+ $root.google.api.HttpRule.encode(message.additionalBindings[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule} message HttpRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HttpRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.HttpRule} HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HttpRule.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.selector = reader.string();
+ break;
+ }
+ case 2: {
+ message.get = reader.string();
+ break;
+ }
+ case 3: {
+ message.put = reader.string();
+ break;
+ }
+ case 4: {
+ message.post = reader.string();
+ break;
+ }
+ case 5: {
+ message["delete"] = reader.string();
+ break;
+ }
+ case 6: {
+ message.patch = reader.string();
+ break;
+ }
+ case 8: {
+ message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.body = reader.string();
+ break;
+ }
+ case 12: {
+ message.responseBody = reader.string();
+ break;
+ }
+ case 11: {
+ if (!(message.additionalBindings && message.additionalBindings.length))
+ message.additionalBindings = [];
+ message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.HttpRule} HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HttpRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a HttpRule message.
+ * @function verify
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ HttpRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ if (!$util.isString(message.selector))
+ return "selector: string expected";
+ if (message.get != null && message.hasOwnProperty("get")) {
+ properties.pattern = 1;
+ if (!$util.isString(message.get))
+ return "get: string expected";
+ }
+ if (message.put != null && message.hasOwnProperty("put")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.put))
+ return "put: string expected";
+ }
+ if (message.post != null && message.hasOwnProperty("post")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.post))
+ return "post: string expected";
+ }
+ if (message["delete"] != null && message.hasOwnProperty("delete")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message["delete"]))
+ return "delete: string expected";
+ }
+ if (message.patch != null && message.hasOwnProperty("patch")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.patch))
+ return "patch: string expected";
+ }
+ if (message.custom != null && message.hasOwnProperty("custom")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ {
+ var error = $root.google.api.CustomHttpPattern.verify(message.custom);
+ if (error)
+ return "custom." + error;
+ }
+ }
+ if (message.body != null && message.hasOwnProperty("body"))
+ if (!$util.isString(message.body))
+ return "body: string expected";
+ if (message.responseBody != null && message.hasOwnProperty("responseBody"))
+ if (!$util.isString(message.responseBody))
+ return "responseBody: string expected";
+ if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) {
+ if (!Array.isArray(message.additionalBindings))
+ return "additionalBindings: array expected";
+ for (var i = 0; i < message.additionalBindings.length; ++i) {
+ var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]);
+ if (error)
+ return "additionalBindings." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.HttpRule} HttpRule
+ */
+ HttpRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.HttpRule)
+ return object;
+ var message = new $root.google.api.HttpRule();
+ if (object.selector != null)
+ message.selector = String(object.selector);
+ if (object.get != null)
+ message.get = String(object.get);
+ if (object.put != null)
+ message.put = String(object.put);
+ if (object.post != null)
+ message.post = String(object.post);
+ if (object["delete"] != null)
+ message["delete"] = String(object["delete"]);
+ if (object.patch != null)
+ message.patch = String(object.patch);
+ if (object.custom != null) {
+ if (typeof object.custom !== "object")
+ throw TypeError(".google.api.HttpRule.custom: object expected");
+ message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom);
+ }
+ if (object.body != null)
+ message.body = String(object.body);
+ if (object.responseBody != null)
+ message.responseBody = String(object.responseBody);
+ if (object.additionalBindings) {
+ if (!Array.isArray(object.additionalBindings))
+ throw TypeError(".google.api.HttpRule.additionalBindings: array expected");
+ message.additionalBindings = [];
+ for (var i = 0; i < object.additionalBindings.length; ++i) {
+ if (typeof object.additionalBindings[i] !== "object")
+ throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
+ message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.HttpRule} message HttpRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ HttpRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.additionalBindings = [];
+ if (options.defaults) {
+ object.selector = "";
+ object.body = "";
+ object.responseBody = "";
+ }
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ object.selector = message.selector;
+ if (message.get != null && message.hasOwnProperty("get")) {
+ object.get = message.get;
+ if (options.oneofs)
+ object.pattern = "get";
+ }
+ if (message.put != null && message.hasOwnProperty("put")) {
+ object.put = message.put;
+ if (options.oneofs)
+ object.pattern = "put";
+ }
+ if (message.post != null && message.hasOwnProperty("post")) {
+ object.post = message.post;
+ if (options.oneofs)
+ object.pattern = "post";
+ }
+ if (message["delete"] != null && message.hasOwnProperty("delete")) {
+ object["delete"] = message["delete"];
+ if (options.oneofs)
+ object.pattern = "delete";
+ }
+ if (message.patch != null && message.hasOwnProperty("patch")) {
+ object.patch = message.patch;
+ if (options.oneofs)
+ object.pattern = "patch";
+ }
+ if (message.body != null && message.hasOwnProperty("body"))
+ object.body = message.body;
+ if (message.custom != null && message.hasOwnProperty("custom")) {
+ object.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options);
+ if (options.oneofs)
+ object.pattern = "custom";
+ }
+ if (message.additionalBindings && message.additionalBindings.length) {
+ object.additionalBindings = [];
+ for (var j = 0; j < message.additionalBindings.length; ++j)
+ object.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options);
+ }
+ if (message.responseBody != null && message.hasOwnProperty("responseBody"))
+ object.responseBody = message.responseBody;
+ return object;
+ };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @function toJSON
+ * @memberof google.api.HttpRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ HttpRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @function getTypeUrl
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.HttpRule";
+ };
+
+ return HttpRule;
+ })();
+
+ api.CustomHttpPattern = (function() {
+
+ /**
+ * Properties of a CustomHttpPattern.
+ * @memberof google.api
+ * @interface ICustomHttpPattern
+ * @property {string|null} [kind] CustomHttpPattern kind
+ * @property {string|null} [path] CustomHttpPattern path
+ */
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @memberof google.api
+ * @classdesc Represents a CustomHttpPattern.
+ * @implements ICustomHttpPattern
+ * @constructor
+ * @param {google.api.ICustomHttpPattern=} [properties] Properties to set
+ */
+ function CustomHttpPattern(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]];
+ }
+
+ /**
+ * CustomHttpPattern kind.
+ * @member {string} kind
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ */
+ CustomHttpPattern.prototype.kind = "";
+
+ /**
+ * CustomHttpPattern path.
+ * @member {string} path
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ */
+ CustomHttpPattern.prototype.path = "";
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @function create
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern=} [properties] Properties to set
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern instance
+ */
+ CustomHttpPattern.create = function create(properties) {
+ return new CustomHttpPattern(properties);
+ };
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomHttpPattern.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.path != null && Object.hasOwnProperty.call(message, "path"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.path);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomHttpPattern.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.kind = reader.string();
+ break;
+ }
+ case 2: {
+ message.path = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @function verify
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CustomHttpPattern.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ if (!$util.isString(message.kind))
+ return "kind: string expected";
+ if (message.path != null && message.hasOwnProperty("path"))
+ if (!$util.isString(message.path))
+ return "path: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ */
+ CustomHttpPattern.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.CustomHttpPattern)
+ return object;
+ var message = new $root.google.api.CustomHttpPattern();
+ if (object.kind != null)
+ message.kind = String(object.kind);
+ if (object.path != null)
+ message.path = String(object.path);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.CustomHttpPattern} message CustomHttpPattern
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CustomHttpPattern.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.kind = "";
+ object.path = "";
+ }
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ object.kind = message.kind;
+ if (message.path != null && message.hasOwnProperty("path"))
+ object.path = message.path;
+ return object;
+ };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @function toJSON
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CustomHttpPattern.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @function getTypeUrl
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.CustomHttpPattern";
+ };
+
+ return CustomHttpPattern;
+ })();
+
+ api.CommonLanguageSettings = (function() {
+
+ /**
+ * Properties of a CommonLanguageSettings.
+ * @memberof google.api
+ * @interface ICommonLanguageSettings
+ * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri
+ * @property {Array.|null} [destinations] CommonLanguageSettings destinations
+ */
+
+ /**
+ * Constructs a new CommonLanguageSettings.
+ * @memberof google.api
+ * @classdesc Represents a CommonLanguageSettings.
+ * @implements ICommonLanguageSettings
+ * @constructor
+ * @param {google.api.ICommonLanguageSettings=} [properties] Properties to set
+ */
+ function CommonLanguageSettings(properties) {
+ this.destinations = [];
+ 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]];
+ }
+
+ /**
+ * CommonLanguageSettings referenceDocsUri.
+ * @member {string} referenceDocsUri
+ * @memberof google.api.CommonLanguageSettings
+ * @instance
+ */
+ CommonLanguageSettings.prototype.referenceDocsUri = "";
+
+ /**
+ * CommonLanguageSettings destinations.
+ * @member {Array.} destinations
+ * @memberof google.api.CommonLanguageSettings
+ * @instance
+ */
+ CommonLanguageSettings.prototype.destinations = $util.emptyArray;
+
+ /**
+ * Creates a new CommonLanguageSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {google.api.ICommonLanguageSettings=} [properties] Properties to set
+ * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings instance
+ */
+ CommonLanguageSettings.create = function create(properties) {
+ return new CommonLanguageSettings(properties);
+ };
+
+ /**
+ * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {google.api.ICommonLanguageSettings} message CommonLanguageSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommonLanguageSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.referenceDocsUri != null && Object.hasOwnProperty.call(message, "referenceDocsUri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.referenceDocsUri);
+ if (message.destinations != null && message.destinations.length) {
+ writer.uint32(/* id 2, wireType 2 =*/18).fork();
+ for (var i = 0; i < message.destinations.length; ++i)
+ writer.int32(message.destinations[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {google.api.ICommonLanguageSettings} message CommonLanguageSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommonLanguageSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CommonLanguageSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommonLanguageSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.referenceDocsUri = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.destinations && message.destinations.length))
+ message.destinations = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.destinations.push(reader.int32());
+ } else
+ message.destinations.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommonLanguageSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CommonLanguageSettings message.
+ * @function verify
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CommonLanguageSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri"))
+ if (!$util.isString(message.referenceDocsUri))
+ return "referenceDocsUri: string expected";
+ if (message.destinations != null && message.hasOwnProperty("destinations")) {
+ if (!Array.isArray(message.destinations))
+ return "destinations: array expected";
+ for (var i = 0; i < message.destinations.length; ++i)
+ switch (message.destinations[i]) {
+ default:
+ return "destinations: enum value[] expected";
+ case 0:
+ case 10:
+ case 20:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings
+ */
+ CommonLanguageSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.CommonLanguageSettings)
+ return object;
+ var message = new $root.google.api.CommonLanguageSettings();
+ if (object.referenceDocsUri != null)
+ message.referenceDocsUri = String(object.referenceDocsUri);
+ if (object.destinations) {
+ if (!Array.isArray(object.destinations))
+ throw TypeError(".google.api.CommonLanguageSettings.destinations: array expected");
+ message.destinations = [];
+ for (var i = 0; i < object.destinations.length; ++i)
+ switch (object.destinations[i]) {
+ default:
+ if (typeof object.destinations[i] === "number") {
+ message.destinations[i] = object.destinations[i];
+ break;
+ }
+ case "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":
+ case 0:
+ message.destinations[i] = 0;
+ break;
+ case "GITHUB":
+ case 10:
+ message.destinations[i] = 10;
+ break;
+ case "PACKAGE_MANAGER":
+ case 20:
+ message.destinations[i] = 20;
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {google.api.CommonLanguageSettings} message CommonLanguageSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CommonLanguageSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.destinations = [];
+ if (options.defaults)
+ object.referenceDocsUri = "";
+ if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri"))
+ object.referenceDocsUri = message.referenceDocsUri;
+ if (message.destinations && message.destinations.length) {
+ object.destinations = [];
+ for (var j = 0; j < message.destinations.length; ++j)
+ object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CommonLanguageSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.CommonLanguageSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CommonLanguageSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CommonLanguageSettings
+ * @function getTypeUrl
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CommonLanguageSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.CommonLanguageSettings";
+ };
+
+ return CommonLanguageSettings;
+ })();
+
+ api.ClientLibrarySettings = (function() {
+
+ /**
+ * Properties of a ClientLibrarySettings.
+ * @memberof google.api
+ * @interface IClientLibrarySettings
+ * @property {string|null} [version] ClientLibrarySettings version
+ * @property {google.api.LaunchStage|null} [launchStage] ClientLibrarySettings launchStage
+ * @property {boolean|null} [restNumericEnums] ClientLibrarySettings restNumericEnums
+ * @property {google.api.IJavaSettings|null} [javaSettings] ClientLibrarySettings javaSettings
+ * @property {google.api.ICppSettings|null} [cppSettings] ClientLibrarySettings cppSettings
+ * @property {google.api.IPhpSettings|null} [phpSettings] ClientLibrarySettings phpSettings
+ * @property {google.api.IPythonSettings|null} [pythonSettings] ClientLibrarySettings pythonSettings
+ * @property {google.api.INodeSettings|null} [nodeSettings] ClientLibrarySettings nodeSettings
+ * @property {google.api.IDotnetSettings|null} [dotnetSettings] ClientLibrarySettings dotnetSettings
+ * @property {google.api.IRubySettings|null} [rubySettings] ClientLibrarySettings rubySettings
+ * @property {google.api.IGoSettings|null} [goSettings] ClientLibrarySettings goSettings
+ */
+
+ /**
+ * Constructs a new ClientLibrarySettings.
+ * @memberof google.api
+ * @classdesc Represents a ClientLibrarySettings.
+ * @implements IClientLibrarySettings
+ * @constructor
+ * @param {google.api.IClientLibrarySettings=} [properties] Properties to set
+ */
+ function ClientLibrarySettings(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]];
+ }
+
+ /**
+ * ClientLibrarySettings version.
+ * @member {string} version
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.version = "";
+
+ /**
+ * ClientLibrarySettings launchStage.
+ * @member {google.api.LaunchStage} launchStage
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.launchStage = 0;
+
+ /**
+ * ClientLibrarySettings restNumericEnums.
+ * @member {boolean} restNumericEnums
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.restNumericEnums = false;
+
+ /**
+ * ClientLibrarySettings javaSettings.
+ * @member {google.api.IJavaSettings|null|undefined} javaSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.javaSettings = null;
+
+ /**
+ * ClientLibrarySettings cppSettings.
+ * @member {google.api.ICppSettings|null|undefined} cppSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.cppSettings = null;
+
+ /**
+ * ClientLibrarySettings phpSettings.
+ * @member {google.api.IPhpSettings|null|undefined} phpSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.phpSettings = null;
+
+ /**
+ * ClientLibrarySettings pythonSettings.
+ * @member {google.api.IPythonSettings|null|undefined} pythonSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.pythonSettings = null;
+
+ /**
+ * ClientLibrarySettings nodeSettings.
+ * @member {google.api.INodeSettings|null|undefined} nodeSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.nodeSettings = null;
+
+ /**
+ * ClientLibrarySettings dotnetSettings.
+ * @member {google.api.IDotnetSettings|null|undefined} dotnetSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.dotnetSettings = null;
+
+ /**
+ * ClientLibrarySettings rubySettings.
+ * @member {google.api.IRubySettings|null|undefined} rubySettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.rubySettings = null;
+
+ /**
+ * ClientLibrarySettings goSettings.
+ * @member {google.api.IGoSettings|null|undefined} goSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.goSettings = null;
+
+ /**
+ * Creates a new ClientLibrarySettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {google.api.IClientLibrarySettings=} [properties] Properties to set
+ * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings instance
+ */
+ ClientLibrarySettings.create = function create(properties) {
+ return new ClientLibrarySettings(properties);
+ };
+
+ /**
+ * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {google.api.IClientLibrarySettings} message ClientLibrarySettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ClientLibrarySettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.version);
+ if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.launchStage);
+ if (message.restNumericEnums != null && Object.hasOwnProperty.call(message, "restNumericEnums"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.restNumericEnums);
+ if (message.javaSettings != null && Object.hasOwnProperty.call(message, "javaSettings"))
+ $root.google.api.JavaSettings.encode(message.javaSettings, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
+ if (message.cppSettings != null && Object.hasOwnProperty.call(message, "cppSettings"))
+ $root.google.api.CppSettings.encode(message.cppSettings, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
+ if (message.phpSettings != null && Object.hasOwnProperty.call(message, "phpSettings"))
+ $root.google.api.PhpSettings.encode(message.phpSettings, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim();
+ if (message.pythonSettings != null && Object.hasOwnProperty.call(message, "pythonSettings"))
+ $root.google.api.PythonSettings.encode(message.pythonSettings, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim();
+ if (message.nodeSettings != null && Object.hasOwnProperty.call(message, "nodeSettings"))
+ $root.google.api.NodeSettings.encode(message.nodeSettings, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();
+ if (message.dotnetSettings != null && Object.hasOwnProperty.call(message, "dotnetSettings"))
+ $root.google.api.DotnetSettings.encode(message.dotnetSettings, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim();
+ if (message.rubySettings != null && Object.hasOwnProperty.call(message, "rubySettings"))
+ $root.google.api.RubySettings.encode(message.rubySettings, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim();
+ if (message.goSettings != null && Object.hasOwnProperty.call(message, "goSettings"))
+ $root.google.api.GoSettings.encode(message.goSettings, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {google.api.IClientLibrarySettings} message ClientLibrarySettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ClientLibrarySettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ClientLibrarySettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ClientLibrarySettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.version = reader.string();
+ break;
+ }
+ case 2: {
+ message.launchStage = reader.int32();
+ break;
+ }
+ case 3: {
+ message.restNumericEnums = reader.bool();
+ break;
+ }
+ case 21: {
+ message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 22: {
+ message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 23: {
+ message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 24: {
+ message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 25: {
+ message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 26: {
+ message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 27: {
+ message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 28: {
+ message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ClientLibrarySettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ClientLibrarySettings message.
+ * @function verify
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ClientLibrarySettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ if (message.launchStage != null && message.hasOwnProperty("launchStage"))
+ switch (message.launchStage) {
+ default:
+ return "launchStage: enum value expected";
+ case 0:
+ case 6:
+ case 7:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums"))
+ if (typeof message.restNumericEnums !== "boolean")
+ return "restNumericEnums: boolean expected";
+ if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) {
+ var error = $root.google.api.JavaSettings.verify(message.javaSettings);
+ if (error)
+ return "javaSettings." + error;
+ }
+ if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) {
+ var error = $root.google.api.CppSettings.verify(message.cppSettings);
+ if (error)
+ return "cppSettings." + error;
+ }
+ if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) {
+ var error = $root.google.api.PhpSettings.verify(message.phpSettings);
+ if (error)
+ return "phpSettings." + error;
+ }
+ if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) {
+ var error = $root.google.api.PythonSettings.verify(message.pythonSettings);
+ if (error)
+ return "pythonSettings." + error;
+ }
+ if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) {
+ var error = $root.google.api.NodeSettings.verify(message.nodeSettings);
+ if (error)
+ return "nodeSettings." + error;
+ }
+ if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) {
+ var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings);
+ if (error)
+ return "dotnetSettings." + error;
+ }
+ if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) {
+ var error = $root.google.api.RubySettings.verify(message.rubySettings);
+ if (error)
+ return "rubySettings." + error;
+ }
+ if (message.goSettings != null && message.hasOwnProperty("goSettings")) {
+ var error = $root.google.api.GoSettings.verify(message.goSettings);
+ if (error)
+ return "goSettings." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings
+ */
+ ClientLibrarySettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.ClientLibrarySettings)
+ return object;
+ var message = new $root.google.api.ClientLibrarySettings();
+ if (object.version != null)
+ message.version = String(object.version);
+ switch (object.launchStage) {
+ default:
+ if (typeof object.launchStage === "number") {
+ message.launchStage = object.launchStage;
+ break;
+ }
+ break;
+ case "LAUNCH_STAGE_UNSPECIFIED":
+ case 0:
+ message.launchStage = 0;
+ break;
+ case "UNIMPLEMENTED":
+ case 6:
+ message.launchStage = 6;
+ break;
+ case "PRELAUNCH":
+ case 7:
+ message.launchStage = 7;
+ break;
+ case "EARLY_ACCESS":
+ case 1:
+ message.launchStage = 1;
+ break;
+ case "ALPHA":
+ case 2:
+ message.launchStage = 2;
+ break;
+ case "BETA":
+ case 3:
+ message.launchStage = 3;
+ break;
+ case "GA":
+ case 4:
+ message.launchStage = 4;
+ break;
+ case "DEPRECATED":
+ case 5:
+ message.launchStage = 5;
+ break;
+ }
+ if (object.restNumericEnums != null)
+ message.restNumericEnums = Boolean(object.restNumericEnums);
+ if (object.javaSettings != null) {
+ if (typeof object.javaSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected");
+ message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings);
+ }
+ if (object.cppSettings != null) {
+ if (typeof object.cppSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected");
+ message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings);
+ }
+ if (object.phpSettings != null) {
+ if (typeof object.phpSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected");
+ message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings);
+ }
+ if (object.pythonSettings != null) {
+ if (typeof object.pythonSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected");
+ message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings);
+ }
+ if (object.nodeSettings != null) {
+ if (typeof object.nodeSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected");
+ message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings);
+ }
+ if (object.dotnetSettings != null) {
+ if (typeof object.dotnetSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected");
+ message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings);
+ }
+ if (object.rubySettings != null) {
+ if (typeof object.rubySettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected");
+ message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings);
+ }
+ if (object.goSettings != null) {
+ if (typeof object.goSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected");
+ message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {google.api.ClientLibrarySettings} message ClientLibrarySettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ClientLibrarySettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.version = "";
+ object.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0;
+ object.restNumericEnums = false;
+ object.javaSettings = null;
+ object.cppSettings = null;
+ object.phpSettings = null;
+ object.pythonSettings = null;
+ object.nodeSettings = null;
+ object.dotnetSettings = null;
+ object.rubySettings = null;
+ object.goSettings = null;
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ if (message.launchStage != null && message.hasOwnProperty("launchStage"))
+ object.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === undefined ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage;
+ if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums"))
+ object.restNumericEnums = message.restNumericEnums;
+ if (message.javaSettings != null && message.hasOwnProperty("javaSettings"))
+ object.javaSettings = $root.google.api.JavaSettings.toObject(message.javaSettings, options);
+ if (message.cppSettings != null && message.hasOwnProperty("cppSettings"))
+ object.cppSettings = $root.google.api.CppSettings.toObject(message.cppSettings, options);
+ if (message.phpSettings != null && message.hasOwnProperty("phpSettings"))
+ object.phpSettings = $root.google.api.PhpSettings.toObject(message.phpSettings, options);
+ if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings"))
+ object.pythonSettings = $root.google.api.PythonSettings.toObject(message.pythonSettings, options);
+ if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings"))
+ object.nodeSettings = $root.google.api.NodeSettings.toObject(message.nodeSettings, options);
+ if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings"))
+ object.dotnetSettings = $root.google.api.DotnetSettings.toObject(message.dotnetSettings, options);
+ if (message.rubySettings != null && message.hasOwnProperty("rubySettings"))
+ object.rubySettings = $root.google.api.RubySettings.toObject(message.rubySettings, options);
+ if (message.goSettings != null && message.hasOwnProperty("goSettings"))
+ object.goSettings = $root.google.api.GoSettings.toObject(message.goSettings, options);
+ return object;
+ };
+
+ /**
+ * Converts this ClientLibrarySettings to JSON.
+ * @function toJSON
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ClientLibrarySettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ClientLibrarySettings
+ * @function getTypeUrl
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ClientLibrarySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.ClientLibrarySettings";
+ };
+
+ return ClientLibrarySettings;
+ })();
+
+ api.Publishing = (function() {
+
+ /**
+ * Properties of a Publishing.
+ * @memberof google.api
+ * @interface IPublishing
+ * @property {Array.|null} [methodSettings] Publishing methodSettings
+ * @property {string|null} [newIssueUri] Publishing newIssueUri
+ * @property {string|null} [documentationUri] Publishing documentationUri
+ * @property {string|null} [apiShortName] Publishing apiShortName
+ * @property {string|null} [githubLabel] Publishing githubLabel
+ * @property {Array.|null} [codeownerGithubTeams] Publishing codeownerGithubTeams
+ * @property {string|null} [docTagPrefix] Publishing docTagPrefix
+ * @property {google.api.ClientLibraryOrganization|null} [organization] Publishing organization
+ * @property {Array.|null} [librarySettings] Publishing librarySettings
+ * @property {string|null} [protoReferenceDocumentationUri] Publishing protoReferenceDocumentationUri
+ * @property {string|null} [restReferenceDocumentationUri] Publishing restReferenceDocumentationUri
+ */
+
+ /**
+ * Constructs a new Publishing.
+ * @memberof google.api
+ * @classdesc Represents a Publishing.
+ * @implements IPublishing
+ * @constructor
+ * @param {google.api.IPublishing=} [properties] Properties to set
+ */
+ function Publishing(properties) {
+ this.methodSettings = [];
+ this.codeownerGithubTeams = [];
+ this.librarySettings = [];
+ 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]];
+ }
+
+ /**
+ * Publishing methodSettings.
+ * @member {Array.} methodSettings
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.methodSettings = $util.emptyArray;
+
+ /**
+ * Publishing newIssueUri.
+ * @member {string} newIssueUri
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.newIssueUri = "";
+
+ /**
+ * Publishing documentationUri.
+ * @member {string} documentationUri
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.documentationUri = "";
+
+ /**
+ * Publishing apiShortName.
+ * @member {string} apiShortName
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.apiShortName = "";
+
+ /**
+ * Publishing githubLabel.
+ * @member {string} githubLabel
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.githubLabel = "";
+
+ /**
+ * Publishing codeownerGithubTeams.
+ * @member {Array.} codeownerGithubTeams
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.codeownerGithubTeams = $util.emptyArray;
+
+ /**
+ * Publishing docTagPrefix.
+ * @member {string} docTagPrefix
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.docTagPrefix = "";
+
+ /**
+ * Publishing organization.
+ * @member {google.api.ClientLibraryOrganization} organization
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.organization = 0;
+
+ /**
+ * Publishing librarySettings.
+ * @member {Array.} librarySettings
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.librarySettings = $util.emptyArray;
+
+ /**
+ * Publishing protoReferenceDocumentationUri.
+ * @member {string} protoReferenceDocumentationUri
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.protoReferenceDocumentationUri = "";
+
+ /**
+ * Publishing restReferenceDocumentationUri.
+ * @member {string} restReferenceDocumentationUri
+ * @memberof google.api.Publishing
+ * @instance
+ */
+ Publishing.prototype.restReferenceDocumentationUri = "";
+
+ /**
+ * Creates a new Publishing instance using the specified properties.
+ * @function create
+ * @memberof google.api.Publishing
+ * @static
+ * @param {google.api.IPublishing=} [properties] Properties to set
+ * @returns {google.api.Publishing} Publishing instance
+ */
+ Publishing.create = function create(properties) {
+ return new Publishing(properties);
+ };
+
+ /**
+ * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.Publishing
+ * @static
+ * @param {google.api.IPublishing} message Publishing message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Publishing.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.methodSettings != null && message.methodSettings.length)
+ for (var i = 0; i < message.methodSettings.length; ++i)
+ $root.google.api.MethodSettings.encode(message.methodSettings[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.newIssueUri != null && Object.hasOwnProperty.call(message, "newIssueUri"))
+ writer.uint32(/* id 101, wireType 2 =*/810).string(message.newIssueUri);
+ if (message.documentationUri != null && Object.hasOwnProperty.call(message, "documentationUri"))
+ writer.uint32(/* id 102, wireType 2 =*/818).string(message.documentationUri);
+ if (message.apiShortName != null && Object.hasOwnProperty.call(message, "apiShortName"))
+ writer.uint32(/* id 103, wireType 2 =*/826).string(message.apiShortName);
+ if (message.githubLabel != null && Object.hasOwnProperty.call(message, "githubLabel"))
+ writer.uint32(/* id 104, wireType 2 =*/834).string(message.githubLabel);
+ if (message.codeownerGithubTeams != null && message.codeownerGithubTeams.length)
+ for (var i = 0; i < message.codeownerGithubTeams.length; ++i)
+ writer.uint32(/* id 105, wireType 2 =*/842).string(message.codeownerGithubTeams[i]);
+ if (message.docTagPrefix != null && Object.hasOwnProperty.call(message, "docTagPrefix"))
+ writer.uint32(/* id 106, wireType 2 =*/850).string(message.docTagPrefix);
+ if (message.organization != null && Object.hasOwnProperty.call(message, "organization"))
+ writer.uint32(/* id 107, wireType 0 =*/856).int32(message.organization);
+ if (message.librarySettings != null && message.librarySettings.length)
+ for (var i = 0; i < message.librarySettings.length; ++i)
+ $root.google.api.ClientLibrarySettings.encode(message.librarySettings[i], writer.uint32(/* id 109, wireType 2 =*/874).fork()).ldelim();
+ if (message.protoReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "protoReferenceDocumentationUri"))
+ writer.uint32(/* id 110, wireType 2 =*/882).string(message.protoReferenceDocumentationUri);
+ if (message.restReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "restReferenceDocumentationUri"))
+ writer.uint32(/* id 111, wireType 2 =*/890).string(message.restReferenceDocumentationUri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.Publishing
+ * @static
+ * @param {google.api.IPublishing} message Publishing message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Publishing.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Publishing message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.Publishing
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.Publishing} Publishing
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Publishing.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 2: {
+ if (!(message.methodSettings && message.methodSettings.length))
+ message.methodSettings = [];
+ message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32()));
+ break;
+ }
+ case 101: {
+ message.newIssueUri = reader.string();
+ break;
+ }
+ case 102: {
+ message.documentationUri = reader.string();
+ break;
+ }
+ case 103: {
+ message.apiShortName = reader.string();
+ break;
+ }
+ case 104: {
+ message.githubLabel = reader.string();
+ break;
+ }
+ case 105: {
+ if (!(message.codeownerGithubTeams && message.codeownerGithubTeams.length))
+ message.codeownerGithubTeams = [];
+ message.codeownerGithubTeams.push(reader.string());
+ break;
+ }
+ case 106: {
+ message.docTagPrefix = reader.string();
+ break;
+ }
+ case 107: {
+ message.organization = reader.int32();
+ break;
+ }
+ case 109: {
+ if (!(message.librarySettings && message.librarySettings.length))
+ message.librarySettings = [];
+ message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32()));
+ break;
+ }
+ case 110: {
+ message.protoReferenceDocumentationUri = reader.string();
+ break;
+ }
+ case 111: {
+ message.restReferenceDocumentationUri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Publishing message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.Publishing
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.Publishing} Publishing
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Publishing.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Publishing message.
+ * @function verify
+ * @memberof google.api.Publishing
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Publishing.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) {
+ if (!Array.isArray(message.methodSettings))
+ return "methodSettings: array expected";
+ for (var i = 0; i < message.methodSettings.length; ++i) {
+ var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]);
+ if (error)
+ return "methodSettings." + error;
+ }
+ }
+ if (message.newIssueUri != null && message.hasOwnProperty("newIssueUri"))
+ if (!$util.isString(message.newIssueUri))
+ return "newIssueUri: string expected";
+ if (message.documentationUri != null && message.hasOwnProperty("documentationUri"))
+ if (!$util.isString(message.documentationUri))
+ return "documentationUri: string expected";
+ if (message.apiShortName != null && message.hasOwnProperty("apiShortName"))
+ if (!$util.isString(message.apiShortName))
+ return "apiShortName: string expected";
+ if (message.githubLabel != null && message.hasOwnProperty("githubLabel"))
+ if (!$util.isString(message.githubLabel))
+ return "githubLabel: string expected";
+ if (message.codeownerGithubTeams != null && message.hasOwnProperty("codeownerGithubTeams")) {
+ if (!Array.isArray(message.codeownerGithubTeams))
+ return "codeownerGithubTeams: array expected";
+ for (var i = 0; i < message.codeownerGithubTeams.length; ++i)
+ if (!$util.isString(message.codeownerGithubTeams[i]))
+ return "codeownerGithubTeams: string[] expected";
+ }
+ if (message.docTagPrefix != null && message.hasOwnProperty("docTagPrefix"))
+ if (!$util.isString(message.docTagPrefix))
+ return "docTagPrefix: string expected";
+ if (message.organization != null && message.hasOwnProperty("organization"))
+ switch (message.organization) {
+ default:
+ return "organization: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.librarySettings != null && message.hasOwnProperty("librarySettings")) {
+ if (!Array.isArray(message.librarySettings))
+ return "librarySettings: array expected";
+ for (var i = 0; i < message.librarySettings.length; ++i) {
+ var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]);
+ if (error)
+ return "librarySettings." + error;
+ }
+ }
+ if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri"))
+ if (!$util.isString(message.protoReferenceDocumentationUri))
+ return "protoReferenceDocumentationUri: string expected";
+ if (message.restReferenceDocumentationUri != null && message.hasOwnProperty("restReferenceDocumentationUri"))
+ if (!$util.isString(message.restReferenceDocumentationUri))
+ return "restReferenceDocumentationUri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Publishing message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.Publishing
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.Publishing} Publishing
+ */
+ Publishing.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.Publishing)
+ return object;
+ var message = new $root.google.api.Publishing();
+ if (object.methodSettings) {
+ if (!Array.isArray(object.methodSettings))
+ throw TypeError(".google.api.Publishing.methodSettings: array expected");
+ message.methodSettings = [];
+ for (var i = 0; i < object.methodSettings.length; ++i) {
+ if (typeof object.methodSettings[i] !== "object")
+ throw TypeError(".google.api.Publishing.methodSettings: object expected");
+ message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]);
+ }
+ }
+ if (object.newIssueUri != null)
+ message.newIssueUri = String(object.newIssueUri);
+ if (object.documentationUri != null)
+ message.documentationUri = String(object.documentationUri);
+ if (object.apiShortName != null)
+ message.apiShortName = String(object.apiShortName);
+ if (object.githubLabel != null)
+ message.githubLabel = String(object.githubLabel);
+ if (object.codeownerGithubTeams) {
+ if (!Array.isArray(object.codeownerGithubTeams))
+ throw TypeError(".google.api.Publishing.codeownerGithubTeams: array expected");
+ message.codeownerGithubTeams = [];
+ for (var i = 0; i < object.codeownerGithubTeams.length; ++i)
+ message.codeownerGithubTeams[i] = String(object.codeownerGithubTeams[i]);
+ }
+ if (object.docTagPrefix != null)
+ message.docTagPrefix = String(object.docTagPrefix);
+ switch (object.organization) {
+ default:
+ if (typeof object.organization === "number") {
+ message.organization = object.organization;
+ break;
+ }
+ break;
+ case "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":
+ case 0:
+ message.organization = 0;
+ break;
+ case "CLOUD":
+ case 1:
+ message.organization = 1;
+ break;
+ case "ADS":
+ case 2:
+ message.organization = 2;
+ break;
+ case "PHOTOS":
+ case 3:
+ message.organization = 3;
+ break;
+ case "STREET_VIEW":
+ case 4:
+ message.organization = 4;
+ break;
+ case "SHOPPING":
+ case 5:
+ message.organization = 5;
+ break;
+ case "GEO":
+ case 6:
+ message.organization = 6;
+ break;
+ case "GENERATIVE_AI":
+ case 7:
+ message.organization = 7;
+ break;
+ }
+ if (object.librarySettings) {
+ if (!Array.isArray(object.librarySettings))
+ throw TypeError(".google.api.Publishing.librarySettings: array expected");
+ message.librarySettings = [];
+ for (var i = 0; i < object.librarySettings.length; ++i) {
+ if (typeof object.librarySettings[i] !== "object")
+ throw TypeError(".google.api.Publishing.librarySettings: object expected");
+ message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]);
+ }
+ }
+ if (object.protoReferenceDocumentationUri != null)
+ message.protoReferenceDocumentationUri = String(object.protoReferenceDocumentationUri);
+ if (object.restReferenceDocumentationUri != null)
+ message.restReferenceDocumentationUri = String(object.restReferenceDocumentationUri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Publishing message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.Publishing
+ * @static
+ * @param {google.api.Publishing} message Publishing
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Publishing.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.methodSettings = [];
+ object.codeownerGithubTeams = [];
+ object.librarySettings = [];
+ }
+ if (options.defaults) {
+ object.newIssueUri = "";
+ object.documentationUri = "";
+ object.apiShortName = "";
+ object.githubLabel = "";
+ object.docTagPrefix = "";
+ object.organization = options.enums === String ? "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED" : 0;
+ object.protoReferenceDocumentationUri = "";
+ object.restReferenceDocumentationUri = "";
+ }
+ if (message.methodSettings && message.methodSettings.length) {
+ object.methodSettings = [];
+ for (var j = 0; j < message.methodSettings.length; ++j)
+ object.methodSettings[j] = $root.google.api.MethodSettings.toObject(message.methodSettings[j], options);
+ }
+ if (message.newIssueUri != null && message.hasOwnProperty("newIssueUri"))
+ object.newIssueUri = message.newIssueUri;
+ if (message.documentationUri != null && message.hasOwnProperty("documentationUri"))
+ object.documentationUri = message.documentationUri;
+ if (message.apiShortName != null && message.hasOwnProperty("apiShortName"))
+ object.apiShortName = message.apiShortName;
+ if (message.githubLabel != null && message.hasOwnProperty("githubLabel"))
+ object.githubLabel = message.githubLabel;
+ if (message.codeownerGithubTeams && message.codeownerGithubTeams.length) {
+ object.codeownerGithubTeams = [];
+ for (var j = 0; j < message.codeownerGithubTeams.length; ++j)
+ object.codeownerGithubTeams[j] = message.codeownerGithubTeams[j];
+ }
+ if (message.docTagPrefix != null && message.hasOwnProperty("docTagPrefix"))
+ object.docTagPrefix = message.docTagPrefix;
+ if (message.organization != null && message.hasOwnProperty("organization"))
+ object.organization = options.enums === String ? $root.google.api.ClientLibraryOrganization[message.organization] === undefined ? message.organization : $root.google.api.ClientLibraryOrganization[message.organization] : message.organization;
+ if (message.librarySettings && message.librarySettings.length) {
+ object.librarySettings = [];
+ for (var j = 0; j < message.librarySettings.length; ++j)
+ object.librarySettings[j] = $root.google.api.ClientLibrarySettings.toObject(message.librarySettings[j], options);
+ }
+ if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri"))
+ object.protoReferenceDocumentationUri = message.protoReferenceDocumentationUri;
+ if (message.restReferenceDocumentationUri != null && message.hasOwnProperty("restReferenceDocumentationUri"))
+ object.restReferenceDocumentationUri = message.restReferenceDocumentationUri;
+ return object;
+ };
+
+ /**
+ * Converts this Publishing to JSON.
+ * @function toJSON
+ * @memberof google.api.Publishing
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Publishing.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Publishing
+ * @function getTypeUrl
+ * @memberof google.api.Publishing
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Publishing.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.Publishing";
+ };
+
+ return Publishing;
+ })();
+
+ api.JavaSettings = (function() {
+
+ /**
+ * Properties of a JavaSettings.
+ * @memberof google.api
+ * @interface IJavaSettings
+ * @property {string|null} [libraryPackage] JavaSettings libraryPackage
+ * @property {Object.|null} [serviceClassNames] JavaSettings serviceClassNames
+ * @property {google.api.ICommonLanguageSettings|null} [common] JavaSettings common
+ */
+
+ /**
+ * Constructs a new JavaSettings.
+ * @memberof google.api
+ * @classdesc Represents a JavaSettings.
+ * @implements IJavaSettings
+ * @constructor
+ * @param {google.api.IJavaSettings=} [properties] Properties to set
+ */
+ function JavaSettings(properties) {
+ this.serviceClassNames = {};
+ 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]];
+ }
+
+ /**
+ * JavaSettings libraryPackage.
+ * @member {string} libraryPackage
+ * @memberof google.api.JavaSettings
+ * @instance
+ */
+ JavaSettings.prototype.libraryPackage = "";
+
+ /**
+ * JavaSettings serviceClassNames.
+ * @member {Object.} serviceClassNames
+ * @memberof google.api.JavaSettings
+ * @instance
+ */
+ JavaSettings.prototype.serviceClassNames = $util.emptyObject;
+
+ /**
+ * JavaSettings common.
+ * @member {google.api.ICommonLanguageSettings|null|undefined} common
+ * @memberof google.api.JavaSettings
+ * @instance
+ */
+ JavaSettings.prototype.common = null;
+
+ /**
+ * Creates a new JavaSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {google.api.IJavaSettings=} [properties] Properties to set
+ * @returns {google.api.JavaSettings} JavaSettings instance
+ */
+ JavaSettings.create = function create(properties) {
+ return new JavaSettings(properties);
+ };
+
+ /**
+ * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {google.api.IJavaSettings} message JavaSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ JavaSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.libraryPackage != null && Object.hasOwnProperty.call(message, "libraryPackage"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.libraryPackage);
+ if (message.serviceClassNames != null && Object.hasOwnProperty.call(message, "serviceClassNames"))
+ for (var keys = Object.keys(message.serviceClassNames), 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.serviceClassNames[keys[i]]).ldelim();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {google.api.IJavaSettings} message JavaSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ JavaSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a JavaSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.JavaSettings} JavaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ JavaSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.libraryPackage = reader.string();
+ break;
+ }
+ case 2: {
+ if (message.serviceClassNames === $util.emptyObject)
+ message.serviceClassNames = {};
+ 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.serviceClassNames[key] = value;
+ break;
+ }
+ case 3: {
+ message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a JavaSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.JavaSettings} JavaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ JavaSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a JavaSettings message.
+ * @function verify
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ JavaSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage"))
+ if (!$util.isString(message.libraryPackage))
+ return "libraryPackage: string expected";
+ if (message.serviceClassNames != null && message.hasOwnProperty("serviceClassNames")) {
+ if (!$util.isObject(message.serviceClassNames))
+ return "serviceClassNames: object expected";
+ var key = Object.keys(message.serviceClassNames);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.serviceClassNames[key[i]]))
+ return "serviceClassNames: string{k:string} expected";
+ }
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.JavaSettings} JavaSettings
+ */
+ JavaSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.JavaSettings)
+ return object;
+ var message = new $root.google.api.JavaSettings();
+ if (object.libraryPackage != null)
+ message.libraryPackage = String(object.libraryPackage);
+ if (object.serviceClassNames) {
+ if (typeof object.serviceClassNames !== "object")
+ throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected");
+ message.serviceClassNames = {};
+ for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i)
+ message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]);
+ }
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.api.JavaSettings.common: object expected");
+ message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a JavaSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {google.api.JavaSettings} message JavaSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ JavaSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.serviceClassNames = {};
+ if (options.defaults) {
+ object.libraryPackage = "";
+ object.common = null;
+ }
+ if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage"))
+ object.libraryPackage = message.libraryPackage;
+ var keys2;
+ if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) {
+ object.serviceClassNames = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]];
+ }
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+ return object;
+ };
+
+ /**
+ * Converts this JavaSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.JavaSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ JavaSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for JavaSettings
+ * @function getTypeUrl
+ * @memberof google.api.JavaSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ JavaSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.JavaSettings";
+ };
+
+ return JavaSettings;
+ })();
+
+ api.CppSettings = (function() {
+
+ /**
+ * Properties of a CppSettings.
+ * @memberof google.api
+ * @interface ICppSettings
+ * @property {google.api.ICommonLanguageSettings|null} [common] CppSettings common
+ */
+
+ /**
+ * Constructs a new CppSettings.
+ * @memberof google.api
+ * @classdesc Represents a CppSettings.
+ * @implements ICppSettings
+ * @constructor
+ * @param {google.api.ICppSettings=} [properties] Properties to set
+ */
+ function CppSettings(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]];
+ }
+
+ /**
+ * CppSettings common.
+ * @member {google.api.ICommonLanguageSettings|null|undefined} common
+ * @memberof google.api.CppSettings
+ * @instance
+ */
+ CppSettings.prototype.common = null;
+
+ /**
+ * Creates a new CppSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {google.api.ICppSettings=} [properties] Properties to set
+ * @returns {google.api.CppSettings} CppSettings instance
+ */
+ CppSettings.create = function create(properties) {
+ return new CppSettings(properties);
+ };
+
+ /**
+ * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {google.api.ICppSettings} message CppSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CppSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {google.api.ICppSettings} message CppSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CppSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CppSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.CppSettings} CppSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CppSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CppSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.CppSettings} CppSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CppSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CppSettings message.
+ * @function verify
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CppSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CppSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.CppSettings} CppSettings
+ */
+ CppSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.CppSettings)
+ return object;
+ var message = new $root.google.api.CppSettings();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.api.CppSettings.common: object expected");
+ message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CppSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {google.api.CppSettings} message CppSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CppSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.common = null;
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+ return object;
+ };
+
+ /**
+ * Converts this CppSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.CppSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CppSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CppSettings
+ * @function getTypeUrl
+ * @memberof google.api.CppSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CppSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.CppSettings";
+ };
+
+ return CppSettings;
+ })();
+
+ api.PhpSettings = (function() {
+
+ /**
+ * Properties of a PhpSettings.
+ * @memberof google.api
+ * @interface IPhpSettings
+ * @property {google.api.ICommonLanguageSettings|null} [common] PhpSettings common
+ */
+
+ /**
+ * Constructs a new PhpSettings.
+ * @memberof google.api
+ * @classdesc Represents a PhpSettings.
+ * @implements IPhpSettings
+ * @constructor
+ * @param {google.api.IPhpSettings=} [properties] Properties to set
+ */
+ function PhpSettings(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]];
+ }
+
+ /**
+ * PhpSettings common.
+ * @member {google.api.ICommonLanguageSettings|null|undefined} common
+ * @memberof google.api.PhpSettings
+ * @instance
+ */
+ PhpSettings.prototype.common = null;
+
+ /**
+ * Creates a new PhpSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {google.api.IPhpSettings=} [properties] Properties to set
+ * @returns {google.api.PhpSettings} PhpSettings instance
+ */
+ PhpSettings.create = function create(properties) {
+ return new PhpSettings(properties);
+ };
+
+ /**
+ * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {google.api.IPhpSettings} message PhpSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PhpSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {google.api.IPhpSettings} message PhpSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PhpSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PhpSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.PhpSettings} PhpSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PhpSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PhpSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.PhpSettings} PhpSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PhpSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PhpSettings message.
+ * @function verify
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PhpSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.PhpSettings} PhpSettings
+ */
+ PhpSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.PhpSettings)
+ return object;
+ var message = new $root.google.api.PhpSettings();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.api.PhpSettings.common: object expected");
+ message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PhpSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {google.api.PhpSettings} message PhpSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PhpSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.common = null;
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+ return object;
+ };
+
+ /**
+ * Converts this PhpSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.PhpSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PhpSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PhpSettings
+ * @function getTypeUrl
+ * @memberof google.api.PhpSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PhpSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.PhpSettings";
+ };
+
+ return PhpSettings;
+ })();
+
+ api.PythonSettings = (function() {
+
+ /**
+ * Properties of a PythonSettings.
+ * @memberof google.api
+ * @interface IPythonSettings
+ * @property {google.api.ICommonLanguageSettings|null} [common] PythonSettings common
+ */
+
+ /**
+ * Constructs a new PythonSettings.
+ * @memberof google.api
+ * @classdesc Represents a PythonSettings.
+ * @implements IPythonSettings
+ * @constructor
+ * @param {google.api.IPythonSettings=} [properties] Properties to set
+ */
+ function PythonSettings(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]];
+ }
+
+ /**
+ * PythonSettings common.
+ * @member {google.api.ICommonLanguageSettings|null|undefined} common
+ * @memberof google.api.PythonSettings
+ * @instance
+ */
+ PythonSettings.prototype.common = null;
+
+ /**
+ * Creates a new PythonSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {google.api.IPythonSettings=} [properties] Properties to set
+ * @returns {google.api.PythonSettings} PythonSettings instance
+ */
+ PythonSettings.create = function create(properties) {
+ return new PythonSettings(properties);
+ };
+
+ /**
+ * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {google.api.IPythonSettings} message PythonSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PythonSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {google.api.IPythonSettings} message PythonSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PythonSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PythonSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.PythonSettings} PythonSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PythonSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PythonSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.PythonSettings} PythonSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PythonSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PythonSettings message.
+ * @function verify
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PythonSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.PythonSettings} PythonSettings
+ */
+ PythonSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.PythonSettings)
+ return object;
+ var message = new $root.google.api.PythonSettings();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.api.PythonSettings.common: object expected");
+ message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PythonSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {google.api.PythonSettings} message PythonSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PythonSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.common = null;
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+ return object;
+ };
+
+ /**
+ * Converts this PythonSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.PythonSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PythonSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PythonSettings
+ * @function getTypeUrl
+ * @memberof google.api.PythonSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PythonSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.PythonSettings";
+ };
+
+ return PythonSettings;
+ })();
+
+ api.NodeSettings = (function() {
+
+ /**
+ * Properties of a NodeSettings.
+ * @memberof google.api
+ * @interface INodeSettings
+ * @property {google.api.ICommonLanguageSettings|null} [common] NodeSettings common
+ */
+
+ /**
+ * Constructs a new NodeSettings.
+ * @memberof google.api
+ * @classdesc Represents a NodeSettings.
+ * @implements INodeSettings
+ * @constructor
+ * @param {google.api.INodeSettings=} [properties] Properties to set
+ */
+ function NodeSettings(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]];
+ }
+
+ /**
+ * NodeSettings common.
+ * @member {google.api.ICommonLanguageSettings|null|undefined} common
+ * @memberof google.api.NodeSettings
+ * @instance
+ */
+ NodeSettings.prototype.common = null;
+
+ /**
+ * Creates a new NodeSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {google.api.INodeSettings=} [properties] Properties to set
+ * @returns {google.api.NodeSettings} NodeSettings instance
+ */
+ NodeSettings.create = function create(properties) {
+ return new NodeSettings(properties);
+ };
+
+ /**
+ * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {google.api.INodeSettings} message NodeSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NodeSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {google.api.INodeSettings} message NodeSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NodeSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NodeSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.NodeSettings} NodeSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NodeSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NodeSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.NodeSettings} NodeSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NodeSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NodeSettings message.
+ * @function verify
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NodeSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.NodeSettings} NodeSettings
+ */
+ NodeSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.NodeSettings)
+ return object;
+ var message = new $root.google.api.NodeSettings();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.api.NodeSettings.common: object expected");
+ message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NodeSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {google.api.NodeSettings} message NodeSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NodeSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.common = null;
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+ return object;
+ };
+
+ /**
+ * Converts this NodeSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.NodeSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NodeSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NodeSettings
+ * @function getTypeUrl
+ * @memberof google.api.NodeSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NodeSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.NodeSettings";
+ };
+
+ return NodeSettings;
+ })();
+
+ api.DotnetSettings = (function() {
+
+ /**
+ * Properties of a DotnetSettings.
+ * @memberof google.api
+ * @interface IDotnetSettings
+ * @property {google.api.ICommonLanguageSettings|null} [common] DotnetSettings common
+ * @property {Object.|null} [renamedServices] DotnetSettings renamedServices
+ * @property {Object.|null} [renamedResources] DotnetSettings renamedResources
+ * @property {Array.|null} [ignoredResources] DotnetSettings ignoredResources
+ * @property {Array.|null} [forcedNamespaceAliases] DotnetSettings forcedNamespaceAliases
+ * @property {Array.|null} [handwrittenSignatures] DotnetSettings handwrittenSignatures
+ */
+
+ /**
+ * Constructs a new DotnetSettings.
+ * @memberof google.api
+ * @classdesc Represents a DotnetSettings.
+ * @implements IDotnetSettings
+ * @constructor
+ * @param {google.api.IDotnetSettings=} [properties] Properties to set
+ */
+ function DotnetSettings(properties) {
+ this.renamedServices = {};
+ this.renamedResources = {};
+ this.ignoredResources = [];
+ this.forcedNamespaceAliases = [];
+ this.handwrittenSignatures = [];
+ 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]];
+ }
+
+ /**
+ * DotnetSettings common.
+ * @member {google.api.ICommonLanguageSettings|null|undefined} common
+ * @memberof google.api.DotnetSettings
+ * @instance
+ */
+ DotnetSettings.prototype.common = null;
+
+ /**
+ * DotnetSettings renamedServices.
+ * @member {Object.} renamedServices
+ * @memberof google.api.DotnetSettings
+ * @instance
+ */
+ DotnetSettings.prototype.renamedServices = $util.emptyObject;
+
+ /**
+ * DotnetSettings renamedResources.
+ * @member {Object.} renamedResources
+ * @memberof google.api.DotnetSettings
+ * @instance
+ */
+ DotnetSettings.prototype.renamedResources = $util.emptyObject;
+
+ /**
+ * DotnetSettings ignoredResources.
+ * @member {Array.} ignoredResources
+ * @memberof google.api.DotnetSettings
+ * @instance
+ */
+ DotnetSettings.prototype.ignoredResources = $util.emptyArray;
+
+ /**
+ * DotnetSettings forcedNamespaceAliases.
+ * @member {Array.} forcedNamespaceAliases
+ * @memberof google.api.DotnetSettings
+ * @instance
+ */
+ DotnetSettings.prototype.forcedNamespaceAliases = $util.emptyArray;
+
+ /**
+ * DotnetSettings handwrittenSignatures.
+ * @member {Array.} handwrittenSignatures
+ * @memberof google.api.DotnetSettings
+ * @instance
+ */
+ DotnetSettings.prototype.handwrittenSignatures = $util.emptyArray;
+
+ /**
+ * Creates a new DotnetSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {google.api.IDotnetSettings=} [properties] Properties to set
+ * @returns {google.api.DotnetSettings} DotnetSettings instance
+ */
+ DotnetSettings.create = function create(properties) {
+ return new DotnetSettings(properties);
+ };
+
+ /**
+ * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {google.api.IDotnetSettings} message DotnetSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DotnetSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices"))
+ for (var keys = Object.keys(message.renamedServices), 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.renamedServices[keys[i]]).ldelim();
+ if (message.renamedResources != null && Object.hasOwnProperty.call(message, "renamedResources"))
+ for (var keys = Object.keys(message.renamedResources), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.renamedResources[keys[i]]).ldelim();
+ if (message.ignoredResources != null && message.ignoredResources.length)
+ for (var i = 0; i < message.ignoredResources.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.ignoredResources[i]);
+ if (message.forcedNamespaceAliases != null && message.forcedNamespaceAliases.length)
+ for (var i = 0; i < message.forcedNamespaceAliases.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.forcedNamespaceAliases[i]);
+ if (message.handwrittenSignatures != null && message.handwrittenSignatures.length)
+ for (var i = 0; i < message.handwrittenSignatures.length; ++i)
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.handwrittenSignatures[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {google.api.IDotnetSettings} message DotnetSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DotnetSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DotnetSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.DotnetSettings} DotnetSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DotnetSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (message.renamedServices === $util.emptyObject)
+ message.renamedServices = {};
+ 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.renamedServices[key] = value;
+ break;
+ }
+ case 3: {
+ if (message.renamedResources === $util.emptyObject)
+ message.renamedResources = {};
+ 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.renamedResources[key] = value;
+ break;
+ }
+ case 4: {
+ if (!(message.ignoredResources && message.ignoredResources.length))
+ message.ignoredResources = [];
+ message.ignoredResources.push(reader.string());
+ break;
+ }
+ case 5: {
+ if (!(message.forcedNamespaceAliases && message.forcedNamespaceAliases.length))
+ message.forcedNamespaceAliases = [];
+ message.forcedNamespaceAliases.push(reader.string());
+ break;
+ }
+ case 6: {
+ if (!(message.handwrittenSignatures && message.handwrittenSignatures.length))
+ message.handwrittenSignatures = [];
+ message.handwrittenSignatures.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DotnetSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.DotnetSettings} DotnetSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DotnetSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DotnetSettings message.
+ * @function verify
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DotnetSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) {
+ if (!$util.isObject(message.renamedServices))
+ return "renamedServices: object expected";
+ var key = Object.keys(message.renamedServices);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.renamedServices[key[i]]))
+ return "renamedServices: string{k:string} expected";
+ }
+ if (message.renamedResources != null && message.hasOwnProperty("renamedResources")) {
+ if (!$util.isObject(message.renamedResources))
+ return "renamedResources: object expected";
+ var key = Object.keys(message.renamedResources);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.renamedResources[key[i]]))
+ return "renamedResources: string{k:string} expected";
+ }
+ if (message.ignoredResources != null && message.hasOwnProperty("ignoredResources")) {
+ if (!Array.isArray(message.ignoredResources))
+ return "ignoredResources: array expected";
+ for (var i = 0; i < message.ignoredResources.length; ++i)
+ if (!$util.isString(message.ignoredResources[i]))
+ return "ignoredResources: string[] expected";
+ }
+ if (message.forcedNamespaceAliases != null && message.hasOwnProperty("forcedNamespaceAliases")) {
+ if (!Array.isArray(message.forcedNamespaceAliases))
+ return "forcedNamespaceAliases: array expected";
+ for (var i = 0; i < message.forcedNamespaceAliases.length; ++i)
+ if (!$util.isString(message.forcedNamespaceAliases[i]))
+ return "forcedNamespaceAliases: string[] expected";
+ }
+ if (message.handwrittenSignatures != null && message.hasOwnProperty("handwrittenSignatures")) {
+ if (!Array.isArray(message.handwrittenSignatures))
+ return "handwrittenSignatures: array expected";
+ for (var i = 0; i < message.handwrittenSignatures.length; ++i)
+ if (!$util.isString(message.handwrittenSignatures[i]))
+ return "handwrittenSignatures: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.DotnetSettings} DotnetSettings
+ */
+ DotnetSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.DotnetSettings)
+ return object;
+ var message = new $root.google.api.DotnetSettings();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.api.DotnetSettings.common: object expected");
+ message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+ }
+ if (object.renamedServices) {
+ if (typeof object.renamedServices !== "object")
+ throw TypeError(".google.api.DotnetSettings.renamedServices: object expected");
+ message.renamedServices = {};
+ for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i)
+ message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]);
+ }
+ if (object.renamedResources) {
+ if (typeof object.renamedResources !== "object")
+ throw TypeError(".google.api.DotnetSettings.renamedResources: object expected");
+ message.renamedResources = {};
+ for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i)
+ message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]);
+ }
+ if (object.ignoredResources) {
+ if (!Array.isArray(object.ignoredResources))
+ throw TypeError(".google.api.DotnetSettings.ignoredResources: array expected");
+ message.ignoredResources = [];
+ for (var i = 0; i < object.ignoredResources.length; ++i)
+ message.ignoredResources[i] = String(object.ignoredResources[i]);
+ }
+ if (object.forcedNamespaceAliases) {
+ if (!Array.isArray(object.forcedNamespaceAliases))
+ throw TypeError(".google.api.DotnetSettings.forcedNamespaceAliases: array expected");
+ message.forcedNamespaceAliases = [];
+ for (var i = 0; i < object.forcedNamespaceAliases.length; ++i)
+ message.forcedNamespaceAliases[i] = String(object.forcedNamespaceAliases[i]);
+ }
+ if (object.handwrittenSignatures) {
+ if (!Array.isArray(object.handwrittenSignatures))
+ throw TypeError(".google.api.DotnetSettings.handwrittenSignatures: array expected");
+ message.handwrittenSignatures = [];
+ for (var i = 0; i < object.handwrittenSignatures.length; ++i)
+ message.handwrittenSignatures[i] = String(object.handwrittenSignatures[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {google.api.DotnetSettings} message DotnetSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DotnetSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.ignoredResources = [];
+ object.forcedNamespaceAliases = [];
+ object.handwrittenSignatures = [];
+ }
+ if (options.objects || options.defaults) {
+ object.renamedServices = {};
+ object.renamedResources = {};
+ }
+ if (options.defaults)
+ object.common = null;
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+ var keys2;
+ if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) {
+ object.renamedServices = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]];
+ }
+ if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) {
+ object.renamedResources = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]];
+ }
+ if (message.ignoredResources && message.ignoredResources.length) {
+ object.ignoredResources = [];
+ for (var j = 0; j < message.ignoredResources.length; ++j)
+ object.ignoredResources[j] = message.ignoredResources[j];
+ }
+ if (message.forcedNamespaceAliases && message.forcedNamespaceAliases.length) {
+ object.forcedNamespaceAliases = [];
+ for (var j = 0; j < message.forcedNamespaceAliases.length; ++j)
+ object.forcedNamespaceAliases[j] = message.forcedNamespaceAliases[j];
+ }
+ if (message.handwrittenSignatures && message.handwrittenSignatures.length) {
+ object.handwrittenSignatures = [];
+ for (var j = 0; j < message.handwrittenSignatures.length; ++j)
+ object.handwrittenSignatures[j] = message.handwrittenSignatures[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this DotnetSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.DotnetSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DotnetSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DotnetSettings
+ * @function getTypeUrl
+ * @memberof google.api.DotnetSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DotnetSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.DotnetSettings";
+ };
+
+ return DotnetSettings;
+ })();
+
+ api.RubySettings = (function() {
+
+ /**
+ * Properties of a RubySettings.
+ * @memberof google.api
+ * @interface IRubySettings
+ * @property {google.api.ICommonLanguageSettings|null} [common] RubySettings common
+ */
+
+ /**
+ * Constructs a new RubySettings.
+ * @memberof google.api
+ * @classdesc Represents a RubySettings.
+ * @implements IRubySettings
+ * @constructor
+ * @param {google.api.IRubySettings=} [properties] Properties to set
+ */
+ function RubySettings(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]];
+ }
+
+ /**
+ * RubySettings common.
+ * @member {google.api.ICommonLanguageSettings|null|undefined} common
+ * @memberof google.api.RubySettings
+ * @instance
+ */
+ RubySettings.prototype.common = null;
+
+ /**
+ * Creates a new RubySettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {google.api.IRubySettings=} [properties] Properties to set
+ * @returns {google.api.RubySettings} RubySettings instance
+ */
+ RubySettings.create = function create(properties) {
+ return new RubySettings(properties);
+ };
+
+ /**
+ * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {google.api.IRubySettings} message RubySettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RubySettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {google.api.IRubySettings} message RubySettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RubySettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RubySettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.RubySettings} RubySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RubySettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RubySettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.RubySettings} RubySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RubySettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RubySettings message.
+ * @function verify
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RubySettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RubySettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.RubySettings} RubySettings
+ */
+ RubySettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.RubySettings)
+ return object;
+ var message = new $root.google.api.RubySettings();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.api.RubySettings.common: object expected");
+ message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RubySettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {google.api.RubySettings} message RubySettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RubySettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.common = null;
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+ return object;
+ };
+
+ /**
+ * Converts this RubySettings to JSON.
+ * @function toJSON
+ * @memberof google.api.RubySettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RubySettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RubySettings
+ * @function getTypeUrl
+ * @memberof google.api.RubySettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RubySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.RubySettings";
+ };
+
+ return RubySettings;
+ })();
+
+ api.GoSettings = (function() {
+
+ /**
+ * Properties of a GoSettings.
+ * @memberof google.api
+ * @interface IGoSettings
+ * @property {google.api.ICommonLanguageSettings|null} [common] GoSettings common
+ */
+
+ /**
+ * Constructs a new GoSettings.
+ * @memberof google.api
+ * @classdesc Represents a GoSettings.
+ * @implements IGoSettings
+ * @constructor
+ * @param {google.api.IGoSettings=} [properties] Properties to set
+ */
+ function GoSettings(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]];
+ }
+
+ /**
+ * GoSettings common.
+ * @member {google.api.ICommonLanguageSettings|null|undefined} common
+ * @memberof google.api.GoSettings
+ * @instance
+ */
+ GoSettings.prototype.common = null;
+
+ /**
+ * Creates a new GoSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {google.api.IGoSettings=} [properties] Properties to set
+ * @returns {google.api.GoSettings} GoSettings instance
+ */
+ GoSettings.create = function create(properties) {
+ return new GoSettings(properties);
+ };
+
+ /**
+ * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {google.api.IGoSettings} message GoSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GoSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.common != null && Object.hasOwnProperty.call(message, "common"))
+ $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {google.api.IGoSettings} message GoSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GoSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GoSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.GoSettings} GoSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GoSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GoSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.GoSettings} GoSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GoSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GoSettings message.
+ * @function verify
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GoSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.common != null && message.hasOwnProperty("common")) {
+ var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+ if (error)
+ return "common." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GoSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.GoSettings} GoSettings
+ */
+ GoSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.GoSettings)
+ return object;
+ var message = new $root.google.api.GoSettings();
+ if (object.common != null) {
+ if (typeof object.common !== "object")
+ throw TypeError(".google.api.GoSettings.common: object expected");
+ message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GoSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {google.api.GoSettings} message GoSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GoSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.common = null;
+ if (message.common != null && message.hasOwnProperty("common"))
+ object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+ return object;
+ };
+
+ /**
+ * Converts this GoSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.GoSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GoSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GoSettings
+ * @function getTypeUrl
+ * @memberof google.api.GoSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GoSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.GoSettings";
+ };
+
+ return GoSettings;
+ })();
+
+ api.MethodSettings = (function() {
+
+ /**
+ * Properties of a MethodSettings.
+ * @memberof google.api
+ * @interface IMethodSettings
+ * @property {string|null} [selector] MethodSettings selector
+ * @property {google.api.MethodSettings.ILongRunning|null} [longRunning] MethodSettings longRunning
+ * @property {Array.|null} [autoPopulatedFields] MethodSettings autoPopulatedFields
+ */
+
+ /**
+ * Constructs a new MethodSettings.
+ * @memberof google.api
+ * @classdesc Represents a MethodSettings.
+ * @implements IMethodSettings
+ * @constructor
+ * @param {google.api.IMethodSettings=} [properties] Properties to set
+ */
+ function MethodSettings(properties) {
+ this.autoPopulatedFields = [];
+ 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]];
+ }
+
+ /**
+ * MethodSettings selector.
+ * @member {string} selector
+ * @memberof google.api.MethodSettings
+ * @instance
+ */
+ MethodSettings.prototype.selector = "";
+
+ /**
+ * MethodSettings longRunning.
+ * @member {google.api.MethodSettings.ILongRunning|null|undefined} longRunning
+ * @memberof google.api.MethodSettings
+ * @instance
+ */
+ MethodSettings.prototype.longRunning = null;
+
+ /**
+ * MethodSettings autoPopulatedFields.
+ * @member {Array.} autoPopulatedFields
+ * @memberof google.api.MethodSettings
+ * @instance
+ */
+ MethodSettings.prototype.autoPopulatedFields = $util.emptyArray;
+
+ /**
+ * Creates a new MethodSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {google.api.IMethodSettings=} [properties] Properties to set
+ * @returns {google.api.MethodSettings} MethodSettings instance
+ */
+ MethodSettings.create = function create(properties) {
+ return new MethodSettings(properties);
+ };
+
+ /**
+ * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {google.api.IMethodSettings} message MethodSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MethodSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.selector != null && Object.hasOwnProperty.call(message, "selector"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector);
+ if (message.longRunning != null && Object.hasOwnProperty.call(message, "longRunning"))
+ $root.google.api.MethodSettings.LongRunning.encode(message.longRunning, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.autoPopulatedFields != null && message.autoPopulatedFields.length)
+ for (var i = 0; i < message.autoPopulatedFields.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.autoPopulatedFields[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {google.api.IMethodSettings} message MethodSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MethodSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MethodSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.MethodSettings} MethodSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MethodSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.selector = reader.string();
+ break;
+ }
+ case 2: {
+ message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.autoPopulatedFields && message.autoPopulatedFields.length))
+ message.autoPopulatedFields = [];
+ message.autoPopulatedFields.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MethodSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.MethodSettings} MethodSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MethodSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MethodSettings message.
+ * @function verify
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MethodSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ if (!$util.isString(message.selector))
+ return "selector: string expected";
+ if (message.longRunning != null && message.hasOwnProperty("longRunning")) {
+ var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning);
+ if (error)
+ return "longRunning." + error;
+ }
+ if (message.autoPopulatedFields != null && message.hasOwnProperty("autoPopulatedFields")) {
+ if (!Array.isArray(message.autoPopulatedFields))
+ return "autoPopulatedFields: array expected";
+ for (var i = 0; i < message.autoPopulatedFields.length; ++i)
+ if (!$util.isString(message.autoPopulatedFields[i]))
+ return "autoPopulatedFields: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.MethodSettings} MethodSettings
+ */
+ MethodSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.MethodSettings)
+ return object;
+ var message = new $root.google.api.MethodSettings();
+ if (object.selector != null)
+ message.selector = String(object.selector);
+ if (object.longRunning != null) {
+ if (typeof object.longRunning !== "object")
+ throw TypeError(".google.api.MethodSettings.longRunning: object expected");
+ message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning);
+ }
+ if (object.autoPopulatedFields) {
+ if (!Array.isArray(object.autoPopulatedFields))
+ throw TypeError(".google.api.MethodSettings.autoPopulatedFields: array expected");
+ message.autoPopulatedFields = [];
+ for (var i = 0; i < object.autoPopulatedFields.length; ++i)
+ message.autoPopulatedFields[i] = String(object.autoPopulatedFields[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MethodSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {google.api.MethodSettings} message MethodSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MethodSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.autoPopulatedFields = [];
+ if (options.defaults) {
+ object.selector = "";
+ object.longRunning = null;
+ }
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ object.selector = message.selector;
+ if (message.longRunning != null && message.hasOwnProperty("longRunning"))
+ object.longRunning = $root.google.api.MethodSettings.LongRunning.toObject(message.longRunning, options);
+ if (message.autoPopulatedFields && message.autoPopulatedFields.length) {
+ object.autoPopulatedFields = [];
+ for (var j = 0; j < message.autoPopulatedFields.length; ++j)
+ object.autoPopulatedFields[j] = message.autoPopulatedFields[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this MethodSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.MethodSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MethodSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MethodSettings
+ * @function getTypeUrl
+ * @memberof google.api.MethodSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MethodSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.MethodSettings";
+ };
+
+ MethodSettings.LongRunning = (function() {
+
+ /**
+ * Properties of a LongRunning.
+ * @memberof google.api.MethodSettings
+ * @interface ILongRunning
+ * @property {google.protobuf.IDuration|null} [initialPollDelay] LongRunning initialPollDelay
+ * @property {number|null} [pollDelayMultiplier] LongRunning pollDelayMultiplier
+ * @property {google.protobuf.IDuration|null} [maxPollDelay] LongRunning maxPollDelay
+ * @property {google.protobuf.IDuration|null} [totalPollTimeout] LongRunning totalPollTimeout
+ */
+
+ /**
+ * Constructs a new LongRunning.
+ * @memberof google.api.MethodSettings
+ * @classdesc Represents a LongRunning.
+ * @implements ILongRunning
+ * @constructor
+ * @param {google.api.MethodSettings.ILongRunning=} [properties] Properties to set
+ */
+ function LongRunning(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]];
+ }
+
+ /**
+ * LongRunning initialPollDelay.
+ * @member {google.protobuf.IDuration|null|undefined} initialPollDelay
+ * @memberof google.api.MethodSettings.LongRunning
+ * @instance
+ */
+ LongRunning.prototype.initialPollDelay = null;
+
+ /**
+ * LongRunning pollDelayMultiplier.
+ * @member {number} pollDelayMultiplier
+ * @memberof google.api.MethodSettings.LongRunning
+ * @instance
+ */
+ LongRunning.prototype.pollDelayMultiplier = 0;
+
+ /**
+ * LongRunning maxPollDelay.
+ * @member {google.protobuf.IDuration|null|undefined} maxPollDelay
+ * @memberof google.api.MethodSettings.LongRunning
+ * @instance
+ */
+ LongRunning.prototype.maxPollDelay = null;
+
+ /**
+ * LongRunning totalPollTimeout.
+ * @member {google.protobuf.IDuration|null|undefined} totalPollTimeout
+ * @memberof google.api.MethodSettings.LongRunning
+ * @instance
+ */
+ LongRunning.prototype.totalPollTimeout = null;
+
+ /**
+ * Creates a new LongRunning instance using the specified properties.
+ * @function create
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {google.api.MethodSettings.ILongRunning=} [properties] Properties to set
+ * @returns {google.api.MethodSettings.LongRunning} LongRunning instance
+ */
+ LongRunning.create = function create(properties) {
+ return new LongRunning(properties);
+ };
+
+ /**
+ * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {google.api.MethodSettings.ILongRunning} message LongRunning message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LongRunning.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.initialPollDelay != null && Object.hasOwnProperty.call(message, "initialPollDelay"))
+ $root.google.protobuf.Duration.encode(message.initialPollDelay, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.pollDelayMultiplier != null && Object.hasOwnProperty.call(message, "pollDelayMultiplier"))
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.pollDelayMultiplier);
+ if (message.maxPollDelay != null && Object.hasOwnProperty.call(message, "maxPollDelay"))
+ $root.google.protobuf.Duration.encode(message.maxPollDelay, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.totalPollTimeout != null && Object.hasOwnProperty.call(message, "totalPollTimeout"))
+ $root.google.protobuf.Duration.encode(message.totalPollTimeout, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {google.api.MethodSettings.ILongRunning} message LongRunning message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LongRunning.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LongRunning message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.MethodSettings.LongRunning} LongRunning
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LongRunning.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.pollDelayMultiplier = reader.float();
+ break;
+ }
+ case 3: {
+ message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LongRunning message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.MethodSettings.LongRunning} LongRunning
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LongRunning.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LongRunning message.
+ * @function verify
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LongRunning.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) {
+ var error = $root.google.protobuf.Duration.verify(message.initialPollDelay);
+ if (error)
+ return "initialPollDelay." + error;
+ }
+ if (message.pollDelayMultiplier != null && message.hasOwnProperty("pollDelayMultiplier"))
+ if (typeof message.pollDelayMultiplier !== "number")
+ return "pollDelayMultiplier: number expected";
+ if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) {
+ var error = $root.google.protobuf.Duration.verify(message.maxPollDelay);
+ if (error)
+ return "maxPollDelay." + error;
+ }
+ if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) {
+ var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout);
+ if (error)
+ return "totalPollTimeout." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a LongRunning message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.MethodSettings.LongRunning} LongRunning
+ */
+ LongRunning.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.MethodSettings.LongRunning)
+ return object;
+ var message = new $root.google.api.MethodSettings.LongRunning();
+ if (object.initialPollDelay != null) {
+ if (typeof object.initialPollDelay !== "object")
+ throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected");
+ message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay);
+ }
+ if (object.pollDelayMultiplier != null)
+ message.pollDelayMultiplier = Number(object.pollDelayMultiplier);
+ if (object.maxPollDelay != null) {
+ if (typeof object.maxPollDelay !== "object")
+ throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected");
+ message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay);
+ }
+ if (object.totalPollTimeout != null) {
+ if (typeof object.totalPollTimeout !== "object")
+ throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected");
+ message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LongRunning message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {google.api.MethodSettings.LongRunning} message LongRunning
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LongRunning.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.initialPollDelay = null;
+ object.pollDelayMultiplier = 0;
+ object.maxPollDelay = null;
+ object.totalPollTimeout = null;
+ }
+ if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay"))
+ object.initialPollDelay = $root.google.protobuf.Duration.toObject(message.initialPollDelay, options);
+ if (message.pollDelayMultiplier != null && message.hasOwnProperty("pollDelayMultiplier"))
+ object.pollDelayMultiplier = options.json && !isFinite(message.pollDelayMultiplier) ? String(message.pollDelayMultiplier) : message.pollDelayMultiplier;
+ if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay"))
+ object.maxPollDelay = $root.google.protobuf.Duration.toObject(message.maxPollDelay, options);
+ if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout"))
+ object.totalPollTimeout = $root.google.protobuf.Duration.toObject(message.totalPollTimeout, options);
+ return object;
+ };
+
+ /**
+ * Converts this LongRunning to JSON.
+ * @function toJSON
+ * @memberof google.api.MethodSettings.LongRunning
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LongRunning.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LongRunning
+ * @function getTypeUrl
+ * @memberof google.api.MethodSettings.LongRunning
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LongRunning.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.MethodSettings.LongRunning";
+ };
+
+ return LongRunning;
+ })();
+
+ return MethodSettings;
+ })();
+
+ /**
+ * ClientLibraryOrganization enum.
+ * @name google.api.ClientLibraryOrganization
+ * @enum {number}
+ * @property {number} CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED=0 CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED value
+ * @property {number} CLOUD=1 CLOUD value
+ * @property {number} ADS=2 ADS value
+ * @property {number} PHOTOS=3 PHOTOS value
+ * @property {number} STREET_VIEW=4 STREET_VIEW value
+ * @property {number} SHOPPING=5 SHOPPING value
+ * @property {number} GEO=6 GEO value
+ * @property {number} GENERATIVE_AI=7 GENERATIVE_AI value
+ */
+ api.ClientLibraryOrganization = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CLOUD"] = 1;
+ values[valuesById[2] = "ADS"] = 2;
+ values[valuesById[3] = "PHOTOS"] = 3;
+ values[valuesById[4] = "STREET_VIEW"] = 4;
+ values[valuesById[5] = "SHOPPING"] = 5;
+ values[valuesById[6] = "GEO"] = 6;
+ values[valuesById[7] = "GENERATIVE_AI"] = 7;
+ return values;
+ })();
+
+ /**
+ * ClientLibraryDestination enum.
+ * @name google.api.ClientLibraryDestination
+ * @enum {number}
+ * @property {number} CLIENT_LIBRARY_DESTINATION_UNSPECIFIED=0 CLIENT_LIBRARY_DESTINATION_UNSPECIFIED value
+ * @property {number} GITHUB=10 GITHUB value
+ * @property {number} PACKAGE_MANAGER=20 PACKAGE_MANAGER value
+ */
+ api.ClientLibraryDestination = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED"] = 0;
+ values[valuesById[10] = "GITHUB"] = 10;
+ values[valuesById[20] = "PACKAGE_MANAGER"] = 20;
+ return values;
+ })();
+
+ /**
+ * LaunchStage enum.
+ * @name google.api.LaunchStage
+ * @enum {number}
+ * @property {number} LAUNCH_STAGE_UNSPECIFIED=0 LAUNCH_STAGE_UNSPECIFIED value
+ * @property {number} UNIMPLEMENTED=6 UNIMPLEMENTED value
+ * @property {number} PRELAUNCH=7 PRELAUNCH value
+ * @property {number} EARLY_ACCESS=1 EARLY_ACCESS value
+ * @property {number} ALPHA=2 ALPHA value
+ * @property {number} BETA=3 BETA value
+ * @property {number} GA=4 GA value
+ * @property {number} DEPRECATED=5 DEPRECATED value
+ */
+ api.LaunchStage = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0;
+ values[valuesById[6] = "UNIMPLEMENTED"] = 6;
+ values[valuesById[7] = "PRELAUNCH"] = 7;
+ values[valuesById[1] = "EARLY_ACCESS"] = 1;
+ values[valuesById[2] = "ALPHA"] = 2;
+ values[valuesById[3] = "BETA"] = 3;
+ values[valuesById[4] = "GA"] = 4;
+ values[valuesById[5] = "DEPRECATED"] = 5;
+ return values;
+ })();
+
+ /**
+ * FieldBehavior enum.
+ * @name google.api.FieldBehavior
+ * @enum {number}
+ * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value
+ * @property {number} OPTIONAL=1 OPTIONAL value
+ * @property {number} REQUIRED=2 REQUIRED value
+ * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value
+ * @property {number} INPUT_ONLY=4 INPUT_ONLY value
+ * @property {number} IMMUTABLE=5 IMMUTABLE value
+ * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value
+ * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value
+ * @property {number} IDENTIFIER=8 IDENTIFIER value
+ */
+ api.FieldBehavior = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "OPTIONAL"] = 1;
+ values[valuesById[2] = "REQUIRED"] = 2;
+ values[valuesById[3] = "OUTPUT_ONLY"] = 3;
+ values[valuesById[4] = "INPUT_ONLY"] = 4;
+ values[valuesById[5] = "IMMUTABLE"] = 5;
+ values[valuesById[6] = "UNORDERED_LIST"] = 6;
+ values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7;
+ values[valuesById[8] = "IDENTIFIER"] = 8;
+ return values;
+ })();
+
+ return api;
+ })();
+
+ google.protobuf = (function() {
+
+ /**
+ * Namespace protobuf.
+ * @memberof google
+ * @namespace
+ */
+ var protobuf = {};
+
+ protobuf.FileDescriptorSet = (function() {
+
+ /**
+ * Properties of a FileDescriptorSet.
+ * @memberof google.protobuf
+ * @interface IFileDescriptorSet
+ * @property {Array.|null} [file] FileDescriptorSet file
+ */
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileDescriptorSet.
+ * @implements IFileDescriptorSet
+ * @constructor
+ * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set
+ */
+ function FileDescriptorSet(properties) {
+ this.file = [];
+ 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]];
+ }
+
+ /**
+ * FileDescriptorSet file.
+ * @member {Array.} file
+ * @memberof google.protobuf.FileDescriptorSet
+ * @instance
+ */
+ FileDescriptorSet.prototype.file = $util.emptyArray;
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance
+ */
+ FileDescriptorSet.create = function create(properties) {
+ return new FileDescriptorSet(properties);
+ };
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorSet.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.file != null && message.file.length)
+ for (var i = 0; i < message.file.length; ++i)
+ $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorSet.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.file && message.file.length))
+ message.file = [];
+ message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @function verify
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FileDescriptorSet.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.file != null && message.hasOwnProperty("file")) {
+ if (!Array.isArray(message.file))
+ return "file: array expected";
+ for (var i = 0; i < message.file.length; ++i) {
+ var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]);
+ if (error)
+ return "file." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ */
+ FileDescriptorSet.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FileDescriptorSet)
+ return object;
+ var message = new $root.google.protobuf.FileDescriptorSet();
+ if (object.file) {
+ if (!Array.isArray(object.file))
+ throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");
+ message.file = [];
+ for (var i = 0; i < object.file.length; ++i) {
+ if (typeof object.file[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
+ message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FileDescriptorSet.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.file = [];
+ if (message.file && message.file.length) {
+ object.file = [];
+ for (var j = 0; j < message.file.length; ++j)
+ object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FileDescriptorSet
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FileDescriptorSet.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @function getTypeUrl
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FileDescriptorSet";
+ };
+
+ return FileDescriptorSet;
+ })();
+
+ /**
+ * Edition enum.
+ * @name google.protobuf.Edition
+ * @enum {number}
+ * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value
+ * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value
+ * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value
+ * @property {number} EDITION_2023=1000 EDITION_2023 value
+ * @property {number} EDITION_2024=1001 EDITION_2024 value
+ * @property {number} EDITION_1_TEST_ONLY=1 EDITION_1_TEST_ONLY value
+ * @property {number} EDITION_2_TEST_ONLY=2 EDITION_2_TEST_ONLY value
+ * @property {number} EDITION_99997_TEST_ONLY=99997 EDITION_99997_TEST_ONLY value
+ * @property {number} EDITION_99998_TEST_ONLY=99998 EDITION_99998_TEST_ONLY value
+ * @property {number} EDITION_99999_TEST_ONLY=99999 EDITION_99999_TEST_ONLY value
+ * @property {number} EDITION_MAX=2147483647 EDITION_MAX value
+ */
+ protobuf.Edition = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "EDITION_UNKNOWN"] = 0;
+ values[valuesById[998] = "EDITION_PROTO2"] = 998;
+ values[valuesById[999] = "EDITION_PROTO3"] = 999;
+ values[valuesById[1000] = "EDITION_2023"] = 1000;
+ values[valuesById[1001] = "EDITION_2024"] = 1001;
+ values[valuesById[1] = "EDITION_1_TEST_ONLY"] = 1;
+ values[valuesById[2] = "EDITION_2_TEST_ONLY"] = 2;
+ values[valuesById[99997] = "EDITION_99997_TEST_ONLY"] = 99997;
+ values[valuesById[99998] = "EDITION_99998_TEST_ONLY"] = 99998;
+ values[valuesById[99999] = "EDITION_99999_TEST_ONLY"] = 99999;
+ values[valuesById[2147483647] = "EDITION_MAX"] = 2147483647;
+ return values;
+ })();
+
+ protobuf.FileDescriptorProto = (function() {
+
+ /**
+ * Properties of a FileDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IFileDescriptorProto
+ * @property {string|null} [name] FileDescriptorProto name
+ * @property {string|null} ["package"] FileDescriptorProto package
+ * @property {Array.|null} [dependency] FileDescriptorProto dependency
+ * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency
+ * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency
+ * @property {Array.|null} [messageType] FileDescriptorProto messageType
+ * @property {Array.|null} [enumType] FileDescriptorProto enumType
+ * @property {Array.|null} [service] FileDescriptorProto service
+ * @property {Array.|null} [extension] FileDescriptorProto extension
+ * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options
+ * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo
+ * @property {string|null} [syntax] FileDescriptorProto syntax
+ * @property {google.protobuf.Edition|null} [edition] FileDescriptorProto edition
+ */
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileDescriptorProto.
+ * @implements IFileDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set
+ */
+ function FileDescriptorProto(properties) {
+ this.dependency = [];
+ this.publicDependency = [];
+ this.weakDependency = [];
+ this.messageType = [];
+ this.enumType = [];
+ this.service = [];
+ this.extension = [];
+ 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]];
+ }
+
+ /**
+ * FileDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.name = "";
+
+ /**
+ * FileDescriptorProto package.
+ * @member {string} package
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype["package"] = "";
+
+ /**
+ * FileDescriptorProto dependency.
+ * @member {Array.} dependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.dependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto publicDependency.
+ * @member {Array.} publicDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.publicDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto weakDependency.
+ * @member {Array.} weakDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.weakDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto messageType.
+ * @member {Array.} messageType
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.messageType = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto enumType.
+ * @member {Array.} enumType
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.enumType = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto service.
+ * @member {Array.} service
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.service = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto extension.
+ * @member {Array.} extension
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.extension = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto options.
+ * @member {google.protobuf.IFileOptions|null|undefined} options
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.options = null;
+
+ /**
+ * FileDescriptorProto sourceCodeInfo.
+ * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.sourceCodeInfo = null;
+
+ /**
+ * FileDescriptorProto syntax.
+ * @member {string} syntax
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.syntax = "";
+
+ /**
+ * FileDescriptorProto edition.
+ * @member {google.protobuf.Edition} edition
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.edition = 0;
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance
+ */
+ FileDescriptorProto.create = function create(properties) {
+ return new FileDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorProto.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["package"] != null && Object.hasOwnProperty.call(message, "package"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]);
+ if (message.dependency != null && message.dependency.length)
+ for (var i = 0; i < message.dependency.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]);
+ if (message.messageType != null && message.messageType.length)
+ for (var i = 0; i < message.messageType.length; ++i)
+ $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.enumType != null && message.enumType.length)
+ for (var i = 0; i < message.enumType.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.service != null && message.service.length)
+ for (var i = 0; i < message.service.length; ++i)
+ $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.extension != null && message.extension.length)
+ for (var i = 0; i < message.extension.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo"))
+ $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.publicDependency != null && message.publicDependency.length)
+ for (var i = 0; i < message.publicDependency.length; ++i)
+ writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]);
+ if (message.weakDependency != null && message.weakDependency.length)
+ for (var i = 0; i < message.weakDependency.length; ++i)
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]);
+ if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax);
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
+ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorProto.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message["package"] = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.dependency && message.dependency.length))
+ message.dependency = [];
+ message.dependency.push(reader.string());
+ break;
+ }
+ case 10: {
+ if (!(message.publicDependency && message.publicDependency.length))
+ message.publicDependency = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.publicDependency.push(reader.int32());
+ } else
+ message.publicDependency.push(reader.int32());
+ break;
+ }
+ case 11: {
+ if (!(message.weakDependency && message.weakDependency.length))
+ message.weakDependency = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.weakDependency.push(reader.int32());
+ } else
+ message.weakDependency.push(reader.int32());
+ break;
+ }
+ case 4: {
+ if (!(message.messageType && message.messageType.length))
+ message.messageType = [];
+ message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.enumType && message.enumType.length))
+ message.enumType = [];
+ message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.service && message.service.length))
+ message.service = [];
+ message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ if (!(message.extension && message.extension.length))
+ message.extension = [];
+ message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 8: {
+ message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 12: {
+ message.syntax = reader.string();
+ break;
+ }
+ case 14: {
+ message.edition = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {Object.